Anyscale

Portkey 帮助将 Anyscale API 推向生产环境,提供可观察性、回退、缓存等抽象。通过 Portkey 使用 Anyscale API 以实现:

  1. 增强日志记录:通过详细洞察跟踪 API 使用情况。

  2. 生产可靠性:自动回退、负载均衡和缓存。

  3. 持续改进:收集并应用用户反馈。

  4. 增强微调:结合日志和用户反馈进行有针对性的微调。

1.1 设置与日志记录

  1. 设置 $ export OPENAI_API_KEY=ANYSCALE_API_KEY

  2. 获取您的 Portkey API 密钥

  3. 切换到 Portkey 网关 URL: https://api.portkey.ai/v1/proxy

查看请求的完整日志(延迟、费用、令牌)——并通过他们的分析套件深入挖掘数据。

""" OPENAI PYTHON SDK """
import openai

PORTKEY_GATEWAY_URL = "https://api.portkey.ai/v1"

PORTKEY_HEADERS = {
	'Authorization': 'Bearer ANYSCALE_KEY',
	'Content-Type': 'application/json',
	# **************************************
	'x-portkey-api-key': 'PORTKEY_API_KEY', 	# Get from https://app.portkey.ai/,
	'x-portkey-provider': 'anyscale' 		# Tell Portkey that the request is for Anyscale
	# **************************************
}

client = openai.OpenAI(base_url=PORTKEY_GATEWAY_URL, default_headers=PORTKEY_HEADERS)

response = client.chat.completions.create(
    model="mistralai/Mistral-7B-Instruct-v0.1",
    messages=[{"role": "user", "content": "Say this is a test"}]
)

print(response.choices[0].message.content)

1.2. 增强可观察性

  • 跟踪 单个 ID 的请求。

  • 附加自定义标签 以进行请求分段和深入分析。

只需将相关的头部添加到您的请求中:

您的日志将在 Portkey 仪表板上显示如下:

2. 缓存、回退、负载均衡

  • 回退:确保您的应用在主要服务失败时仍然能够正常运行。

  • 负载均衡:高效地在多个模型之间分配传入请求。

  • 语义缓存:通过智能缓存结果来降低成本和延迟。

通过保存 Configs(从 Portkey 仪表板 > Configs 标签)来切换这些功能。

如果我们想启用语义缓存 + 从 Llama2 回退到 Mistral,您的 Portkey 配置将如下所示:

现在,只需发送带有 x-portkey-config 头的配置 ID:

有关 Configs 和其他网关功能如负载均衡的更多信息,请 查看文档。

3. 收集反馈

从用户那里收集加权反馈并改进您的应用:

4. 持续微调

一旦您开始使用 Portkey 记录请求及其反馈,就可以非常轻松地 1️) 策划和创建微调数据,2) 安排微调任务,以及 3) 使用微调后的模型!

目前,微调功能仅对部分组织开放 - 请在 Portkey Discord 上申请访问权限,我们会尽快回复您。

结论

将 Portkey 与 Anyscale 集成可以帮助您从一开始就构建弹性的 LLM 应用程序。借助语义缓存、可观察性、负载均衡、反馈和后备等功能,您可以确保最佳性能和持续改进。

在这里阅读完整的 Portkey 文档。 | 联系 Portkey 团队。

Last updated