UniAPI : gestion unifiée, sans serveur, du transfert d'API de grands modèles
Introduction générale
UniAPI est un transitaire d'API compatible avec le protocole OpenAI, et sa fonction principale est de gérer les API de plusieurs fournisseurs de services de grands modèles, tels que OpenAI, Azure OpenAI, Claude, etc., par le biais d'un format OpenAI unifié. UniAPI prend en charge l'optimisation des modèles, le mécanisme de coupe-circuit et l'optimisation de la sortie en continu afin de garantir l'efficacité et la stabilité des requêtes. UniAPI prend en charge l'optimisation des modèles, le mécanisme de coupe-circuit et l'optimisation de la sortie en continu afin de garantir l'efficacité et la stabilité des requêtes. Le projet est développé par l'utilisateur GitHub zhangtyzzz, et est toujours en cours de mise à jour.

Liste des fonctions
- Prise en charge des services OpenAI et des services compatibles avec le protocole OpenAI, notamment Azure OpenAI, Claude et d'autres.
- Unifier les API de différents fournisseurs dans le format OpenAI pour simplifier le processus d'appel.
- Prise en charge du mappage de modèles, appelant des modèles réels de différents fournisseurs avec un nom de modèle uniforme.
- Fournir un mécanisme de sélection du modèle basé sur le taux de réussite dans les 72 heures et sur le nombre de premières demandes d'asile. jeton Temps de réponse pour sélectionner le meilleur service.
- Mécanisme de disjoncteur intégré, la défaillance continue du service suspend automatiquement la demande afin de protéger la stabilité du système.
- Optimiser les sorties en continu en divisant les gros morceaux de réponse en morceaux plus petits pour améliorer l'impact visuel.
- Prend en charge les clés d'API personnalisées, les URL de base et les listes de modèles pour une configuration flexible.
- Déployé via Vercel, il fournit un panneau d'administration et une authentification sécurisée.
Utiliser l'aide
L'utilisation d'UniAPI se divise en deux parties : le déploiement et la configuration. Vous trouverez ci-après une description détaillée de l'installation, de la configuration et de l'utilisation de l'interface afin de vous permettre de démarrer rapidement.
Processus d'installation
UniAPI prend en charge deux méthodes de déploiement : l'exécution locale et le déploiement Vercel en un clic. Nous prenons ici le déploiement Vercel comme méthode principale, qui convient à la plupart des utilisateurs.
Déploiement de Vercel en un clic
- Accès aux liens de déploiement
Cliquez sur le site officiel de Vercel adresse de déploiement - Configuration des variables d'environnement
Remplissez les variables suivantes sur la page de déploiement de Vercel :ADMIN_API_KEY
Clé de l'administrateur : la clé de l'administrateur permettant de se connecter au panneau d'administration doit être définie, par exemplemysecretkey
.TEMP_API_KEY
: les clés qui permettent d'accéder à l'API, qui peuvent être définies jusqu'à 2, par exemple.key1
répondre en chantantkey2
.REDIS_URL
adresse de connexion Redis pour la configuration du stockage persistant (facultatif).ENVIRONMENT
: Réglé surproduction
pour désactiver la clé par défaut du mode développement.
Lorsque la configuration est terminée, cliquez sur "Déployer".
- Obtenir l'adresse de déploiement
Après un déploiement réussi, Vercel génère une URL telle quehttps://your-vercel-url.vercel.app
. UtiliserADMIN_API_KEY
Connectez-vous au panneau d'administration.
Fonctionnement local (en option)
- Préparation de l'environnement
Assurez-vous que Python 3.8 ou supérieur est installé sur votre appareil. Vérifiez la version :
python --version
- Télécharger le fichier
Visitez https://github.com/zhangtyzzz/uni-api/releases pour télécharger les derniers binaires, par exempleuni-api-linux-x86_64-0.0.99.pex
. - programme de course
Exécuté au terminal :
chmod +x uni-api-linux-x86_64-0.0.99.pex
./uni-api-linux-x86_64-0.0.99.pex
Auditeur par défaut http://localhost:8000
.
Configuration de l'API
- Panneau d'administration des connexions (déploiement de Vercel)
Ouvrez l'URL déployée et entrezADMIN_API_KEY
Connectez-vous. L'écran affiche Ajouter une configuration et Liste de configuration. - Ajout de la configuration de l'API
Cliquez sur "Ajouter une configuration" et remplissez les informations suivantes :
- fournisseur de servicesLes services d'aide à la décision : choisissez entre OpenAI, Claude, etc.
- URL de baseAdresse du fournisseur de services : Saisissez l'adresse API du fournisseur de services, par ex.
https://api.openai.com/v1
. - Clé APIClé : Entrez la clé obtenue auprès du fournisseur de services, par ex.
sk-xxxx
. - Nom du modèleNom du modèle : Saisir le nom du modèle ou le nom du mappage, par ex.
gpt-3.5-turbo
.
Après l'enregistrement, la configuration est affichée dans la liste.
- cartographie du modèle
Ajouter un mappage à la configuration. par exemple :
- nom commun
gpt-4
Mapping to OpenAI'sgpt-4
répondre en chantant Claude (utilisé comme expression nominale)claude-2
.
La demande est faite avecgpt-4
Le système sélectionne automatiquement les services disponibles.
Utilisation des fonctions principales
- Envoyer une demande
Testez l'API avec curl :
curl -X POST https://your-vercel-url.vercel.app/v1/chat/completions
-H "Authorization: Bearer your_api_key"
-H "Content-Type: application/json"
-d '{"model": "gpt-3.5-turbo", "messages": [{"role": "user", "content": "你好"}], "stream": true}'
Renvoie un flux de données indiquant que la configuration a été effectuée avec succès.
- sélection du modèle
Le système sélectionne automatiquement le meilleur prestataire de services sur la base du taux de réussite et du temps de réponse du premier jeton au cours des 72 dernières heures. Vous n'avez pas besoin d'intervenir manuellement. - mécanisme de rupture
Un disjoncteur est déclenché lorsqu'un service tombe en panne de manière continue :
- 3 échecs : 5 minutes de pause.
- 4 échecs : 10 minutes de pause.
- 9 manquements : 48 heures de suspension.
Pendant la suspension, le système passe à un autre fournisseur de services.
- Optimisation de la diffusion en continu
en ce qui concerne Gémeaux Les modèles contenant de grandes quantités de réponses, tels que UniAPI, sont automatiquement divisés en plus petites quantités de résultats.
Problèmes courants résolus...
- Échec de la demande 401: Inspection
Authorization
L'en-tête contient-il la bonneBearer your_api_key
. - Modèle indisponibleLe nom du modèle configuré doit correspondre à celui fourni par le fournisseur de services, ou vérifier les paramètres de mappage.
- Inaccessible après le déploiement: Accusé de réception
ENVIRONMENT
mis en place en tant queproduction
Les journaux Vercel ne sont pas disponibles pour l'utilisateur et sont vérifiés.
Grâce à ces étapes, vous pouvez facilement déployer et utiliser UniAPI, qui est facile à configurer, puissant et idéal pour les scénarios dans lesquels vous devez gérer des API multi-fournisseurs.
scénario d'application
- Tests de modèles multifournisseurs par les développeurs
Vous souhaitez comparer les résultats d'OpenAI et de Claude. uniAPI vous permet de gagner du temps en appelant les deux avec une seule interface. - Les équipes créent des services API stables
L'équipe avait besoin d'une station API fiable pour soutenir l'entreprise. Le disjoncteur et la méritocratie d'uniAPI ont permis d'assurer un service ininterrompu. - Éducation et recherche
Les étudiants peuvent utiliser UniAPI pour étudier la réactivité et la stabilité de différents modèles, ce qui convient aux expériences universitaires.
QA
- Quels sont les fournisseurs de services pris en charge par UniAPI ?
Prise en charge d'OpenAI, Azure OpenAI, Claude et d'autres services compatibles avec le protocole OpenAI, voir GitHub pour les mises à jour. - Que se passe-t-il lorsque le disjoncteur se déclenche ?
Le système passe automatiquement à d'autres fournisseurs de services et réessaie après une période de refroidissement. Aucune opération manuelle n'est nécessaire. - Quels sont les avantages de la sortie en continu ?
Il divise les gros morceaux de réponse en plus petits morceaux pour une expérience utilisateur plus fluide, en particulier pour les scénarios de chat en temps réel.
© déclaration de droits d'auteur
Article copyright Cercle de partage de l'IA Tous, prière de ne pas reproduire sans autorisation.
Articles connexes
Pas de commentaires...