跳到主内容

提示管理

通过提示管理工具(例如 Langfuse)运行实验或更改特定模型(例如从 gpt-4o 更改为 gpt4o-mini 微调版),而不是在应用程序中进行更改。

支持的集成链接
Langfuse入门
Humanloop入门

快速入门

import os 
import litellm

os.environ["LANGFUSE_PUBLIC_KEY"] = "public_key" # [OPTIONAL] set here or in `.completion`
os.environ["LANGFUSE_SECRET_KEY"] = "secret_key" # [OPTIONAL] set here or in `.completion`

litellm.set_verbose = True # see raw request to provider

resp = litellm.completion(
model="langfuse/gpt-3.5-turbo",
prompt_id="test-chat-prompt",
prompt_variables={"user_message": "this is used"}, # [OPTIONAL]
messages=[{"role": "user", "content": "<IGNORED>"}],
)

预期日志

POST Request Sent from LiteLLM:
curl -X POST \
https://api.openai.com/v1/ \
-d '{'model': 'gpt-3.5-turbo', 'messages': <YOUR LANGFUSE PROMPT TEMPLATE>}'

如何设置模型

在 LiteLLM 上设置模型

您可以使用 langfuse/<litellm_model_name>

litellm.completion(
model="langfuse/gpt-3.5-turbo", # or `langfuse/anthropic/claude-3-5-sonnet`
...
)

在 Langfuse 中设置模型

如果在 Langfuse 配置中指定了模型,将使用该模型。

model_list:
- model_name: gpt-3.5-turbo
litellm_params:
model: azure/chatgpt-v-2
api_key: os.environ/AZURE_API_KEY
api_base: os.environ/AZURE_API_BASE

“prompt_variables”是什么?

  • prompt_variables: 一个字典,包含用于替换提示部分的变量。

“prompt_id”是什么?

  • prompt_id: 将用于请求的提示 ID。

格式化后的提示会是什么样子?

/chat/completions 消息

客户端发送的 messages 字段将被忽略。

Langfuse 提示将替换 messages 字段。

要替换提示的部分内容,请使用 prompt_variables 字段。查看提示变量如何使用

如果 Langfuse 提示是字符串,它将作为用户消息发送(并非所有提供商都支持系统消息)。

如果 Langfuse 提示是列表,它将按原样发送(Langfuse 聊天提示与 OpenAI 兼容)。

架构概述

API 参考

这些是您可以传递给 SDK 中的 litellm.completion 函数和 config.yaml 中的 litellm_params 的参数

prompt_id: str # required
prompt_variables: Optional[dict] # optional
langfuse_public_key: Optional[str] # optional
langfuse_secret: Optional[str] # optional
langfuse_secret_key: Optional[str] # optional
langfuse_host: Optional[str] # optional