Déployer OneAPI sans serveur ?
avant-propos
Il y a quelque temps, j'ai accumulé quelques API que je n'utilise pas beaucoup, principalement pour la fonction de résumé de l'IA du blog. J'oublie souvent les mots de passe de mes comptes pour ces plateformes, ce qui m'a décidé à utiliser OneAPI pour une gestion unifiée. Malgré les tutoriels complets fournis par les auteurs de OneAPI, certains utilisateurs (dont je fais partie) ont encore rencontré quelques problèmes mineurs lors du déploiement. Par conséquent, après un déploiement réussi, j'ai décidé d'écrire ce guide de déploiement détaillé pour ceux qui ne sont pas bien rodés, en espérant qu'il vous aidera à passer à travers le processus avec moins d'obstacles.
Projets
OneAPI Le projet est un système ouvert de gestion et de distribution d'interfaces qui prend en charge un large éventail de modèles de langage à grande échelle, tels que ChatGPT d'OpenAI, Azure, Anthropic Claude, Google PaLM 2&. Gémeaux etc. Il est destiné à la gestion et à la redistribution des clés, peut être déployé via un seul exécutable ou Docker, et fournit une API simple et unifiée pour accéder à différents grands modèles de langage. Le système est open source, sous licence MIT, et fournit des fonctionnalités telles que la prise en charge des modèles, la gestion des jetons et la gestion des groupes d'utilisateurs. Pour les instructions de déploiement et de configuration, les utilisateurs doivent se référer aux dépôts GitHub et à la documentation du projet.
Construction du projet
Ce projet fournit des images Docker pour simplifier le processus de déploiement. Nous pouvons déployer plus facilement.
Par défaut, une base de données SQLite est utilisée, et si la variable d'environnement SQL_DSN n'est pas définie, les fichiers de la base de données sont stockés dans le chemin spécifié par le conteneur Docker. Si la variable d'environnement SQL_DSN est définie, l'application se connectera à la base de données MySQL ou PostgreSQL spécifiée. Cela permet de ne pas perdre les modifications précédentes lorsque nous redéployons ou retirons l'image.
vouloir
- Plateformes de conteneurs gratuites qui prennent en charge Docker, telles que Render ou Zeabur.
- Base de données MySQL ou PostgreSQL (facultatif, recommandé pour la persistance des données).
- Un nom de domaine (facultatif).
Étapes du déploiement
- Hugging Face : Rapide mais ne supporte pas les noms de domaine liés, l'accès national peut être limité.
- Rendu : Les domaines groupés sont pris en charge, l'enregistrement peut nécessiter une carte de crédit groupée.
- Koyeb : Les domaines groupés sont pris en charge, un plan de mise à niveau est nécessaire.
- Zeabur : Accès rapide, support chinois, le déploiement d'images Docker nécessite un plan de mise à jour.
Processus de déploiement
Déploiement de huggingface
1. copier l'image Docker
cliquer sur un boutonCopie miroir en un clic Configurez THEME (thème de l'interface tel que default ou berry) et SQL_DSN (connexion à la base de données). Je vais les énumérer en détail ci-dessous.

Les effets des différents thèmes sont les suivants, à choisir selon vos préférences.
Thème par défaut

Thème des baies

2. configuration de la base de données
- Utilisez un service de base de données gratuit tel que aiven ou Planetscale, ou les bases de données gratuites fournies avec Render et Koyeb ; configurez la variable d'environnement SQL_DSN pour le projet.
- Exemple MySQL. SQL_DSN=root:123456@tcp(localhost:3306)/oneapi
- Exemples PostgreSQL. SQL_DSN=postgres://postgres:123456@localhost:5432/oneapi
2.1s'inscrire et se connecterNous y sommes. aiven s'inscrire ou se connecter à son compte.

2.2Remplir les informationsSélectionnez Services aux particuliers et remplissez les informations de base.

2.3Sélectionner la base de donnéesSélectionnez la base de données MySQL ou PostgreSQL.

2.4Configuration de la base de donnéesCochez le plan gratuit, sélectionnez la zone de service, et enfin cliquez sur Créer.

2.5Configuration finaleMémorisez les informations contenues dans le diagramme et tapez sur le bouton pour passer tout le texte. Ce n'est pas grave si vous ne vous en souvenez pas, nous pouvons les voir après les avoir toutes sautées.

3. compléter les variables
En se basant sur les informations de la base de données figurant dans la figure, on obtient ceci :
Service URI.
mysql://CLICK_TO:REVEAL_PASSWORD@mysql-12a9c26-jonastech007-2d92.b.aivencloud.com:10906/defaultdb?ssl-mode=必需
Hôte.
mysql-12a9c26-jonastech007-2d92.b.aivencloud.com
Port.
10906
Utilisateurs :
avnadmin
Mot de passe :
AVNS_QV8niFI8YW48vKqxi3R
L'adresse de notre lien doit être rédigée comme suit : username:password@tcp(Host:Port)/database name
Nous avons obtenu avnadmin:AVNS_QV8niFI8YW48vKqxi3R@tcp(mysql-12a9c26-jonastech007-2d92.b.aivencloud.com:10906)/defaultdb.
Remplir ce lien dans la variable et enfin cliquer sur copier dans l'espace. Espace dupliqué


4. l'accès
À ce stade, nous pouvons trouver les paramètres en cliquant sur le coin supérieur droit de l'écran d'accueil.Intégrer cet espaceL'accès à nos services se fait par le lien ci-dessous.


Déploiement de Koyeb
1. cliquer pour entrerKoyeb Après vous être connecté et enregistré sur le site officiel, cliquez sur Create Web Service pour sélectionner l'image docker.


2) Dans la boîte de saisie, tapez justsong/one-api:latest , si vous ne savez pas d'où cela vient, vous pouvez consulter le site web du projet open source.compose.yml.
version : '3.4'
les services.
one-api.
image : "${REGISTRY:-docker.io}/justsong/one-api:latest"
Nom du conteneur : one-api
redémarrage : toujours
commande: --log-dir /app/logs
ports.
- "3000:3000"
volumes.
- . /data/oneapi:/data
- . /logs:/app/logs
l'environnement.
- SQL_DSN=oneapi:123456@tcp(db:3306)/one-api # Modifiez cette ligne ou mettez-la en commentaire pour utiliser SQLite comme base de données.
- REDIS_CONN_STRING=redis://redis
- SESSION_SECRET=chaîne_aléatoire # Modifié en chaîne aléatoire
- TZ=Asie/Shanghai
# - NODE_TYPE=slave # Décommenter cette ligne pour les nœuds esclaves dans un déploiement multi-ordinateurs
# - SYNC_FREQUENCY=60 # Décommentez cette ligne si vous devez charger périodiquement des données à partir de la base de données.
${REGISTRY:-docker.io} est une expression de variable d'environnement indiquant que si la variable d'environnement REGISTRY n'est pas définie, la valeur par défaut de docker.io (Docker Hub) est utilisée.
justsong/one-api:latest spécifie le nom et le label de l'image, où justsong est le nom de l'utilisateur ou de l'organisation sur le Docker Hub, one-api est le nom de l'image, et latest indique que la dernière version de cette image est utilisée.

3) Définissez les variables et les informations régionales nécessaires et cliquez sur le bouton Déployer.

4. en attendant que le déploiement soit terminé, nous pouvons cliquer sur cette adresse pour accéder à notre One API.


5. le compte administrateur par défaut est
- Nom d'utilisateur:root
- Mot de passe:123456
Les modifications doivent être effectuées dans la section Utilisateurs immédiatement après la connexion, ce qui permet de sécuriser le compte.

Utilisation
Étant donné que la plupart des personnes qui peuvent lire mon article sont des débutants, je vais brièvement démontrer son utilisation. L'API gratuite présentée dans l'article de blog ci-dessusbrûler dans sa tête Exemples.
Pour ceux d'entre vous qui ne s'en souviennent pas, vous pouvez le découvrir par vous-même ou regarder la vidéo de l'événement. Cet article de blog
Configuration de OneAPI
1) Après vous être connecté à votre compte d'administrateur OneAPI, localisez le fichierfossé d'irrigation, cliquezNouveaux canaux

2. le nom du canal peut être nommé, l'adresse API du canal est l'adresse de transmission, il suffit de remplir l'adresse de demande, puis de sélectionner le modèle de support, d'ajouter votre CLÉ API, et enfin de soumettre.


3) Enfin, nous cliquons sur non testé mesure la connectivité de l'API.


4. à l'issue du test, nous serons en mesure dejetonSi vous le souhaitez, vous pouvez également partager votre site après avoir ajouté de nombreuses API pour que tout le monde puisse les utiliser. Si vous le souhaitez, vous pouvez également partager votre site après avoir ajouté de nombreuses API et laisser les gens les utiliser.
Nous avons juste besoin de maintenir chaque canal API en arrière-plan, comme pour notre adresse de requête OneAPI, c'est notre nom de domaine par défaut, vous pouvez également le changer dans les paramètres.


© 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...