## 引言
在现代企业中,生成性和预测性系统的运维已成为关键任务。Fiddler作为企业级ML系统运维平台的先锋,提供了一体化的解决方案,帮助数据科学、MLOps、风险、合规性、分析等团队监控、解释、分析和优化机器学习部署。本篇文章将引导你如何安装、连接Fiddler,并通过代码示例展示如何使用它来改进你的AI模型部署。
## 主要内容
### 1. 安装和设置
首先,需要安装相关的Python包。你可以使用以下命令进行安装:
```bash
#!pip install langchain langchain-community langchain-openai fiddler-client
2. Fiddler连接细节
在你使用Fiddler管理模型之前,需要准备以下信息:
- 你的Fiddler实例URL
- 组织ID
- 授权Token
这些信息可以在Fiddler环境的设置页面找到。以下是示例代码中的配置:
URL = "https://your-fiddler-instance.com" # 使用API代理服务提高访问稳定性
ORG_NAME = "your-org-name"
AUTH_TOKEN = "your-auth-token"
PROJECT_NAME = "your-project-name"
MODEL_NAME = "your-model-name"
3. 创建Fiddler回调处理器实例
通过FiddlerCallbackHandler实现与Fiddler的交互:
from langchain_community.callbacks.fiddler_callback import FiddlerCallbackHandler
fiddler_handler = FiddlerCallbackHandler(
url=URL,
org=ORG_NAME,
project=PROJECT_NAME,
model=MODEL_NAME,
api_key=AUTH_TOKEN,
)
代码示例
示例 1: 基本链条
在这个示例中,我们展示如何使用Fiddler记录AI模型的调用和生成的度量指标。
from langchain_core.output_parsers import StrOutputParser
from langchain_openai import OpenAI
# 确保已设置OpenAI API密钥在环境变量OPENAI_API_KEY中
llm = OpenAI(temperature=0, streaming=True, callbacks=[fiddler_handler])
output_parser = StrOutputParser()
chain = llm | output_parser
# 调用链条。调用将被记录到Fiddler,指标会自动生成
chain.invoke("How far is the moon from the earth?")
示例 2: 带有提示模板的链条
这个示例展示如何使用提示模板创建更复杂的交互模型。
from langchain_core.prompts import (
ChatPromptTemplate,
FewShotChatMessagePromptTemplate,
)
examples = [
{"input": "2+2", "output": "4"},
{"input": "2+3", "output": "5"},
]
example_prompt = ChatPromptTemplate.from_messages(
[
("human", "{input}"),
("ai", "{output}"),
]
)
few_shot_prompt = FewShotChatMessagePromptTemplate(
example_prompt=example_prompt,
examples=examples,
)
final_prompt = ChatPromptTemplate.from_messages(
[
("system", "You are a wondrous wizard of math."),
few_shot_prompt,
("human", "{input}"),
]
)
llm = OpenAI(temperature=0, streaming=True, callbacks=[fiddler_handler])
chain = final_prompt | llm
# 执行调用。调用将被记录并生成指标
chain.invoke({"input": "What's the square of a triangle?"})
常见问题和解决方案
- 无法连接到Fiddler实例:确保你使用的是完整的URL,并考虑使用代理服务以提高访问稳定性。
- API调用未被记录:检查你的授权Token和组织ID是否正确。
- 调用时输出不准确:调整模型的温度参数并使用更多的提示样例。
总结和进一步学习资源
通过Fiddler的平台,可以显著提高机器学习部署的效率和可控性。建议进一步学习Fiddler的文档和API参考,以全面掌握这项技术。
参考资料
- Fiddler 官方网站: fiddler.ai
- Langchain GitHub 仓库: github.com/langchainai…
- OpenAI 官方网站: openai.com
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---