Skip to main content

Client to access any chatbot compliant with the Alliance for Open Chatbot standard

Project description

Open Chat Bot Client package

This Python package contains utilities that allow you to find, access, and use the bots that are compliant with the Alliance for Open Chatbot standard. The package is designed for the Python 3 environments.

The implementation is based on the standard defined by the Alliance.

Authors

The initial implementation is made by Konverso in 2020 by Alexander Danilov and Amedee Potier (amedee.potier@konverso.ai).

See also

License

This package is released under the MIT license. To learn more about it, view the LICENSE file in this folder.

Installation

You can install this package using pip3. To do so, run the following command:

pip3 install -e git+https://github.com/konverso-ai/open-chatbot-py-client.git#egg=AllianceForOpenChatBot

Usage notes

Getting a response from a chatbot

The sample below demonstrates how to get a chat local stub, send a sentence to it, and retrieve the bot response.

from openchatbotclient import Client 
client = Client('https://callbot.konverso.ai', 443) 
response = client.ask("john", "hello", lang="en") 
print(response) 

The response you get is a JSON file using the standard Alliance format.

Looking up an enterprise bot

The standard includes the concept of bot registration. Companies can register their bot with the help of a standard JSON descriptor that is available at the following link: /.well-known/openchatbot-configuration.

Use the "repository" class to retrieve a descriptor instance:

from openchatbotclient import Repository
repo = Repository()

bot_descriptor = repo.get_descriptor("openchatbot.io")
print("Host: ", bot_descriptor.get_host())

Alternatively, you can use the "client" instance, where you can invoke multiple chat requests:

bot = repo.get_client("openchatbot.io")
print("Client: ", bot)

Then you can send chat text to these bots:

response = bot.ask("john", "hello", lang="en")
print(response)

Querying multiple bots

You can interact with multiple remote bots and manage multiple responses. This use case is demonstrated in the sample below.

  1. Create a second bot. This time it is done by an explicit declaration:
from openchatbotclient import Client
bot_konverso = Client('https://callbot.konverso.ai', 443)
  1. Create a group with these two bots:
from openchatbotclient import ClientGroup

bots = ClientGroup()
bots.append(bot_konverso)
bots.append(bot_alliance)
  1. Send user input to all the bots in this group:
responses = bots.ask("amedee", "hello", lang="en")
print("Found response of size:", len(responses))
  1. You get the response_group object. Now you can use utilities to extract the content of interest from this object.

Get one response:

response = responses.get_first()
   if response:
      print("Got first response from: ", response.get_client(), " : ", response.get_text())
   else:
      print("No response found !")

Print all available responses:

print("All reponses found:")
print(responses.get_all_string(response_format=" - {client}: {text}", separator="\n"))

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

open-chatbot-py-client-0.1.0.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

open_chatbot_py_client-0.1.0-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

File details

Details for the file open-chatbot-py-client-0.1.0.tar.gz.

File metadata

  • Download URL: open-chatbot-py-client-0.1.0.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.22.0 setuptools/51.1.1 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.8

File hashes

Hashes for open-chatbot-py-client-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a5680dad7b1087637a97a0d4afb763d31b9c0abed1a0c2100fc42b56782ffdb2
MD5 c134673361a760caf0db1867d117ea41
BLAKE2b-256 dbd695be2a5987f65f97adffee0117abe88344439b79e26d686d02a89966180f

See more details on using hashes here.

File details

Details for the file open_chatbot_py_client-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: open_chatbot_py_client-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 15.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.22.0 setuptools/51.1.1 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.8

File hashes

Hashes for open_chatbot_py_client-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a7b633b93967cf1f947aeb972129c4aff607d44ea716584fa5ed6b17965551ea
MD5 ef78e5613e84d48819f7f92913d12f12
BLAKE2b-256 fd2b343fe6ffbf285a8bcaaec0718dd079219fb07e9b6bbd3f6f2d0e32cb6352

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page