Documentation Index
Fetch the complete documentation index at: https://wb-21fd5541-john-wbdocs-2044-rename-serverless-products.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Lors de la création de flux de travail LLM complexes, vous pouvez avoir besoin de solliciter différents modèles selon la précision,
le coût ou la latence des appels. Vous pouvez utiliser Not Diamond pour acheminer les prompts dans ces flux de travail vers le
modèle le plus adapté à vos besoins, afin de maximiser la précision tout en réduisant les coûts liés aux modèles.
Assurez-vous d’avoir créé un compte et généré une clé API, puis ajoutez votre clé API
à vos variables d’environnement sous le nom NOTDIAMOND_API_KEY.
À partir de là, vous pouvez
Weave s’intègre à la bibliothèque Python de Not Diamond pour journaliser automatiquement les appels d’API.
Il vous suffit d’exécuter weave.init() au début de votre flux de travail, puis de continuer à utiliser le
fournisseur avec routage comme d’habitude :
from notdiamond import NotDiamond
import weave
weave.init('notdiamond-quickstart')
client = NotDiamond()
session_id, provider = client.chat.completions.model_select(
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Concisely explain merge sort."}
],
model=['openai/gpt-4o', 'anthropic/claude-3-5-sonnet-20240620']
)
print("LLM called: ", provider.provider) # openai, anthropic, etc
print("Provider model: ", provider.model) # gpt-4o, claude-3-5-sonnet-20240620, etc
Vous pouvez également entraîner votre propre [routeur personnalisé] à partir d’Évaluations, afin de permettre à Not Diamond d’acheminer les prompts
en fonction des performances obtenues lors des évaluations pour des cas d’usage spécialisés.
Commencez par entraîner un routeur personnalisé :
from weave.flow.eval import EvaluationResults
from weave.integrations.notdiamond.custom_router import train_router
# Créer une Évaluation sur gpt-4o et Claude 3.5 Sonnet
evaluation = weave.Evaluation(...)
gpt_4o = weave.Model(...)
sonnet = weave.Model(...)
model_evals = {
'openai/gpt-4o': evaluation.get_eval_results(gpt_4o),
'anthropic/claude-3-5-sonnet-20240620': evaluation.get_eval_results(sonnet),
}
preference_id = train_router(
model_evals=model_evals,
prompt_column="prompt",
response_column="actual",
language="en",
maximize=True,
)
En réutilisant cet ID de préférence dans n’importe quelle requête model_select, vous pouvez acheminer vos prompts
afin de maximiser les performances et de minimiser le coût sur vos données d’évaluation :
from notdiamond import NotDiamond
client = NotDiamond()
import weave
weave.init('notdiamond-quickstart')
session_id, provider = client.chat.completions.model_select(
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Concisely explain merge sort."}
],
model=['openai/gpt-4o', 'anthropic/claude-3-5-sonnet-20240620'],
# passer cet ID de préférence réutilise votre routeur personnalisé
preference_id=preference_id
)
print("LLM called: ", provider.provider) # openai, anthropic, etc
print("Provider model: ", provider.model) # gpt-4o, claude-3-5-sonnet-20240620, etc
Assistance complémentaire
Consultez la docs ou envoyez-nous un message si vous avez besoin d’une aide supplémentaire.