REMARQUE : Il s’agit d’un projet de recherche. Veuillez ne pas l'utiliser à des fins commerciales et l'utiliser de manière responsable.
Ce projet implémente une API web qui offre une interface unifiée à Google Gemini et Claude 3.
Auto-hébergé : Python/FastAPI permet une exécution flexible n'importe où. Non verrouillé sur des plates-formes propriétaires.
Prise en charge du streaming : réponses en temps réel du streaming de Claude.
Léger et évolutif : construit avec FastAPI pour des performances élevées.
Clé API : aucune clé API requise.
✅ L'intégration de l'API Claude-3 est également entièrement implémentée et disponible
✅ Intégration de l'API Google Gemini disponible dès maintenant
✅ Configuration de l'interface utilisateur : implémenter le routage pour le chemin localhost : 8000/WebAI
PIP : En cours
Ce référentiel est à jour.
N'oubliez pas de donner une étoile
Version Python >= 3.10 Comptes sur les éléments suivants (tous offrent des inscriptions gratuites) :
Ensuite, ajoutez votre ou vos jetons au fichier Config.conf
. (voir la section Configuration ).
Note
Remarque : Claude et Gemini proposent des options de connexion automatique - vous pouvez soit vous connecter via votre navigateur et ignorer cette étape.
git clone https://github.com/Amm1rr/WebAI-to-API.git && cd WebAI-to-API
python -m venv .venv
source .venv/bin/activate # Linux/macOS
.venv S cripts a ctivate # Windows
pip install -r requirements.txt
Accédez au répertoire webai2api
et exécutez le serveur Web :
cd WebAI-to-API/webai2api/
python run.py
Désormais, la documentation de l'API et l'interface utilisateur Web de configuration devraient être disponibles aux adresses suivantes :
Conseil
Configuration de l'interface utilisateur Web ouverte : http://localhost:8000/WebAI
Documentation de l'API ouverte : http://localhost:8000/docs
Note
Gémeaux
http://localhost:8000/gemini
Claude
http://localhost:8000/claude
Claude/Gémeaux
http://localhost:8000/v1/chat/completions
Entrée/Sortie
# Input:
_____
{
" message " : " Hi, Who are you? " ,
" stream " : true
}
--------------------
# Output:
_____
{
I am a Chatbot assistant :)
}
--------------------
# Response Output:
_____
# Streaming
" String "
# Not Streaming
" String "
Tout d’abord, accédez au répertoire de l’interface utilisateur :
cd WebAI-to-API/webai2api/UI
npm install
npm run build
Une fois que vous avez lancé le serveur web en utilisant python webai2apirun.py
:
Note
Remarque : Le premier argument pour exécuter l'exemple détermine s'il faut renvoyer ou non le streaming.
cd examples/
python WebAPI-to-API/webai2api/test.py
OR
python example_claude.py false
python example_claude.py true
python example_gemini.py
ou essayez Claude avec cURL
exécutez cette commande cURL dans une fenêtre de terminal :
curl -X ' POST '
' http://localhost:8000/claude '
-H ' accept: application/json '
-H ' Content-Type: application/json '
-d ' {
"message": "who are you?",
"stream": false
} '
Note
Remarque : Le session_id
est configuré dans le fichier Config.conf . Si vous envoyez cette variable vide, elle utilisera le Config.conf
Note
Remarque : Claude et Gemini proposent deux options d'authentification : vous pouvez soit vous connecter via votre navigateur et ignorer cette étape, soit suivre les instructions ci-dessous pour configurer l'authentification.
Important
"Le problème de connexion automatique par navigateur est dû à l'utilisation de plusieurs comptes ou profils de navigateur. Sa résolution complète prendra un certain temps. Une prochaine mise à jour le résoudra. Pour l'instant, si vous rencontrez des problèmes pour vous connecter avec vos navigateurs, essayez de vous connecter avec un seul navigateur ou copiez manuellement les sessions et les cookies comme solution de contournement, comme décrit dans les instructions ci-dessous.
Le moyen le plus simple consiste simplement à vous connecter aux sites Web des chatbots. (Claude | Gémeaux)
OU
Vous devez d'abord ajouter vos jetons au fichier Config.conf
(voir la section Configuration ).
Méthode 1 :
Pour Gemini, tout ce que vous avez à faire est de vous connecter à votre compte à l’aide de votre navigateur Web. (Firefox, Chrome, Safari, Edge...)
Méthode 2 :
Google Gemini:
veuillez obtenir les cookies mentionnés ici à partir d'une session autorisée sur gemini.google.com. Les cookies peuvent être utilisés pour envoyer des requêtes POST au point de terminaison /gemini avec un message dans une charge utile JSON. Il est important que le session_id , qui est votre cookie __Secure-1PSID , ainsi que les session_idts et session_idcc , qui sont vos cookies Secure-1PSIDTS et Secure-1PSIDCC , soient inclus dans la demande. (Capture d'écran)
Nom | Nom de la session |
---|---|
session_id | __Secure-1PSID |
session_idts | __Secure-1PSIDTS |
session_idcc | __Secure-1PSIDCC |
Developer Tools
(appuyez sur F12 )Application Tab
Cookies Tab
__Secure-1PSID
et __Secure-1PSIDTS
et __Secure-1PSIDCC
. Copiez la valeur de ces cookies. Méthode 1 :
Pour Claude, il vous suffit de vous connecter à votre compte à l'aide de votre navigateur web. (Firefox, Chrome, Safari, Edge...)
Méthode 2 :
Claude:
Vous pouvez obtenir un cookie à partir de l'onglet réseau des outils de développement du navigateur (voir pour toute demande de claude.ai, consultez le cookie, copiez la valeur entière) ou de l'onglet de stockage (vous pouvez trouver le cookie de claude.ai, il y aura quatre valeurs) (Capture d'écran )
Developer Tools
(appuyez sur F12 )Network Tab
Cookie
Comment trouver des jetons
Note
Remarque : Claude et Gemini présentent des options de connexion automatique : connexion via votre navigateur ou configuration de Claude et Gemini à l'aide du fichier de configuration fourni.
/v1/chat/completions
Vous pouvez spécifier le type de modèle dans les paramètres du point de terminaison /v1/chat/completions
. Les options disponibles sont « Claude » et « Gémeaux ». Par défaut, le système utilise le modèle « Claude ».
# Case-Sensitive
[Main]
Model=Claude
# or
Model=Gemini
# Case-Sensitive
[Main]
Model = [Claude] or [Gemini]
[Claude]
COOKIE=[YOURS]
[Gemini]
SESSION_ID=[YOURS]
SESSION_IDTS=[YOURS]
SESSION_IDCC=[YOURS]
Ce projet est sous licence MIT. N'hésitez pas à l'utiliser comme bon vous semble.