英语|中国人
ModelMerge是一个强大的图书馆,旨在简化和统一使用不同的大型语言模型,包括GPT-3.5/4/4 Turbo/4O,O1-Preview/O1-Mini,Dall-E 3,Claude2/3/3.5,Gemini1.5 Pro/Flash,Pro/Flash,flash,flash,vertex ai(Claude,Gemini),duckduckgo go claude,duckduckgo和Groq和Groq。该库支持GPT格式功能调用,并具有内置的Google搜索和URL摘要功能,从而大大提高了模型的实用性和灵活性。
以下是如何在Python项目中快速集成和使用Modelmerge的指南。
首先,您需要安装Modelmerge。它可以直接通过PIP安装:
pip install modelmerge以下是一个简单的示例,演示如何使用Modelmerge请求GPT-4模型并处理返回的流数据:
from ModelMerge import chatgpt
# Initialize the model, set the API key and the selected model
bot = chatgpt ( api_key = "{YOUR_API_KEY}" , engine = "gpt-4o" )
# Get response
result = bot . ask ( "python list use" )
# Send request and get streaming response in real-time
for text in bot . ask_stream ( "python list use" ):
print ( text , end = "" )
# Disable all plugins
bot = chatgpt ( api_key = "{YOUR_API_KEY}" , engine = "gpt-4o" , use_plugins = False )以下是与插件设置相关的环境变量的列表:
| 可变名称 | 描述 | 必需的? |
|---|---|---|
| 搜索 | 启用搜索插件。默认值是True 。 | 不 |
| URL | 启用URL摘要插件。默认值是True 。 | 不 |
| arxiv | 是否启用Arxiv纸抽象插件。默认值是False 。 | 不 |
| 代码 | 是否启用代码解释器插件。默认值是False 。 | 不 |
| 图像 | 是否启用图像生成插件。默认值是False 。 | 不 |
| 日期 | 是否启用日期插件。默认值是False 。 | 不 |
该项目支持多个插件,包括:DuckDuckgo和Google搜索,URL摘要,Arxiv Paper摘要,Dalle-3图纸和代码解释器等。您可以通过设置环境变量来启用或禁用这些插件。
与插件相关的所有代码都在此存储库中的git subpodule modelmerge中。 ModelMerge是一个独立的存储库,我开发了用于处理API请求,对话历史记录管理和其他功能的独立存储库。当您使用带有GIT克隆的--recurse-submodules参数克隆此存储库时,ModelMerge将自动下载到您的本地计算机上。此存储库中的所有插件代码都位于“相对路径ModelMerge/src/ModelMerge/plugins上。您可以在此目录中添加自己的插件代码。插件开发过程如下:
在ModelMerge/src/ModelMerge/plugins目录中创建一个新的Python文件,例如myplugin.py 。将您的插件导入ModelMerge/src/ModelMerge/plugins/__init__.py文件,例如, from .myplugin import MyPlugin 。
将您的插件OpenAI工具格式的请求主体添加到ModelMerge/src/ModelMerge/tools/chatgpt.py中的function_call_list变量。 Claude Gemini工具不需要额外的写作,您只需要以OpenAI格式填写工具请求主体,并且在请求Gemini或Claude API时,该程序将自动将其转换为Claude/Gemini工具格式。 function_call_list是一本词典,其中键是插件的名称,值是插件的请求主体。请确保function_call_list字典中的密钥名称是唯一的,并且不复制现有插件键名。
将键值对添加到ModelMerge/src/ModelMerge/plugins/config.py中的PLUGINS字典中。关键是插件的名称,值是插件的环境变量及其默认值。此默认值是插件的开关。如果默认值为True ,则默认情况下启用插件。如果默认值为False ,则默认情况下禁用插件,并且需要在/info命令中的用户手动启用插件。
最后,在ModelMerge/src/ModelMerge/plugins/config.py函数get_tools_result_async中,添加插件调用代码。当机器人需要调用插件时,它将调用此功能。您需要在此功能中添加插件调用代码。
完成上述步骤后,您的插件将准备好使用。 ?
该项目已根据MIT许可获得许可。
欢迎通过提交问题或通过GitHub提出请求来贡献改进。
如果您有任何疑问或需要帮助,请通过[email protected]与我们联系。