Adapter of the most popular NLU frameworks to build conversational agents, chatbots or virtual assistants. It is based on a REST API built with Fast API that communicates with Rasa, DialogFlow, IBM Watson and Azure.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
See Provider Selection Service for Conversational AI Agent Platforms docs or Provider Selection Service for Conversational AI Agent Platforms redoc.
Common adapter of the most popular NLU frameworks to build conversational agents, chatbots or virtual assistants. It is based on a REST API built with Fast API that communicates with Rasa, DialogFlow, IBM Watson and Azure.
To get a local copy up and running follow these simple steps.
This the list of packages you need to use the software and how to install them.
- python3 and pip
- docker and docker-comnpose (optional)
- heroku-cli (optional)
- ngrok (optional)
# Install ngrok via Snap
snap install ngrok
# Install ngrok via Apt
curl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc | sudo tee
/etc/apt/trusted.gpg.d/ngrok.asc >/dev/null && echo "deb
https://ngrok-agent.s3.amazonaws.com buster main" | sudo tee
/etc/apt/sources.list.d/ngrok.list && sudo apt update && sudo apt
install ngrok- Clone the repo
git clone https://gitlab.com/chatb0ts/chatbots-adapter.git- Create virtual environment and activate it
python3 -m venv ./venv
source ./venv/bin/activate- Install pip packages
pip install -r requirements.txtStart Provider Selection Service with Docker (recommended):
docker-compose up --buildOr start Fast API local server with (requires a PostgreSQL database):
uvicorn app.main:app --reloadOpen a browser and navigate to http://localhost:8000/.
Start ngrok server with:
ngrok http http://127.0.0.1:8000Run tests:
docker exec -it chatbots-adapter venv/bin/python3.10 -m pytest
Create an app:
heroku apps:create -a your-name-chatbots-adapter --region euSet up manually the config vars of .env in Heroku.
Push and release the project to Heroku:
heroku container:push web -a chatbots-adapter --context-path .
heroku container:release web -a your-name-chatbots-adapterSee logs of Heroku app:
heroku logs --tail -a your-name-chatbots-adapterFor more examples, please refer to the Documentation
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Merge Request
- Create a new merge request
- Automatically close issues from merge requests
- Enable merge request approvals
- Automatically merge when pipeline succeeds
If you want to freeze your dependencies in requirements.txt, just run:
venv/bin/pip freeze > requirements.txtDistributed under the AGPL License. See LICENSE for more information.
Your Name - @twitter_handle - email
Project Link: https://gitlab.com/chatb0ts/chatbots-adapter

