Passer au contenu principal
De nombreux développeurs exécutent des modèles open source comme Llama 3, Mixtral, Gemma et Phi sur leur propre matériel. Weave prend en charge par défaut plusieurs runners de modèles locaux, à condition qu’ils offrent la compatibilité du SDK OpenAI. Ce guide vous montre comment tracer les appels à des modèles hébergés localement avec Weave afin de capturer les entrées, les sorties et les métadonnées de la même manière que pour des fournisseurs de LLM hébergés. Il s’adresse aux développeurs qui exécutent des modèles open source sur leur propre machine et qui souhaitent bénéficier d’une observabilité sur ces appels.

Décorez les fonctions de modèle local avec @weave.op()

Si votre modèle local n’est pas accessible via un runner compatible avec OpenAI, vous pouvez tout de même capturer les traces en encapsulant vos propres fonctions d’appel de modèle. Intégrez Weave à n’importe quel LLM en initialisant Weave avec weave.init('<your-project-name>'), puis en encapsulant les appels à vos LLM avec weave.op(). Pour plus de détails, voir le guide de Tracing.

Mettez à jour votre code du SDK d’OpenAI pour utiliser des modèles locaux

Si votre runner de modèle local prend en charge le SDK d’OpenAI, vous pouvez rediriger le client OpenAI existant vers celui-ci en apportant deux modifications. La principale modification concerne le paramètre base_url lors de l’initialisation de openai.OpenAI(). Cela indique au SDK d’OpenAI d’envoyer les requêtes à votre serveur local plutôt qu’à l’API hébergée d’OpenAI.
client = openai.OpenAI(
    base_url="http://localhost:1234",
)
Pour les modèles locaux, api_key peut être n’importe quelle chaîne, mais vous devez la redéfinir. Sinon, le SDK d’OpenAI la lit dans les variables d’environnement et affiche une erreur.

Runners de modèles locaux pris en charge

Les runners suivants vous permettent de télécharger et d’exécuter des modèles Hugging Face sur votre ordinateur. Chaque runner expose un point de terminaison compatible avec OpenAI vers lequel vous pouvez faire pointer le SDK d’OpenAI en appliquant les modifications précédentes.
  • Nomic GPT4All - prise en charge via Local Server dans les paramètres (FAQ)
  • LMStudio - prise en charge du SDK d’OpenAI via Local Server, documentation
  • Ollama - compatibilité OpenAI pour le SDK d’OpenAI
  • llama-cpp-python - package Python permettant d’exécuter llama.cpp avec la prise en charge du SDK d’OpenAI
  • llamafile - http://localhost:8080/v1 prend automatiquement en charge le SDK d’OpenAI lorsque vous exécutez Llamafile