wit-core
wit-core is a message processor for wit.ai.
Handle your intents by defining actions and responses.
Getting Started
Prerequisites
- Python 3.6+
Install wheel package.
pip install wheel
Instalation
pip install wit-core
Documentation
Domain
The domain.yaml defines how the chatbot should operate according to the definition of the intents.
In the domain you specify the intents, actions and responses.
greet:
response:
text: "Hello, there!"
temperature_set:
action: action_temperature
response:
text: "The temperature was changed to {action_return}"
order_pizza:
action: action_pizza
response:
template: template_pizza
Actions
Actions are ways for you to write your own codes. For example, manipulating entities, make an API call, or to query a database.
def custom_action(resource):
temperature = resource.get_entity("wit$temperature")
return temperature.value
The resource parameter allows accessing the properties of the wit.ai response.
Resource properties:
get_latest_message
Returns the message sent by the user.
get_intent
Returns the properties of the intent.
get_entity("entity_name")
Returns the properties of the specified entity.
get_trait("trait_name")
Returns to the properties of the specified trait.
Responses
It is possible to define two types of responses: plain text and templates.
Text
You can directly in the domain specify in the response a text response quickly.
Templates
Templates serve to give you the possibility to add some logic to the answer. Templates receive the return value of an action.
def custom_template(action_return):
# Template logic...
return "Some response"
Command Line Interface
wit-core init
Creates the directory structure.
wit-core shell
Loads the domain and allows interaction with the chatbot.
wit-core http-server
Creates a http server that can be used for custom integrations. They provide a URL where you can post messages.
wit-core websocket-server
Create a websocket server for real-time interaction with the chatbot. They provide an endpoint where you can send messages.
How to use
Creates the folder structure needed for the project.
wit-core init
Create a .env at the root of the application with your secret wit.ai key.
# Wit.ai
ACCESS_TOKEN=YOUR-SECRET-KEY
Interact with the chatbot.
wit-core shell
Contributing
- Fork it (https://github.com/yourname/yourproject/fork)
- Create your feature branch (
git checkout -b feature/fooBar) - Commit your changes (
git commit -am 'Add some fooBar') - Push to the branch (
git push origin feature/fooBar) - Create a new Pull Request
Development
Clone the repository:
git clone https://github.com/LucasOliveiraS/wit-core
Install the dependencies:
poetry install
Run tests:
make tests
Metadata
Release files for wit-core 0.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| wit-core-0.1.6.tar.gz | 11.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wit_core-0.1.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 30.0 kB
Release files / wit-core-0.1.6.tar.gz
| Download URL | wit-core-0.1.6.tar.gz |
|---|---|
| Size | 11.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
42509ed0dcf75388f2592177d0e3f8fd699335d2e42b71829f9581c7462380a4
|
|
BLAKE2b-256 checksum How to use checksums |
3d272284d833cf1b3c059439ef3d36ed42e8f8e0137afb6f3ce955b6fd42248c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.5 CPython/3.8.10 Linux/5.11.0-41-generic
|
Release files / wit_core-0.1.6-py3-none-any.whl
| Download URL | wit_core-0.1.6-py3-none-any.whl |
|---|---|
| Size | 18.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a16ecde4c2151973e6a82ee53d0384f4642886fea3d0c1abe15a292e1c7774f0
|
|
BLAKE2b-256 checksum How to use checksums |
97fff345479bacea6bbaa3b97890064b258f12d638815e74ff14fe4d04031f71
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.5 CPython/3.8.10 Linux/5.11.0-41-generic
|