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 💡
- 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🚀.
- 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🔗.
View currently available assistants
import openplugins
data = openplugins.DataInfo()
print(data.get_all_assistants_info())
Delete currently available assistants
import openplugins
data = openplugins.DataInfo()
data.delete_assistant(assistant_id = 'cf1f114a-019c-4e36-a8d4-681f5027ef8c')
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
Built Distribution
File details
Details for the file openplugins-0.1.8.tar.gz
.
File metadata
- Download URL: openplugins-0.1.8.tar.gz
- Upload date:
- Size: 17.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50c5f7dfcff55f58f383574d9b211a712d761ce18b0aff95474dceb8ca65dd39 |
|
MD5 | b7349e991d50b67b6eb479de5682ab69 |
|
BLAKE2b-256 | 373463d381afde39640eaae6b171638382f69804516eb2833200f3147572a3e9 |
File details
Details for the file openplugins-0.1.8-py3-none-any.whl
.
File metadata
- Download URL: openplugins-0.1.8-py3-none-any.whl
- Upload date:
- Size: 17.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 966f06ec90dc8532f0f1f762a3cde3d6492c524fdc92549cce3c1bdb602bdc1b |
|
MD5 | ec52b8a170cfd03e54112cf257260893 |
|
BLAKE2b-256 | 0759e29f3fbbd06c7a968a9b39632ad9f6e7587174738da86e5be41afb20431f |