Skip to content

adurrr/chatbots-adapter

Repository files navigation

Provider Selection Service for Conversational AI Agent Platforms

Build AGPL License


Logo

Provider Selection Service for Conversational AI Agent Platforms

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

Table of Contents

About The Project

See Provider Selection Service for Conversational AI Agent Platforms docs or Provider Selection Service for Conversational AI Agent Platforms redoc.

Asoka Screen Shot

Erwin Screen Shot

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.

Built With

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

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

Installation

  1. Clone the repo
git clone https://gitlab.com/chatb0ts/chatbots-adapter.git
  1. Create virtual environment and activate it
python3 -m venv ./venv
source ./venv/bin/activate
  1. Install pip packages
pip install -r requirements.txt

Usage

Serve in localhost

Start Provider Selection Service with Docker (recommended):

docker-compose up --build

Or start Fast API local server with (requires a PostgreSQL database):

uvicorn app.main:app --reload

Open a browser and navigate to http://localhost:8000/.

Start ngrok server with:

ngrok http http://127.0.0.1:8000

Run tests:

docker exec -it chatbots-adapter venv/bin/python3.10 -m pytest

Serve in Heroku

Create an app:

heroku apps:create -a your-name-chatbots-adapter --region eu

Set 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-adapter

See logs of Heroku app:

heroku logs --tail -a your-name-chatbots-adapter

For more examples, please refer to the Documentation

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

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.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Merge Request

If you want to freeze your dependencies in requirements.txt, just run:

venv/bin/pip freeze > requirements.txt

License

Distributed under the AGPL License. See LICENSE for more information.

Contact

Your Name - @twitter_handle - email

Project Link: https://gitlab.com/chatb0ts/chatbots-adapter

Acknowledgements

About

Adaptor 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 Bot Services.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages