Anglais | Chinois
Modelmerge est une bibliothèque puissante conçue pour simplifier et unifier l'utilisation de différents modèles de grande langue, notamment GPT-3.5 / 4/4 Turbo / 4o, O1-Preview / O1-MINI, DALL-E 3, Claude2 / 3 / 3.5, gemini1.5 Pro / Flash, Vertex Ai (Claude, Gemini), DuckDuckgo et Grove. La bibliothèque prend en charge les appels de fonction de format GPT et possède des fonctionnalités de recherche Google et de résumé d'URL intégrées, améliorant considérablement le praticité et la flexibilité des modèles.
Ce qui suit est un guide sur la façon d'intégrer rapidement et d'utiliser ModelMerge dans votre projet Python.
Tout d'abord, vous devez installer ModelMerge. Il peut être installé directement via PIP:
pip install modelmergeCe qui suit est un exemple simple démontrant comment utiliser ModelMerge pour demander le modèle GPT-4 et gérer les données de streaming renvoyées:
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 )Ce qui suit est une liste des variables d'environnement liées aux paramètres du plugin:
| Nom variable | Description | Requis? |
|---|---|---|
| RECHERCHE | Activer le plugin de recherche. La valeur par défaut est True . | Non |
| URL | Activer le plugin Résumé de l'URL. La valeur par défaut est True . | Non |
| Arxiv | S'il faut activer le plugin abstrait Arxiv Paper. La valeur par défaut est False . | Non |
| CODE | S'il faut activer le plugin d'interprète de code. La valeur par défaut est False . | Non |
| IMAGE | S'il faut activer le plugin de génération d'images. La valeur par défaut est False . | Non |
| DATE | S'il faut activer le plugin de date. La valeur par défaut est False . | Non |
Ce projet prend en charge plusieurs plugins, notamment: DuckDuckgo et Google Search, URL Résumé, Arxiv Paper Résumé, Dalle-3 Drawing et Code Interpreter, etc. Vous pouvez activer ou désactiver ces plugins en définissant des variables d'environnement.
Tout le code lié aux plugins est dans le sous-module GIT ModelMerge dans ce référentiel. ModelMerge est un référentiel indépendant que j'ai développé pour gérer les demandes d'API, la gestion de l'historique des conversations et d'autres fonctions. Lorsque vous clonez ce référentiel à l'aide du paramètre --recurse-submodules avec Git Clone, ModelMerge sera automatiquement téléchargé sur votre machine locale. Tout le code de plugin de ce référentiel est situé sur le chemin relatif ModelMerge/src/ModelMerge/plugins . Vous pouvez ajouter votre propre code de plugin dans ce répertoire. Le processus de développement du plugin est le suivant:
Créez un nouveau fichier Python dans le répertoire ModelMerge/src/ModelMerge/plugins , par exemple, myplugin.py . Importez votre plugin dans le fichier ModelMerge/src/ModelMerge/plugins/__init__.py , par exemple, from .myplugin import MyPlugin .
Ajoutez le corps de la demande formatée de votre plugin Openai à la variable function_call_list dans ModelMerge/src/ModelMerge/tools/chatgpt.py . L'outil Claude Gemini ne nécessite pas d'écriture supplémentaire, il vous suffit de remplir le corps de la demande d'outil au format OpenAI, et le programme le convertira automatiquement au format d'outil Claude / Gemini lors de la demande de l'API Gemini ou Claude. function_call_list est un dictionnaire où la clé est le nom du plugin et la valeur est le corps de demande du plugin. Veuillez vous assurer que les noms de clés dans le dictionnaire function_call_list sont uniques et ne dupliquent pas les noms de clés de plugin existants.
Ajoutez des paires de valeurs clés au dictionnaire PLUGINS dans ModelMerge/src/ModelMerge/plugins/config.py . La clé est le nom du plugin, et la valeur est la variable d'environnement du plugin et sa valeur par défaut. Cette valeur par défaut est l'interrupteur du plugin; Si la valeur par défaut est True , le plugin est activé par défaut. Si la valeur par défaut est False , le plugin est désactivé par défaut et doit être activé manuellement par l'utilisateur dans la commande /info .
Enfin, dans les fonctions ModelMerge/src/ModelMerge/plugins/config.py get_tools_result_async , ajoutez le code pour l'invocation du plugin. Lorsque le robot doit appeler un plugin, il appellera cette fonction. Vous devez ajouter le code d'invocation du plugin dans cette fonction.
Après avoir terminé les étapes ci-dessus, votre plugin sera prêt à l'emploi. ?
Ce projet est autorisé sous la licence du MIT.
Bienvenue pour apporter des améliorations en soumettant des problèmes ou en tirant des demandes via GitHub.
Si vous avez des questions ou avez besoin d'aide, veuillez nous contacter à [email protected].