Opik 是一个用于跟踪和评估大语言模型(LLM)应用的工具,支持多种流行框架,能提供详细的指标分析,助力开发者高效进行大语言模型应用开发。
Opik 支持多种主流大语言模型框架,若使用这些框架,可直接集成 Opik;若未使用,也能通过 track 装饰器记录函数调用。同时,Opik 提供了丰富的指标和评估工具,帮助开发者评估模型效果,还支持将模型无缝集成到现有 CI/CD 管道中。
Opik 目前支持以下主流的大语言模型框架:
| 框架名称 | 代码示例 | 文档链接 |
|---|---|---|
| Hugging Face | python import transformersfrom transformers import pipelinemodel = pipeline('text-generation') |
Hugging Face 文档 |
| OpenAI | python import openaiclient = openai.OpenAI() |
OpenAI API 文档 |
| Amazon Bedrock | python from amazonbedrock import BedrockClient |
Amazon Bedrock 文档 |
| Anthropic | python from anthropic import Anthropic |
Anthropic API 文档 |
| Google AI | python from google.generativeai import GenerativeAI |
Google AI 文档 |
| Microsoft Azure | python from azure.core.credentials import AzureKeyCredentialfrom azure.ai.chatbots import ChatCompletion |
Microsoft Azure 文档 |
| Stability AI | python import stability_ai |
Stability AI 文档 |
| Watsonx | python from ibm_watson_machine_learning importWatsonML |
Watsonx 文档 |
⚠️ 重要提示
如果您使用的是上述框架以外的工具,请随时提交问题或通过 Pull Request 添加集成支持。
如果您未使用任何上述框架,Opik 提供了灵活的track装饰器来记录函数调用:
import opik
opik.configure(use_local=True) # 本地运行
@opik.track
def my_llm_function(user_question: str) -> str:
# 大语言模型代码
return "Hello"
💡 使用建议
track装饰器可与任何集成结合使用,也可用于跟踪嵌套函数调用。
Opik 提供了一系列指标,帮助您评估大语言模型应用的效果。更多内容请参考指标文档。
使用这些指标非常简单,只需导入相关度量并调用score方法:
from opik.evaluation.metrics import Hallucination
metric = Hallucination()
score = metric.score(
input="What is the capital of France?",
output="Paris",
context="France's capital has been Paris since 1590."
)
print(score) # 输出评估结果
Opik 提供了详细的性能报告和可视化工具,帮助您全面了解大语言模型的表现。
from opik import evaluate
results = evaluate(
model="gpt-4",
inputs=inputs,
outputs=outputs,
metrics=["precision", "recall", "f1"]
)
print(results) # 输出评估结果
Opik 支持将大语言模型无缝集成到现有 CI/CD 管道中:
from opik.deploy import deploy
model = ... # 加载您的大语言模型
deploy(model, "my-model-endpoint", platform="aws") # 部署到 AWS 云服务
我们欢迎社区的贡献,您可以通过以下方式参与:
感谢您选择 Opik,让我们一起推动大语言模型技术的发展!