feat: add openlit & openobserve & buildingai
This commit is contained in:
221
apps/openlit/README.zh.md
Normal file
221
apps/openlit/README.zh.md
Normal file
@@ -0,0 +1,221 @@
|
||||
# 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)
|
||||
Reference in New Issue
Block a user