6.3 KiB
6.3 KiB
OpenLIT
OpenLIT 是一个开源的 AI 工程平台,为大型语言模型(LLM)、GPU 和向量数据库提供 OpenTelemetry 原生的可观测性、监控和管理工具。
功能特性
- 📈 分析仪表板:通过详细的仪表板监控 AI 应用程序的健康状况和性能,跟踪指标、成本和用户交互
- 🔌 OpenTelemetry 原生可观测性 SDK:供应商中立的 SDK,可将跟踪和指标发送到现有的可观测性工具
- 💲 成本跟踪:使用自定义定价文件为特定模型定制成本估算,实现精确预算
- 🐛 异常监控:通过跟踪常见异常和错误快速发现并解决问题
- 💭 提示词管理:使用 Prompt Hub 管理和版本化提示词,确保应用程序之间的一致性和便捷访问
- 🔑 API 密钥和密钥管理:集中安全地处理 API 密钥和密钥
- 🎮 实验不同的 LLM:使用 OpenGround 并排探索、测试和比较各种 LLM
- 🚀 OpAMP 管理的 Fleet Hub:使用 OpAMP(开放代理管理协议)集中管理和监控整个基础设施中的 OpenTelemetry Collector,并支持安全的 TLS 通信
快速开始
-
复制
.env.example为.env并根据需要自定义:cp .env.example .env -
启动服务:
docker compose up -d -
访问 OpenLIT:
http://localhost:3000 -
使用默认凭据登录:
- 邮箱:
user@openlit.io - 密码:
openlituser
- 邮箱:
组件说明
此部署包含以下组件:
- OpenLIT 平台:提供 UI 和 API 的主应用程序(端口:3000)
- ClickHouse:存储遥测数据的数据库(端口:8123、9000)
- OTLP 接收器:
- gRPC:端口 4317
- HTTP:端口 4318
与应用程序集成
将 OpenLIT 集成到 AI 应用程序:
Python SDK
pip install openlit
import openlit
openlit.init(
otlp_endpoint="http://localhost:4318"
)
TypeScript SDK
npm install openlit
import Openlit from 'openlit';
Openlit.init({
otlpEndpoint: 'http://localhost:4318'
});
环境变量
关键配置选项(查看 .env.example 获取所有选项):
| 变量 | 说明 | 默认值 |
|---|---|---|
OPENLIT_VERSION |
OpenLIT 镜像版本 | latest |
CLICKHOUSE_VERSION |
ClickHouse 版本 | 24.4.1 |
OPENLIT_PORT_OVERRIDE |
主机上的 UI 端口 | 3000 |
OPENLIT_OTLP_HTTP_PORT_OVERRIDE |
OTLP HTTP 端口 | 4318 |
OPENLIT_OTLP_GRPC_PORT_OVERRIDE |
OTLP gRPC 端口 | 4317 |
OPENLIT_DB_PASSWORD |
ClickHouse 密码 | OPENLIT |
OPAMP_ENVIRONMENT |
OpAMP 模式(development/production) | production |
资源需求
默认资源分配:
- OpenLIT:
- 限制:1 CPU、2GB 内存
- 预留:0.25 CPU、512MB 内存
- ClickHouse:
- 限制:2 CPU、4GB 内存
- 预留:0.5 CPU、2GB 内存
根据工作负载在 .env 文件中调整这些值。
OAuth 配置(可选)
要启用 OAuth 身份验证:
-
配置 Google OAuth:
GOOGLE_CLIENT_ID=your-client-id GOOGLE_CLIENT_SECRET=your-client-secret -
配置 GitHub OAuth:
GITHUB_CLIENT_ID=your-client-id GITHUB_CLIENT_SECRET=your-client-secret
OpAMP Fleet Hub
OpenLIT 包含用于集中管理 OpenTelemetry Collector 的 OpAMP 服务器:
- Fleet Hub 访问地址:
http://localhost:3000/fleet-hub - OpAMP 端点:
wss://localhost:4320/v1/opamp(生产模式) - API 端点:
http://localhost:8080
对于生产部署,请确保正确的 TLS 配置:
OPAMP_ENVIRONMENT=production
OPAMP_TLS_INSECURE_SKIP_VERIFY=false
OPAMP_TLS_REQUIRE_CLIENT_CERT=true
支持的集成
OpenLIT 为 50 多种 LLM 提供商、向量数据库和框架提供自动仪表化,包括:
- LLM 提供商:OpenAI、Anthropic、Cohere、Azure OpenAI、Google Vertex AI、Bedrock 等
- 向量数据库:Pinecone、Weaviate、ChromaDB、Qdrant、Milvus 等
- 框架:LangChain、LlamaIndex、Haystack、AutoGen、CrewAI 等
健康检查
OpenLIT 服务包含健康检查以确保正确启动。当满足以下条件时,服务被视为健康:
- Web 界面在配置的端口上响应
- 间隔:30 秒
- 超时:10 秒
- 启动期:60 秒
数据持久化
数据持久化在 Docker 卷中:
clickhouse_data:ClickHouse 数据库文件openlit_data:OpenLIT 应用程序数据,包括 SQLite 数据库
监控
监控部署:
# 查看日志
docker compose logs -f openlit
# 检查服务状态
docker compose ps
# 查看资源使用情况
docker stats
安全注意事项
- 更改默认密码:在生产环境中更新
OPENLIT_DB_PASSWORD - TLS 配置:对于生产环境,请在 OpAMP 中使用正确的 TLS 证书
- OAuth:考虑启用 OAuth 以增强安全性
- 网络:默认情况下,服务在所有接口上公开。在生产环境中考虑使用反向代理
故障排除
服务无法启动
- 检查日志:
docker compose logs openlit - 验证 ClickHouse 是否健康:
docker compose ps - 确保端口未被占用
无法连接到 OTLP 端点
- 验证防火墙设置
- 检查
.env中的端口配置 - 确保应用程序中的端点 URL 正确
资源使用率高
- 在
.env中调整资源限制 - 使用以下命令监控:
docker stats - 考虑为大型工作负载扩展 ClickHouse 资源
文档
- 官方文档:https://docs.openlit.io/
- GitHub 仓库:https://github.com/openlit/openlit
- Python SDK:https://github.com/openlit/openlit/tree/main/sdk/python
- TypeScript SDK:https://github.com/openlit/openlit/tree/main/sdk/typescript
许可证
OpenLIT 采用 Apache-2.0 许可证。