Skip to content

dr00-eth/StreamBotAPI

Repository files navigation

StreamBotAPI

StreamBotAPI is a Python package that provides a simple Flask-based API for interacting with the StreamBot which is a wrapper of OpenAI's ChatGPT.

Installation

StreamBotAPI can be installed using pip:

pip install streambot-api

Usage

To use StreamBotAPI, first initialize an instance of the StreamBot class from the streambot package:

from streambot import StreamBot

streambot = StreamBot(
    openai_key='your_openai_key',
    bot_name='your_bot_name',
    genesis_prompt='You are a helpful translator.'
)

You can then create an instance of the StreamBotAPI class by passing in the initialized StreamBot object:

from streambot_api import StreamBotAPI

server = StreamBotAPI(streambot, host='127.0.0.1', port=8080, origins=['http://localhost:3000', 'https://myapp.com'])
server.start()

This will start the Flask app with the specified configuration options and routes.

Configuration Options

The StreamBotAPI class takes the following configuration options:

  • streambot: An instance of the StreamBot class from the streambot package.
  • host: The hostname to listen on. Defaults to 0.0.0.0.
  • port: The port of the web server. Defaults to 80.
  • origins: A list of allowed origins for CORS. Defaults to ['*'].

Routes

The following routes are available:

GET /api/getmessages/<user_id>

Returns a JSON object containing all messages for the specified user.

POST /api/messages

Handles incoming chat messages from the user. Expects a JSON payload with the following fields:

connection_id: A unique ID for the user. message: The message from the user. Returns a JSON object containing all messages for the user.

POST /api/newchat

Resets the chat history for the specified user. Expects a JSON payload with the following field:

connection_id: A unique ID for the user. Returns a JSON object with a value of true.

License

This package is licensed under the MIT license. See the LICENSE file for more details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages