# OpenLIT OpenLIT 是一个开源的 AI 工程平台,为大型语言模型(LLM)、GPU 和向量数据库提供 OpenTelemetry 原生的可观测性、监控和管理工具。 ## 功能特性 - **📈 分析仪表板**:通过详细的仪表板监控 AI 应用程序的健康状况和性能,跟踪指标、成本和用户交互 - **🔌 OpenTelemetry 原生可观测性 SDK**:供应商中立的 SDK,可将跟踪和指标发送到现有的可观测性工具 - **💲 成本跟踪**:使用自定义定价文件为特定模型定制成本估算,实现精确预算 - **🐛 异常监控**:通过跟踪常见异常和错误快速发现并解决问题 - **💭 提示词管理**:使用 Prompt Hub 管理和版本化提示词,确保应用程序之间的一致性和便捷访问 - **🔑 API 密钥和密钥管理**:集中安全地处理 API 密钥和密钥 - **🎮 实验不同的 LLM**:使用 OpenGround 并排探索、测试和比较各种 LLM - **🚀 OpAMP 管理的 Fleet Hub**:使用 OpAMP(开放代理管理协议)集中管理和监控整个基础设施中的 OpenTelemetry Collector,并支持安全的 TLS 通信 ## 快速开始 1. 复制 `.env.example` 为 `.env` 并根据需要自定义: ```bash cp .env.example .env ``` 2. 启动服务: ```bash docker compose up -d ``` 3. 访问 OpenLIT:`http://localhost:3000` 4. 使用默认凭据登录: - 邮箱:`user@openlit.io` - 密码:`openlituser` ## 组件说明 此部署包含以下组件: - **OpenLIT 平台**:提供 UI 和 API 的主应用程序(端口:3000) - **ClickHouse**:存储遥测数据的数据库(端口:8123、9000) - **OTLP 接收器**: - gRPC:端口 4317 - HTTP:端口 4318 ## 与应用程序集成 将 OpenLIT 集成到 AI 应用程序: ### Python SDK ```bash pip install openlit ``` ```python import openlit openlit.init( otlp_endpoint="http://localhost:4318" ) ``` ### TypeScript SDK ```bash npm install openlit ``` ```typescript 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 身份验证: 1. 配置 Google OAuth: ```env GOOGLE_CLIENT_ID=your-client-id GOOGLE_CLIENT_SECRET=your-client-secret ``` 2. 配置 GitHub OAuth: ```env 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 配置: ```env 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 数据库 ## 监控 监控部署: ```bash # 查看日志 docker compose logs -f openlit # 检查服务状态 docker compose ps # 查看资源使用情况 docker stats ``` ## 安全注意事项 1. **更改默认密码**:在生产环境中更新 `OPENLIT_DB_PASSWORD` 2. **TLS 配置**:对于生产环境,请在 OpAMP 中使用正确的 TLS 证书 3. **OAuth**:考虑启用 OAuth 以增强安全性 4. **网络**:默认情况下,服务在所有接口上公开。在生产环境中考虑使用反向代理 ## 故障排除 ### 服务无法启动 - 检查日志:`docker compose logs openlit` - 验证 ClickHouse 是否健康:`docker compose ps` - 确保端口未被占用 ### 无法连接到 OTLP 端点 - 验证防火墙设置 - 检查 `.env` 中的端口配置 - 确保应用程序中的端点 URL 正确 ### 资源使用率高 - 在 `.env` 中调整资源限制 - 使用以下命令监控:`docker stats` - 考虑为大型工作负载扩展 ClickHouse 资源 ## 文档 - 官方文档: - GitHub 仓库: - Python SDK: - TypeScript SDK: ## 许可证 OpenLIT 采用 Apache-2.0 许可证。 ## 支持 - [Slack 社区](https://join.slack.com/t/openlit/shared_invite/zt-2etnfttwg-TjP_7BZXfYg84oAukY8QRQ) - [Discord](https://discord.gg/CQnXwNT3) - [GitHub Issues](https://github.com/openlit/openlit/issues) - [X/Twitter](https://twitter.com/openlit_io)