W&B Inference donne accès à des modèles fondamentaux open source de premier plan via W&B Weave et une API compatible avec OpenAI. Avec W&B Inference, vous pouvez :
- Développer des applications et des agents d’IA sans vous inscrire auprès d’un fournisseur d’hébergement ni héberger vous-même un modèle.
- Essayer les modèles pris en charge dans le Playground de W&B Weave.
Des crédits W&B Inference sont inclus avec les plans Free, Pro et Academic pendant une durée limitée. La disponibilité peut varier pour Enterprise. Une fois les crédits consommés :
- Les comptes Free doivent passer à un plan Pro pour continuer à utiliser Inference.
- Les utilisateurs du plan Pro seront facturés mensuellement pour les dépassements de W&B Inference, selon la tarification propre à chaque modèle.
Pour en savoir plus, voir la page de tarification et les coûts des modèles W&B Inference.
Avec Weave, vous pouvez tracer, évaluer, surveiller et faire évoluer vos applications basées sur W&B Inference.
| Modèle | ID du modèle (pour l’API) | Type(s) | Fenêtre de contexte | Paramètres | Description |
|---|
| DeepSeek R1-0528 | deepseek-ai/DeepSeek-R1-0528 | Texte | 161K | 37B - 680B (Actifs - Total) | Optimisé pour les tâches de raisonnement précis, notamment le code complexe, les mathématiques et l’analyse de documents structurés. |
| DeepSeek V3-0324 | deepseek-ai/DeepSeek-V3-0324 | Texte | 161K | 37B - 680B (Actifs - Total) | Modèle Mixture-of-Experts robuste, conçu pour le traitement du langage complexe et l’analyse approfondie de documents. |
| Llama 3.1 8B | meta-llama/Llama-3.1-8B-Instruct | Texte | 128K | 8B (Total) | Modèle conversationnel efficace, optimisé pour des interactions multilingues rapides de type chatbot. |
| Llama 3.3 70B | meta-llama/Llama-3.3-70B-Instruct | Texte | 128K | 70B (Total) | Modèle multilingue excellent pour les tâches conversationnelles, le suivi précis des instructions et le code. |
| Llama 4 Scout | meta-llama/Llama-4-Scout-17B-16E-Instruct | Texte, Vision | 64K | 17B - 109B (Actifs - Total) | Modèle multimodal intégrant la compréhension du texte et des images, idéal pour les tâches visuelles et l’analyse combinée. |
| Phi 4 Mini | microsoft/Phi-4-mini-instruct | Texte | 128K | 3.8B (Actifs - Total) | Modèle compact et efficace, idéal pour fournir des réponses rapides dans des environnements aux ressources limitées. |
Ce guide fournit les informations suivantes :
Les prérequis suivants sont nécessaires pour accéder au service W&B Inference via l’API ou l’interface W&B Weave.
- Un compte W&B. Inscrivez-vous ici.
- Une clé API W&B. Créez une clé API dans les Paramètres utilisateur.
- Un projet W&B.
- Si vous utilisez le service Inference via Python, voir Prérequis supplémentaires pour utiliser l’API via Python.
Prérequis supplémentaires pour utiliser l’API via Python
Pour utiliser l’API d’Inférence via Python, commencez par suivre les prérequis généraux. Installez ensuite les bibliothèques openai et weave dans votre environnement local :
La bibliothèque weave n’est requise que si vous utilisez Weave pour tracer vos applications LLM. Pour savoir comment prendre en main Weave, voir le Démarrage rapide de Weave.Pour des exemples d’utilisation montrant comment utiliser le service W&B Inference avec Weave, voir les exemples d’utilisation de l’API.
La section suivante présente les informations de spécification de l’API ainsi que des exemples d’utilisation de l’API.
Le service d’Inférence est accessible via le point de terminaison suivant :
https://api.inference.wandb.ai/v1
Pour accéder à ce point de terminaison, vous devez disposer d’un compte W&B auquel des crédits de service Inférence ont été attribués, d’une clé API W&B valide, ainsi que d’une entité W&B (également appelée “team”) et d’un projet. Dans les exemples de code de ce guide, l’entité (team) et le projet sont indiqués sous la forme <your-team>\<your-project>.
Le service d’Inférence prend en charge les méthodes de l’API suivantes :
La principale méthode d’API disponible est /chat/completions, qui prend en charge les formats de requête compatibles avec OpenAI pour envoyer des messages à un modèle pris en charge et obtenir une complétion. Pour des exemples d’utilisation du service W&B Inference avec Weave, voir les exemples d’utilisation de l’API.
Pour créer une complétion de chat, vous aurez besoin de :
- L’URL de base du service W&B Inference
https://api.inference.wandb.ai/v1
- Votre clé API W&B
<your-api-key>
- Les noms de votre entité et de votre projet W&B
<your-team>/<your-project>
- L’ID du modèle que vous souhaitez utiliser, parmi :
meta-llama/Llama-3.1-8B-Instruct
deepseek-ai/DeepSeek-V3-0324
meta-llama/Llama-3.3-70B-Instruct
deepseek-ai/DeepSeek-R1-0528
meta-llama/Llama-4-Scout-17B-16E-Instruct
microsoft/Phi-4-mini-instruct
curl https://api.inference.wandb.ai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <your-api-key>" \
-H "OpenAI-Project: <your-team>/<your-project>" \
-d '{
"model": "<model-id>",
"messages": [
{ "role": "system", "content": "You are a helpful assistant." },
{ "role": "user", "content": "Tell me a joke." }
]
}'
import openai
client = openai.OpenAI(
# L'URL de base personnalisée pointe vers W&B Inference
base_url='https://api.inference.wandb.ai/v1',
# Créez une clé API sur https://wandb.ai/settings
# Pour plus de sécurité, envisagez plutôt de la définir dans l'environnement comme OPENAI_API_KEY
api_key="<your-api-key>",
# L'équipe et le projet sont requis pour le suivi de l'utilisation
project="<your-team>/<your-project>",
)
# Remplacez <model-id> par l'une des valeurs suivantes :
# meta-llama/Llama-3.1-8B-Instruct
# deepseek-ai/DeepSeek-V3-0324
# meta-llama/Llama-3.3-70B-Instruct
# deepseek-ai/DeepSeek-R1-0528
# meta-llama/Llama-4-Scout-17B-16E-Instruct
# microsoft/Phi-4-mini-instruct
response = client.chat.completions.create(
model="<model-id>",
messages=[
{"role": "system", "content": "<your-system-prompt>"},
{"role": "user", "content": "<your-prompt>"}
],
)
print(response.choices[0].message.content)
Lister les modèles pris en charge
Utilisez l’API pour récupérer tous les modèles actuellement disponibles et leurs identifiants. C’est utile pour sélectionner des modèles dynamiquement ou voir ce qui est disponible dans votre environnement.
curl https://api.inference.wandb.ai/v1/models \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <your-api-key>" \
-H "OpenAI-Project: <your-team>/<your-project>" \
import openai
client = openai.OpenAI(
base_url="https://api.inference.wandb.ai/v1",
api_key="<your-api-key>",
project="<your-team>/<your-project>"
)
response = client.models.list()
for model in response.data:
print(model.id)
Cette section présente plusieurs exemples montrant comment utiliser W&B Inference avec Weave :
Exemple de base : tracer Llama 3.1 8B avec Weave
L’exemple de code Python suivant montre comment envoyer un prompt au modèle Llama 3.1 8B à l’aide de l’API W&B Inference et tracer l’appel dans Weave. Le Tracing vous permet de capturer les entrées et sorties complètes de l’appel au LLM, de surveiller les performances et d’analyser les résultats dans Weave UI.
Dans cet exemple :
- Vous définissez une fonction décorée avec
@weave.op(), run_chat, qui effectue une requête de Chat Completion à l’aide du client compatible OpenAI.
- Vos traces sont enregistrées et associées à votre entité W&B ainsi qu’à votre projet
project="<your-team>/<your-project>
- La fonction est automatiquement tracée par Weave, de sorte que ses entrées, ses sorties, sa latence et ses métadonnées (comme l’ID du modèle) sont enregistrées.
- Le résultat est affiché dans le terminal, et la trace apparaît dans votre onglet Traces sur https://wandb.ai, sous le projet spécifié.
Pour utiliser cet exemple, vous devez satisfaire aux prérequis généraux et aux prérequis supplémentaires pour utiliser l’API via Python.
import weave
import openai
# Définir l'équipe et le projet Weave pour le tracing
weave.init("<your-team>/<your-project>")
client = openai.OpenAI(
base_url='https://api.inference.wandb.ai/v1',
# Créer une clé API sur https://wandb.ai/settings
api_key="<your-api-key>",
# Requis pour le suivi d'utilisation de W&B Inference
project="wandb/inference-demo",
)
# Tracer l'appel du modèle dans Weave
@weave.op()
def run_chat():
response = client.chat.completions.create(
model="meta-llama/Llama-3.1-8B-Instruct",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Tell me a joke."}
],
)
return response.choices[0].message.content
# Exécuter et journaliser l'appel tracé
output = run_chat()
print(output)
Une fois l’exemple de code exécuté, vous pouvez consulter la trace dans Weave en cliquant sur le lien affiché dans le terminal (par ex. https://wandb.ai/<your-team>/<your-project>/r/call/01977f8f-839d-7dda-b0c2-27292ef0e04g), ou :
- Accédez à https://wandb.ai.
- Sélectionnez l’onglet Traces pour afficher vos traces Weave.
Ensuite, essayez l’exemple avancé.
Exemple avancé : utilisez les évaluations et les classements de Weave avec le service d’inférence
En plus d’utiliser Weave avec le service d’inférence pour tracer les appels de modèle, vous pouvez aussi évaluer les performances et publier un classement. L’exemple de code Python suivant compare deux modèles sur un jeu de données simple de questions-réponses.
Pour utiliser cet exemple, vous devez remplir les prérequis généraux et les prérequis supplémentaires pour utiliser l’API via Python.
import os
import asyncio
import openai
import weave
from weave.flow import leaderboard
from weave.trace.ref_util import get_ref
# Définir l'équipe et le projet Weave pour le tracing
weave.init("<your-team>/<your-project>")
dataset = [
{"input": "What is 2 + 2?", "target": "4"},
{"input": "Name a primary color.", "target": "red"},
]
@weave.op
def exact_match(target: str, output: str) -> float:
return float(target.strip().lower() == output.strip().lower())
class WBInferenceModel(weave.Model):
model: str
@weave.op
def predict(self, prompt: str) -> str:
client = openai.OpenAI(
base_url="https://api.inference.wandb.ai/v1",
# Créer une clé API sur https://wandb.ai/settings
api_key="<your-api-key>",
# Requis pour le suivi de l'utilisation de l'inférence W&B
project="<your-team>/<your-project>",
)
resp = client.chat.completions.create(
model=self.model,
messages=[{"role": "user", "content": prompt}],
)
return resp.choices[0].message.content
llama = WBInferenceModel(model="meta-llama/Llama-3.1-8B-Instruct")
deepseek = WBInferenceModel(model="deepseek-ai/DeepSeek-V3-0324")
def preprocess_model_input(example):
return {"prompt": example["input"]}
evaluation = weave.Evaluation(
name="QA",
dataset=dataset,
scorers=[exact_match],
preprocess_model_input=preprocess_model_input,
)
async def run_eval():
await evaluation.evaluate(llama)
await evaluation.evaluate(deepseek)
asyncio.run(run_eval())
spec = leaderboard.Leaderboard(
name="Inference Leaderboard",
description="Compare models on a QA dataset",
columns=[
leaderboard.LeaderboardColumn(
evaluation_object_ref=get_ref(evaluation).uri(),
scorer_name="exact_match",
summary_metric_path="mean",
)
],
)
weave.publish(spec)
Après avoir exécuté l’exemple de code suivant, accédez à votre compte W&B sur https://wandb.ai/ et :
La section suivante décrit comment utiliser le service d’Inférence depuis l’interface utilisateur W&B. Avant de pouvoir accéder au service d’Inférence via l’interface utilisateur, assurez-vous d’avoir rempli les prérequis.
Accéder au service d’Inférence
Vous pouvez accéder au service d’Inférence depuis la Weave UI à partir de deux emplacements différents :
Accédez à https://wandb.ai/inference.
Depuis l’onglet Inférence
- Accédez à votre compte W&B sur https://wandb.ai/.
- Dans la barre latérale gauche, sélectionnez Inférence. Une page présentant les modèles disponibles et leurs informations s’affiche.
Depuis l’onglet Playground
- Dans la barre latérale gauche, sélectionnez Playground. L’interface de chat du Playground s’affiche.
- Dans la liste déroulante LLM, survolez W&B Inference. Une liste déroulante affichant les modèles W&B Inference disponibles apparaît à droite.
- Dans la liste déroulante des modèles W&B Inference, vous pouvez :
Essayer un modèle dans le Playground
Une fois que vous avez sélectionné un modèle via l’une des options d’accès, vous pouvez l’essayer dans le Playground. Les actions suivantes sont disponibles :
Comparer plusieurs modèles
Vous pouvez comparer plusieurs modèles d’Inférence dans le Playground. La vue Compare est accessible à deux emplacements :
Accéder à la vue Compare depuis l’onglet Inférence
- Dans la barre latérale gauche, sélectionnez Inférence. Une page affichant les modèles disponibles et les informations sur les modèles s’ouvre.
- Pour sélectionner les modèles à comparer, cliquez n’importe où sur une carte de modèle (sauf sur le nom du modèle). La bordure de la carte de modèle est surlignée en bleu pour indiquer la sélection.
- Répétez l’étape 2 pour chaque modèle que vous souhaitez comparer.
- Sur l’une des cartes sélectionnées, cliquez sur le bouton Comparer N modèles dans le Playground (
N correspond au nombre de modèles que vous comparez. Par exemple, lorsque 3 modèles sont sélectionnés, le bouton s’affiche sous la forme Comparer 3 modèles dans le Playground). La vue de comparaison s’ouvre.
Vous pouvez maintenant comparer des modèles dans le Playground et utiliser n’importe laquelle des fonctionnalités décrites dans Essayer un modèle dans le Playground.
Accéder à la vue Compare depuis l’onglet Playground
- Dans la barre latérale gauche, sélectionnez Playground. L’interface de chat du Playground s’affiche.
- Dans la liste déroulante LLM, survolez W&B Inference. Une liste déroulante des modèles W&B Inference disponibles s’affiche à droite.
- Dans la liste déroulante, sélectionnez Compare. L’onglet Inférence s’affiche.
- Pour sélectionner des modèles à comparer, cliquez n’importe où sur une carte de modèle (sauf sur le nom du modèle). La bordure de la carte de modèle se surligne en bleu pour indiquer la sélection.
- Répétez l’étape 4 pour chaque modèle que vous souhaitez comparer.
- Dans l’une des cartes sélectionnées, cliquez sur le bouton Comparer N modèles dans le Playground (
N correspond au nombre de modèles que vous comparez. Par exemple, lorsque 3 modèles sont sélectionnés, le bouton s’affiche sous la forme Comparer 3 modèles dans le Playground). La vue de comparaison s’ouvre.
Vous pouvez maintenant comparer des modèles dans le Playground et utiliser toutes les fonctionnalités décrites dans Essayer un modèle dans le Playground.
Les Administrateurs de l’organisation peuvent suivre directement dans l’interface W&B le solde actuel des crédits d’Inférence, l’historique d’utilisation et la facturation à venir (le cas échéant) :
- Dans l’interface W&B, accédez à la page Billing de W&B.
- Dans l’angle inférieur droit, la carte d’informations de facturation d’Inférence s’affiche. Depuis cette carte, vous pouvez :
- Cliquer sur le bouton View usage dans la carte d’informations de facturation d’Inférence pour consulter votre utilisation au fil du temps.
- Si vous utilisez un plan payant, consulter vos prochains frais d’inférence.
La section suivante présente des informations importantes sur l’utilisation et les limites. Prenez-en connaissance avant d’utiliser le service.
Restrictions géographiques
Le service d’Inférence est accessible uniquement depuis des zones géographiques prises en charge. Pour plus d’informations, voir les Conditions d’utilisation.
Pour garantir une utilisation équitable et des performances stables, la W&B Inference API applique des limites de débit au niveau de l’utilisateur et du projet. Ces limites permettent de :
- Prévenir les abus et protéger la stabilité de l’API
- Garantir l’accès à tous les utilisateurs
- Gérer efficacement la charge de l’infrastructure
Si une limite de débit est dépassée, l’API renvoie une réponse 429 Concurrency limit reached for requests. Pour résoudre cette erreur, réduisez le nombre de requêtes simultanées.
Pour connaître la tarification des modèles, consultez https://wandb.ai/site/pricing/inference.
| Code d’erreur | Message | Cause | Solution |
|---|
| 401 | Authentification invalide | Identifiants d’authentification invalides, ou entité et/ou nom du projet W&B incorrects. | Assurez-vous d’utiliser la bonne clé API et/ou que le nom et l’entité de votre projet W&B sont corrects. |
| 403 | Pays, région ou territoire non pris en charge | Accès à l’API depuis un emplacement non pris en charge. | Veuillez consulter Restrictions géographiques |
| 429 | Limite de concurrence atteinte pour les requêtes | Trop de requêtes simultanées. | Réduisez le nombre de requêtes simultanées. |
| 429 | Vous avez dépassé votre quota actuel, veuillez vérifier les détails du forfait et de la facturation | Plus de crédits ou plafond mensuel de dépenses atteint. | Achetez plus de crédits ou augmentez vos limites. |
| 500 | Le serveur a rencontré une erreur lors du traitement de votre requête | Erreur interne du serveur. | Réessayez après une brève attente et contactez l’assistance si le problème persiste. |
| 503 | Le moteur est actuellement surchargé, veuillez réessayer plus tard | Le serveur connaît un trafic élevé. | Réessayez votre requête après un court délai. |