项目简介
Laminar 是一个用于工程LLM产品的开源平台。跟踪、评估、注释和分析LLM数据。充满信心地将LLM应用程序投入生产。
将其视为LLM应用程序的 DataDog + PostHog。
基于 OpenTelemetry 的检测:自动进行LLM / 矢量 DB 调用,只需 2 行代码 + 装饰器即可跟踪函数(由 TraceLoop 的令人惊叹的OpenLLMetry开源包提供支持)。
基于语义事件的分析。Laminar 托管LLM管道的后台作业队列。这些管道的输出被转化为指标。例如,您可以设计一个管道来提取“我的 AI 得来速代理进行了追加销售”数据,并在 Laminar 中跟踪该指标。
使用现代堆栈进行扩展:用 Rust 编写,用于消息队列的 RabbitMQ,用于数据的 Postgres,用于分析的 Clickhouse
具有洞察力、快速的跟踪/跨度/事件仪表板
入门
Laminar云
最简单的入门方法是在我们的托管平台上使用慷慨的免费套餐 -> lmnr.ai
使用 Docker compose 自托管
使用 docker compose 启动本地版本。
git clone https://github.com/lmnr-ai/lmnr
cd lmnr
docker compose up
这将启动以下容器:
应用程序服务器 – 核心应用程序逻辑、后端和LLM代理
rabbitmq – 用于可靠发送跟踪和观察的消息队列
qdrant – 矢量数据库
语义搜索服务 – 与 qdrant 和嵌入交互的服务
frontend – 用于与轨迹交互的可视化前端仪表板
python-executor – 一个小型 python 沙箱,可以运行包含在瘦 gRPC 服务下的任意代码
postgres – 所有应用程序数据的数据库
clickhouse – 柱状 OLAP 数据库,可实现更高效的事件和跟踪分析
本地开发
上面的简单设置将从 Github 容器注册表中提取最新的 Laminar 镜像。
检测 Python 代码
首先,创建一个项目并生成一个项目 API 密钥。然后,
pip install lmnr
echo "LMNR_PROJECT_API_KEY=<YOUR_PROJECT_API_KEY>" .env
要自动检测流行框架和LLM提供程序库的LLM调用,只需添加
from lmnr import Laminar as L
L.initialize(project_api_key="<LMNR_PROJECT_API_KEY>")
除了自动检测之外,如果您想跟踪函数的输入/输出,我们还提供一个简单的@observe()
装饰器
例子
import os
from openai import OpenAI
from lmnr import observe, Laminar as L
L.initialize(project_api_key="<LMNR_PROJECT_API_KEY>")
client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])
def poem_writer(topic="turbulence"):
prompt = f"write a poem about {topic}"
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": prompt},
],
)
poem = response.choices[0].message.content
return poem
if __name__ == "__main__":
print(poem_writer(topic="laminar flow"))
发送事件
要发送 evant,请调用L.event(name, value)
。
阅读我们的文档以了解有关事件及其创建方式的更多信息。
from lmnr import Laminar as L
# ...
poem = response.choices[0].message.content
# this will register True or False value with Laminar
L.event("topic alignment", topic in poem)
Laminar管道作为prompt链管理器
您可以在 UI 中创建Laminar 管道并在那里管理LLM调用链。
准备好在代码中使用管道后,通过选择管道的目标版本将其部署在 Laminar 中。
设置管道目标后,您只需几行即可从 Python 调用它。
from lmnr import Laminar as L
L.initialize('<YOUR_PROJECT_API_KEY>')
result = l.run(
pipeline = 'my_pipeline_name',
inputs = {'input_node_name': 'some_value'},
# all environment variables
env = {'OPENAI_API_KEY': 'sk-some-key'},
)
项目链接
https://github.com/lmnr-ai/lmnr
扫码加入技术交流群,备注「开发语言-城市-昵称」
合作请注明
关注「GitHubStore」公众号