Files
compose-anything/apps/openlit/README.zh.md
2026-01-15 09:12:18 +08:00

222 lines
6.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 资源
## 文档
- 官方文档:<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 许可证。
## 支持
- [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)