
Les équipes changent pour trois raisons : les coûts, le contrôle et les données. Vous voulez un terminal privé, des performances prévisibles et une facture que vous pouvez expliquer. Vous pourrez peut-être conserver une grande partie de votre code client en le dirigeant vers votre propre serveur. Vérifiez que le modèle et les fonctionnalités de l’API utilisés par votre application sont pris en charge avant de basculer le trafic.
Essayez Compute dès aujourd'hui
Vous souhaitez héberger votre propre API ? Lancez un serveur vLLM sur Compute, choisissez une région et utilisez son URL HTTPS avec les SDK OpenAI pour les appels pris en charge. Configurez l’URL de base, la clé de l’endpoint et le nom du modèle servi, puis testez avant de basculer le trafic.
La compatibilité couvre les routes et les formats de requête pris en charge, pas toutes les fonctionnalités d’OpenAI. Avec vLLM, /v1/chat/completions nécessite un modèle et un template de chat adaptés ; /v1/completions prend en charge les modèles de génération de texte. Certains paramètres sont ignorés ou non pris en charge. Vérifiez les fonctions utilisées par votre application, notamment le streaming et les appels d’outils, ainsi que les réponses et la gestion des erreurs avec la version déployée du serveur.
Créez une petite carte modèle dans la configuration. Votre catalogue sera différent de celui d'OpenAI. Gardez les noms stables et les valeurs par défaut des documents. Pour un premier test, essayez une température de 0,3 à 0,7, un top_p de 0,9 et une limite max_tokens réduite, puis validez les résultats pour votre modèle et votre tâche. Passez en revue les séquences d'arrêt, les pénalités de présence/fréquence et tous les champs spécifiques au serveur.
Python
from openai import OpenAI
client = OpenAI(base_url="https://YOUR-ENDPOINT/v1", api_key="VOTRE_CLE")
resp = client.chat.completions.create(
model="NOM_DU_MODELE_SERVI", # à remplacer par le nom du modèle servi
messages=[{"role":"user","content":"Rédigez une brève mise à jour du statut."}],
max_tokens=200,
)
print(resp.choices[0].message.content)
Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://YOUR-ENDPOINT/v1", apiKey: process.env.KEY });
const resp = await client.chat.completions.create({
model: "NOM_DU_MODELE_SERVI",
messages: [{ role: "user", content: "Résumez les notes de la réunion d’hier." }],
max_tokens: 200
});
console.log(resp.choices[0].message.content);
Conservez votre logique de nouvelle tentative. Veillez à ce que les temps morts soient raisonnables. Enregistrez l'ID de demande (ou fournissez-en un) afin de pouvoir suivre les problèmes sur le client et le serveur.
Choisissez une configuration disponible et testez votre charge de travail. Enjoy flexible pricing, powerful hardware, and 24/7 support. Scale as you grow—no long-term commitment needed.
Utilisez les événements envoyés par le serveur lorsque votre interface utilisateur attend une diffusion en direct. Testez les deux voies : flux heureux et annulations brusques. Vérifiez que les générations partielles sont utilisables si un utilisateur arrête prématurément. Assurez-vous que votre client décode correctement les segments et efface les buffers entre les requêtes.
Tenez-vous en à un retard exponentiel avec gigue. Faites des demandes idempotentes lorsque vous le pouvez. Préférez 429 pour les signaux de retour en arrière et incluez une indication indiquant quand il faut réessayer. Du côté du serveur, définissez des limites tenant compte des jetons afin qu'une discussion comportant de nombreuses instructions ne bloque pas les autres.
La dérive budgétaire provient de longues instructions et de max_tokens lâches. Capuchons les deux. Diffusez les résultats. Invitations du système de mise en cache. Si vous utilisez RAG, veillez à ce que les morceaux soient petits et pertinents. Surveillez les incohérences de tokenisation entre les SDK.
Piste délai jusqu'au premier jeton (TTFT) et jetons par seconde (TPS) pour les mêmes tâches sur les deux terminaux. L’auto-hébergement ne garantit ni une latence plus faible ni un débit plus élevé. Mesurez les deux avec des longueurs d’entrée et de sortie et un nombre de requêtes simultanées comparables. Ajustez ensuite le matériel, le traitement par lots et la mise en cache selon vos objectifs.
Décidez ce que vous enregistrez, pendant combien de temps et qui peut le lire. Évitez de stocker des instructions et des sorties brutes, sauf si vous y êtes obligé. Utilisez le protocole HTTPS. Faites pivoter les touches. Si vous exercez vos activités en Europe, conservez les données par région et conservez et supprimez les documents.
Essayez Compute
Les endpoints Compute utilisant vLLM sont en HTTPS par défaut. Choisissez la France pour les utilisateurs de l'UE ou une région des Émirats arabes unis pour les marchés voisins.
Le streaming fonctionne-t-il de la même manière ?
Le comportement du streaming peut varier même si les deux serveurs utilisent Server-Sent Events. Testez le décodage des segments, les motifs de fin et l’arrêt anticipé dans votre client.
Qu'en est-il des différences de tokenisation ?
Différents modèles utilisent différents tokeniseurs. Synchronisez le tokenizer et le modèle et vérifiez les chiffres dans le calcul de votre budget.
Comment tester rapidement la compatibilité ?
Exécutez une petite suite de messages de discussion sur les deux terminaux et comparez les réponses, les latences et les codes d'erreur. Ajoutez un test de streaming et un test de temporisation.
Puis-je conserver des données dans l'UE ?
Oui Hébergez le terminal dans une région de l'UE, utilisez le protocole HTTPS, contrôlez l'accès à l'aide de clés et de listes IP et définissez des limites de rétention.
Choisissez une charge de travail d’IA, de calcul ou de stockage à tester sur Hivenet, ou échangez avec notre équipe sur sa mise en production.