这款可观测性工具直接将你的大模型应用成本降低50%

本文首发于博客 LLM 应用开发实践

Helicone 是一个开源的 LLM 应用可观测性平台,用于记录所有请求到 OpenAI 的日志,并提供用户友好的 UI 界面、缓存、自定义速率限制和重试等功能。它可以通过用户和自定义属性跟踪成本和延迟,并为每个请求提供一个调试环境(playground),以在 UI 中迭代提示和聊天对话内容。此外,Helicone 还提供了 Python 和 Node.JS 支持,以及开发者文档和社区支持。该项目已入选 YC W23(Y Combinator 2023冬季批次加速器计划)。本篇我将对 Helicone 具备的一些关键能力进行说明。

我的新书《LangChain编程从入门到实践》 已经开售!推荐正在学习AI应用开发的朋友购买阅读!
LangChain编程从入门到实践

总体架构图

总体架构图

请求监控

内置仪表盘,可实时监控应用程序的关键指标,如成本、使用情况和延迟等,还可以通过一个界面查看所有请求,按时间、用户和自定义属性过滤请求,优化 API 使用情况,降低成本。

请求监控

请求调试

对每次请求内容进行了统计,对有问题的请求可以直接进入实验区(Playground)进行测试。

请求调试

速率限制

可让控制在特定时间范围内使用 API 密钥发出的请求数。例如,可以将用户限制为每天 1000 个请求或每分钟 60 个请求,通过实施速率限制,可以防止滥用。

openai.api_base = "https://oai.hconeai.com/v1"

openai.Completion.create(
model="text-davinci-003",
prompt="How do I enable retries?",
headers={
"Helicone-Property-IP": "111.1.1.1",
"Helicone-RateLimit-Policy": "1000;w=60;s=ip_address",
}
)

缓存功能

具备缓存功能, 减少 LLM 端点的重复调用,可以节省成本, 并且缓存策略可配置。可以设置缓存存储桶的大小,以便在第 n 个请求之后,我们从存储桶中先前缓存的元素中随机选择,下面是存储桶大小为 3 的示例

openai.completion("give me a random number") -> "42"
# Cache Miss
openai.completion("give me a random number") -> "47"
# Cache Miss
openai.completion("give me a random number") -> "17"
# Cache Miss
openai.completion("give me a random number") -> This will randomly choose 42 | 47 | 17
# Cache Hit

缓存功能

兼容性好

支持与多种语言和库集成,包括 cURL、Python、Node、langchain 等,使其可以无缝集成到现有工作流中。

兼容性好

异步和代理方式

当前只支持 OpenAI 和 Anthropic 两家模型,其他模型个人要按需进行开发,其中 OpenAI 模型支持异步和代理方式。

异步和代理方式

两种代理方式的区别
Proxy 代理Async 异步
Easy setup 易于设置
Custom rate limiting 自定义速率限制
Bucket Cache 存储桶缓存
Retries 重试
Not on critical path 不在关键路径上
0 Propagation Delay 0 传播延迟
Open source 开源
Custom Properties 自定义属性
User Metrics 用户指标
Negligible Logging Delay 日志记录延迟可忽略不计
Streaming Support 流媒体支持
代理方式

Proxy 允许用户轻松集成,因为用户只需将他们对 LLM 的调用替换为对代理的调用。然后,代理会将请求转发给 LLM,并将响应返回给用户。由于代理位于边缘并且是请求的守门人,因此能够将一套工具(如缓存、退避和速率限制)直接检测到代理中。

代理方式

对 Helicone 代理进行基准测试

  • 500 个请求

  • 两者都在相同的 1s 窗口中收到相同的请求

  • 最大化了提示上下文窗口,以使这些请求尽可能大

  • 使用了 text-ada-001

  • 记录了完成两次往返的往返时间的延迟

    结果统计
    StatisticOpenai (s)Helicone (s)
    Mean2.212.21
    Median2.872.90
    Standard Deviation1.121.12
    Min0.140.14
    Max3.563.76
    p100.520.52
    p903.273.29
异步方式

异步允许更灵活的工作流程,其中事件的实际日志记录不在关键路径上。这让一些用户更有信心,如果停机或存在网络问题,它不会影响应用程序。

异步方式

属性配置

可以通过配置属性的方式对请求进行分组标记和管理,比如下面通过会话、对话或应用 ID 字段进行记录。

openai.api_base = "https://oai.hconeai.com/v1"
openai

openai.Completion.create(
    model="text-davinci-003",
    prompt="Say this is a test",
    headers={
        "Helicone-Auth": "Bearer HELICONE_API_KEY"
        "Helicone-Property-Session": "24",
        "Helicone-Property-Conversation": "support_issue_2",
        "Helicone-Property-App": "mobile",
    }
)

支持自部署

开源使用,支持个人在云平台和本地环境中进行部署。

更多内容在公号:LLM 应用全栈开发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值