Skip to main content

An open-source project aimed at building an open and diversified ecosystem for chatbot plugins.

Project description

Open-ChatGPT-Plugins 😎

Read this in other languages: English, 中文.

Open-ChatGPT-Plugins is an open-source project🌟 aimed at building an open and diverse ecosystem of chatbot plugins. This project enables developers to easily add new functionalities and interactive experiences to the ChatGPT model✨.

Background 📚

At the Developer Conference, OpenAI introduced GPT-4 Turbo, proposing the concept of "Assistants". This was seen by developers as a plugin marketplace for the general public version (non-plugin developers). With the increased context length of GPT-4 Turbo and its high comprehension ability, we can replicate the capabilities of ChatGPT-Plugins, thus building an open-source local version of ChatGPT-Plugins.

Features 💡

  1. Unlike other tool projects, this project is fully compatible with the ChatGPT-Plugins API service. This means that if you have previously written an API for ChatGPT-Plugins, you can directly interface with the previous API service using this project, without the need for redevelopment🚀.
  2. Experience Plugins services without purchasing ChatGPT Plus🎉.

Installation 🔧

To install the necessary packages for this plugin, run the following command:

pip install openplugins

Usage 🖥️

  • First method: Upload the API's YAML file
import openplugins
assistant = openplugins.Assistants(yaml_file_path='../openai.yaml', tools_model='gpt-4-1106-preview', openai_api_key='sk-xxxx')
print(assistant.run('Please check the historical stock data of Guizhou Maotai for yesterday'))
print(assistant.id)
  • Second method: Use via Assistant ID
import openplugins
assistant = openplugins.Assistants(assistant_id='eafa9807-7cff-4afb-b069-ce3437c076fb', tools_model='gpt-4-1106-preview', openai_api_key='sk-xxxx')
print(assistant.run('Please check the historical stock data of Guizhou Maotai for yesterday'))
  • Third method: Update the YAML file
import openplugins
assistant = openplugins.Assistants(yaml_file_path='openai.yaml', assistant_id='eafa9807-7cff-4afb-b069-ce3437c076fb', tools_model='gpt-4-1106-preview', openai_api_key='sk-xxxx')
print(assistant.run('Please check the historical stock data of Guizhou Maotai for yesterday'))

Note: The API service must be run first. For the API service, refer to the StockMarketAssistant project🔗.

Principle 🤖

This project replicates ChatGPT-Plugins and requires a YAML file to describe the interface, with one YAML corresponding to the initialization of an Assistant. The main process includes:

  • Reading the YAML file and creating an Assistant based on the file description.
  • Starting a thread.
  • First, recommend tools.
  • Formulate a plan based on the recommendation list.
  • Call the services step by step according to the plan.
  • Generate the final result by combining the results of each step.

TODO List:

  • Check if the YAML file meets requirements (To be completed)📝.
  • Integrate Streamlit UI (To be completed)🖌️.

📝 License

MIT License Disclaimer: We share this code for academic purposes under the MIT educational license.

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

openplugins-0.1.5.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

openplugins-0.1.5-py3-none-any.whl (15.4 kB view details)

Uploaded Python 3

File details

Details for the file openplugins-0.1.5.tar.gz.

File metadata

  • Download URL: openplugins-0.1.5.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for openplugins-0.1.5.tar.gz
Algorithm Hash digest
SHA256 25a2bc46d5d6c37d1fc28bb7d0c516f427a54aae4328be08533c106f3ac50488
MD5 e497cb88835b8c35671ba1833bd7b73d
BLAKE2b-256 5dbcb64dc281961d4be5c3597e86d78a8d79c064b737b4bae4d4a819cab4989d

See more details on using hashes here.

File details

Details for the file openplugins-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: openplugins-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 15.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for openplugins-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 875cbc9cf400027ecd3fc72adafe0af54e608f0e0a8d5d85eada981694f4a7cc
MD5 1e518340391e0eae7515051bce5ae3aa
BLAKE2b-256 5133415f0505f4a4611c0a7b024f2205e153d97daa2e22cf787f970dca7ef441

See more details on using hashes here.

Supported by

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