监控 OpenAI 模型
OpenAI 提供基于Transformer的语言模型,支持自然语言理解和生成。 本指南将向您展示如何使用 OpenAI 模型配合 OpenLLMetry 对应用程序进行监控,并将遥测数据发送至 Instana。
先决条件
确保满足下列先决条件:
- Python 3.8 或更高版本
- 一个 OpenAI API 密钥(请从 OpenAI Platform 获取)
- 一个 Instana 账户
- 代理模式与无代理模式入门指南
为您的 OpenAI 应用程序添加性能监控
安装必需的软件包。
pip install openai traceloop-sdk导出您的 OpenAI API 密钥。
export OPENAI_API_KEY="your-openai-api-key>"创建您的 OpenAI 应用程序。 创建一个名为 Python 的文件,并输入以下代码:
import os from openai import OpenAI from traceloop.sdk import Traceloop from traceloop.sdk.decorators import workflow # Initialize OpenAI client client = OpenAI(api_key=os.getenv("OPENAI_API_KEY")) # Initialize OpenLLMetry Traceloop.init(app_name="openai_chat_service", disable_batch=True) @workflow(name="openai_conversation") def ask_openai(question: str): """Send a question to OpenAI and get a response.""" response = client.chat.completions.create( model="gpt-4o-mini", messages=[{"role": "user", "content": question}] ) return response.choices[0].message.content # Example usage if __name__ == "__main__": questions = [ "What is AIOps and how does it help with IT operations?", "Explain the benefits of observability in modern applications." ] for question in questions: print(f"\nQuestion: {question}") answer = ask_openai(question) print(f"Answer: {answer}\n") print("-" * 80)运行该应用程序。
python3 openai_app.py该应用程序会将问题发送至 OpenAI ,并显示回复内容。 OpenLLMetry 会自动捕获每次对 API 的调用所产生的跟踪信息,并将其发送至 Instana。
在 Instana 上查看数据。
运行应用程序后, Instana Gen AI 可观测性仪表盘上将显示以下内容:
- 使用的模型
- 代币使用(输入和输出代币)
- 响应延迟
- 请求和响应内容
使用流式响应
对于实时响应流,请使用流式 API :
@workflow(name="openai_streaming")
def ask_openai_streaming(question: str):
"""Stream responses from OpenAI in real-time."""
stream = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": question}],
stream=True
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
print() # New line after streaming completes
故障诊断
对于“轨迹未显示”或“连接错误”等常见问题,请参阅 “故障排除 ”。
认证错误数
如果您遇到身份验证错误:
- 请确认您的设置
OPENAI_API_KEY是否正确 - 请检查您的 API 密钥在 OpenAI 平台上是否有效
- 请确保您的 API 密钥尚未过期或被撤销
- 请确认您的账户余额充足
速率限制错误
如果您遇到速率限制错误:
- 查看您的 OpenAI 账户的速率限制
- 如果进行多次调用,请在请求之间添加延迟
- 建议您升级 OpenAI 套餐,以获得更高的额度
- 为重试实现指数退避
找不到模型的错误
如果您遇到“找不到模型”的错误:
- 请确认型号名称是否正确(例如:
gpt-4o-mini,gpt-4o,gpt-3.5-turbo) - 请检查您的 API 密钥是否具有访问指定模型的权限
- 请确认该机型在您所在地区有售
- 有关可用模型的信息,请参阅 OpenAI's 上的模型文档