Démarrage rapide de Kimi K3 pour les workflows API à long contexte

Démarrage rapide de Kimi K3 pour les workflows API à long contexte

Kimi K3 est disponible via l’API serverless de Novita AI avec l’ID du modèle moonshotai/kimi-k3, un point de terminaison de chat compatible OpenAI, une fenêtre de contexte de 1 048 576 tokens et un paramètre de sortie maximale de 1 048 576 tokens listé sur sa page de modèle. Ce guide de démarrage rapide montre comment s’authentifier, envoyer une première requête, analyser la réponse et planifier la tarification des tokens de Kimi K3 avant de le connecter à une application plus large.

Quand utiliser ce guide de démarrage rapide

Utilisez ce guide lorsque vous souhaitez tester Kimi K3 depuis une application qui utilise déjà le format d’API OpenAI. C’est un point de départ pratique pour les workflows d’ingénierie logicielle à long contexte, d’analyse de documents, de recherche et de raisonnement où la requête peut contenir nettement plus de contexte qu’une invite de chat typique.

La page de modèle Novita de Kimi K3 décrit un modèle de 2,8 billions de paramètres avec compréhension visuelle native et une fenêtre de contexte de 1 million de tokens. La même page liste les entrées de texte, d’image et de vidéo avec sortie texte, ainsi que l’accès serverless, la sortie structurée, le raisonnement et l’appel de fonction. Considérez ces fonctionnalités comme des capacités à vérifier par rapport à la forme de votre requête prévue, plutôt que de supposer que chaque fonctionnalité du SDK OpenAI se comporte de manière identique d’un modèle à l’autre.

Ce n’est pas une comparaison de benchmarks. L’objectif est d’obtenir une requête authentifiée fonctionnelle, puis de vous donner suffisamment de détails opérationnels pour décider si Kimi K3 correspond à votre charge de travail.

Étape 1 : Obtenez votre clé API Novita

Créez ou sélectionnez un compte Novita AI, ouvrez vos paramètres de clé API et créez une clé pour une utilisation côté serveur. Gardez la clé hors des bundles frontend, des dépôts publics, des notebooks partagés en dehors de votre équipe et de l’historique du shell dans la mesure du possible.

Définissez la clé comme variable d’environnement avant d’exécuter l’un des exemples :

export NOVITA_API_KEY="votre_clé_api_ici"

Utilisez une clé de projet ou temporaire lorsque la configuration de votre compte le permet. Remplacez la clé après une démonstration publique ou toute exposition suspectée.

Étape 2 : Confirmez l’ID du modèle et le point de terminaison

Gardez les détails de connexion ensemble afin qu’un nom d’affichage ne remplace pas accidentellement l’identifiant réel du modèle :

Champ Valeur
ID du modèle moonshotai/kimi-k3
URL de base https://api.novita.ai/openai/v1
Point de terminaison des complétions de chat https://api.novita.ai/openai/v1/chat/completions
Fenêtre de contexte 1 048 576 tokens
Paramètre de sortie maximale 1 048 576 tokens
Capacités d’entrée Texte, image, vidéo
Capacité de sortie Texte
Type d’accès API serverless

La page du modèle Kimi K3 est la source de vérité pour la disponibilité, les limites actuelles, les capacités et la tarification. Vérifiez-la à nouveau avant de déployer, car les configurations et les prix des modèles peuvent changer.

Étape 3 : Envoyez votre première requête

Commencez par une requête courte ne contenant que du texte. Une petite invite facilite la séparation des problèmes d’authentification ou de routage des problèmes d’invite au niveau applicatif.

Par exemple, demandez à Kimi K3 de renvoyer une courte liste de contrôle d’implémentation :

Listez les trois plus grands risques lors de l'ajout de nouvelles tentatives à un client API de streaming. Renvoyez une phrase par risque.

Conservez une valeur max_tokens modeste pour la première requête. Une grande allocation de sortie n’est utile qu’après que la requête de base, l’analyse de la réponse et la gestion des erreurs fonctionnent correctement.

Étape 4 : Lisez la réponse

La réponse compatible OpenAI place le texte de l’assistant dans choices[0].message.content pour une complétion de chat standard non-streaming. Conservez les métadonnées de réponse et les champs d’utilisation dans votre application si vous avez besoin de traçage des requêtes ou de comptabilité des coûts.

Pour une intégration en production, enregistrez au moins :

  • L’ID du modèle et l’horodatage de la requête.
  • L’ID de requête du fournisseur, lorsqu’il est renvoyé par le client ou les en-têtes de réponse.
  • L’utilisation des tokens d’invite et de complétion.
  • Le nombre de tentatives et le statut HTTP.
  • Si la requête utilisait du texte uniquement ou un contenu multimodal.

Une fois le premier appel réussi, testez des invites qui ressemblent à votre charge de travail réelle : longs fichiers source, plusieurs documents, un schéma d’outil ou un contrat de réponse structuré. Une invite courte réussie vérifie la connectivité, pas la qualité de production.

Étape 5 : Vérifiez la tarification, les limites et les erreurs courantes

La page de modèle Novita liste la tarification serverless de 3 $ par million de tokens d’entrée, 0,30 $ par million de tokens lus en cache, et 15 $ par million de tokens de sortie pour Kimi K3. Votre estimation doit inclure les deux côtés de la requête, les tentatives et la quantité de contexte que vous envoyez de manière répétée.

La page liste également ces niveaux de taux de requêtes :

Niveau Requêtes par minute Tokens par minute
T1 30 50 000 000
T2 100 50 000 000
T3 1 000 50 000 000
T4 3 000 50 000 000
T5 6 000 50 000 000

Le niveau applicable dépend de votre compte. Ne considérez pas le tableau comme une promesse que chaque projet commence au niveau T1 ou que chaque charge de travail peut utiliser le taux maximal affiché.

Les erreurs courantes d’intégration initiale incluent :

  • L’absence de l’en-tête Authorization: Bearer ou la définition d’une mauvaise variable d’environnement.
  • L’envoi de kimi-k3 ou d’un nom marketing au lieu de moonshotai/kimi-k3.
  • L’utilisation de https://api.novita.ai/openai comme URL de base du SDK alors que le client attend le chemin versionné .../openai/v1.
  • L’envoi d’un corps de requête qui n’est pas un JSON valide.
  • La définition d’une limite de sortie plus grande que ce que votre application peut stocker ou traiter.
  • Le fait de supposer qu’un corps de requête multimodal est identique à travers tous les SDK ou familles de modèles.

Exemple Python

Installez le client Python OpenAI dans votre environnement, puis exécutez cet exemple avec NOVITA_API_KEY définie :

pip install openai
import os

from openai import OpenAI


client = OpenAI(
    api_key=os.environ["NOVITA_API_KEY"],
    base_url="https://api.novita.ai/openai/v1",
)

response = client.chat.completions.create(
    model="moonshotai/kimi-k3",
    messages=[
        {
            "role": "system",
            "content": "You are a concise engineering assistant.",
        },
        {
            "role": "user",
            "content": "List three risks when adding retries to a streaming API client.",
        },
    ],
    temperature=0.2,
    max_tokens=300,
)

print(response.choices[0].message.content)

L’exemple utilise intentionnellement une complétion courte. N’augmentez les budgets de contexte et de sortie qu’après avoir ajouté les mécanismes de délai d’attente, de tentative, de journalisation et de suivi d’utilisation appropriés pour votre application.

Exemple cURL

La même requête peut être testée sans SDK :

payload='{
  "model": "moonshotai/kimi-k3",
  "messages": [
    {
      "role": "system",
      "content": "You are a concise engineering assistant."
    },
    {
      "role": "user",
      "content": "List three risks when adding retries to a streaming API client."
    }
  ],
  "temperature": 0.2,
  "max_tokens": 300
}'

curl --request POST "https://api.novita.ai/openai/v1/chat/completions" \
  --header "Authorization: Bearer $NOVITA_API_KEY" \
  --header "Content-Type: application/json" \
  --data "$payload"

Paramètres clés

Paramètre Ce qu’il contrôle Valeur initiale raisonnable
model Le modèle hébergé qui répond à la requête moonshotai/kimi-k3
messages Tours de conversation système, utilisateur et assistant Un message système et un message utilisateur
temperature Variabilité de la sortie 0.2 pour des tests reproductibles
max_tokens Sortie générée maximale 300, puis augmentez délibérément
stream Si la sortie arrive de manière incrémentielle Laissez désactivé pendant le débogage
tools Définitions de fonctions disponibles pour le modèle Ajoutez après que le chat de base fonctionne
response_format Exigences de sortie structurée Validez le JSON renvoyé avant de l’utiliser

Pour les entrées d’image ou de vidéo, confirmez le format de requête actuel dans la documentation du modèle et de l’API avant de les ajouter à votre application. Les étiquettes de fonctionnalités sur une page de modèle ne remplacent pas le test de la structure de contenu exacte utilisée par votre bibliothèque cliente.

Dépannage

L’authentification échoue

Vérifiez que NOVITA_API_KEY est définie dans le même processus qui exécute la requête. Confirmez que l’en-tête utilise Bearer et non un paramètre de requête ou un nom d’identifiant différent.

Le modèle n’est pas trouvé

Utilisez l’ID exact moonshotai/kimi-k3. Le nom d’affichage du modèle n’est pas un substitut valide pour l’ID du modèle API.

La requête est rejetée

Réduisez les valeurs de l’invite et de max_tokens, validez le corps JSON et confirmez que le point de terminaison est /openai/v1/chat/completions. Si la requête utilise des images, des vidéos, des outils ou une sortie structurée, supprimez ces champs et ajoutez-les un par un.

Les requêtes sont lentes ou limitées en débit

Mesurez les nombres de tokens d’invite et de sortie, réduisez le contexte répété inutile et ajoutez un backoff exponentiel limité pour les réponses pouvant être relancées. Vérifiez le niveau de taux actuel de votre compte plutôt que de supposer le niveau le plus élevé du tableau de la page du modèle.

La réponse est incomplète

Inspectez la raison de fin et les données d’utilisation. Une petite valeur de max_tokens peut interrompre une réponse longue prématurément ; l’augmenter augmente également la quantité de sortie que votre application peut payer et traiter.

FAQ

Quel ID de modèle dois-je envoyer pour Kimi K3 ?

Envoyez moonshotai/kimi-k3 dans le champ model.

Quel point de terminaison le client OpenAI utilise-t-il ?

Définissez l’URL de base du SDK sur https://api.novita.ai/openai/v1. La requête de complétion de chat est envoyée à https://api.novita.ai/openai/v1/chat/completions.

Quelle est la taille de la fenêtre de contexte de Kimi K3 ?

La page de modèle Novita liste une fenêtre de contexte de 1 048 576 tokens et un paramètre de sortie maximale de 1 048 576 tokens. Vérifiez la page avant le déploiement pour les mises à jour.

L’appel à Kimi K3 est-il gratuit ?

Aucune affirmation d’accès gratuit n’est faite ici. La page du modèle liste la tarification serverless basée sur les tokens, alors vérifiez la tarification actuelle affichée pour votre compte et votre modèle avant d’envoyer des requêtes volumineuses.

Dois-je commencer par une requête multimodale ?

Non. Commencez par une petite requête texte uniquement afin que l’authentification, la sélection du point de terminaison, l’analyse de la réponse et la gestion des erreurs soient faciles à vérifier. Ajoutez les entrées multimodales après que ce chemin est stable.

Articles recommandés

Sources