Getting Started
There are several ways to build skills, outlined below. Please contact Soul Machines should you wish to make your skill available in Digital DNA Studio for use in your projects.
There are a range of Skill Types that encompass a range of roles we expect skills to play within an interaction. You may wish to review this documentation to determine how your skill will fit into an interaction with a Digital Person prior to building one.
Skill Building Options
Existing NLP Platform
You may use any of the existing NLP Platforms which the Soul Machines Platform supports to build a skill.
- Classic Watson Assistant
- New Watson Assistant
- Dialogflow ES
- Dialogflow CX
- Azure Bot Service
- Amazon Lex
- Kore AI
Using the Skills API
The Skills Webhook REST API allows any service implementing it to be easily called by the Soul Machines Platform.
If you need to support more advanced interactions, you may look into the Skills Async API, which allows for asynchronous messaging between the user and the Digital Person.
Alongside this, we have Python and Node SDKs which make it easy to implement services conforming to our API.
Using an Orchestration Server
Orchestration servers utilize a WebSocket connection to control the Digital Person. Documentation on the implementation of a compatible WebSocket service can be found on the Soul Machines Knowledge Base.
An Orchestration server can be used with out-of-the-box skills (except for a Base Conversation Skill Type)
Supported Features
Skills built using the options listed above support a range of features when used with the Digital DNA Studio Default UI. Please see the Soul Machines Knowledge Base for more information.
Resources
To assist with the development of skills, we have implemented packages in NodeJS and Python which contain models of the requests and responses required by each endpoint, along with some utility functions.
We also have template repositories containing example code in both Python and NodeJS that consume the above SDKs. Please contact us for access to the template code.