feat: add phoenix & trigger.dev

This commit is contained in:
Sun-ZhenXing
2025-12-09 15:19:11 +08:00
parent 0b11022ef8
commit 8f30f94184
20 changed files with 1726 additions and 617 deletions

100
src/phoenix/README.zh.md Normal file
View File

@@ -0,0 +1,100 @@
# Arize Phoenix
[English](./README.md) | [中文](./README.zh.md)
Arize Phoenix 是一个开源的 AI 可观测性平台,专为 LLM 应用设计。它提供追踪、评估、数据集和实验功能,帮助你构建和改进 AI 应用。
## 服务
- `phoenix`Phoenix 主应用服务器,包含 UI 和 OpenTelemetry 采集器。
- `phoenix-db`:用于持久化存储的 PostgreSQL 数据库。
## 端口
| 端口 | 协议 | 描述 |
| ---- | ---- | -------------------------------------- |
| 6006 | HTTP | UI 和 OTLP HTTP 采集器(`/v1/traces` |
| 4317 | gRPC | OTLP gRPC 采集器 |
## 环境变量
| 变量名 | 描述 | 默认值 |
| -------------------------- | --------------------------------- | ----------------- |
| PHOENIX_VERSION | Phoenix 镜像版本 | `version-12.19.0` |
| PHOENIX_PORT_OVERRIDE | Phoenix UI 和 HTTP API 的主机端口 | `6006` |
| PHOENIX_GRPC_PORT_OVERRIDE | OTLP gRPC 采集器的主机端口 | `4317` |
| PHOENIX_ENABLE_PROMETHEUS | 启用 Prometheus 指标端点 | `false` |
| PHOENIX_SECRET | 认证密钥(可选) | `""` |
| POSTGRES_VERSION | PostgreSQL 镜像版本 | `17.2-alpine3.21` |
| POSTGRES_USER | PostgreSQL 用户名 | `postgres` |
| POSTGRES_PASSWORD | PostgreSQL 密码 | `postgres` |
| POSTGRES_DB | PostgreSQL 数据库名 | `phoenix` |
## 数据卷
- `phoenix_db_data`PostgreSQL 数据卷,用于持久化存储。
## 快速开始
1. 复制示例环境文件:
```bash
cp .env.example .env
```
2. (可选)生产环境下,请设置安全的密码和密钥:
```bash
# 生成认证密钥
openssl rand -base64 32
```
3. 启动服务:
```bash
docker compose up -d
```
4. 访问 Phoenix UI`http://localhost:6006`
## 发送追踪数据
Phoenix 支持 OpenTelemetry 兼容的追踪数据。你可以通过以下方式发送追踪:
### HTTPOTLP
发送追踪到 `http://localhost:6006/v1/traces`
### gRPCOTLP
发送追踪到 `localhost:4317`
### Python 示例
```python
from phoenix.otel import register
tracer_provider = register(
project_name="my-llm-app",
endpoint="http://localhost:6006/v1/traces",
)
```
## 功能特性
- **追踪**:捕获和可视化 LLM 应用追踪,支持 OpenTelemetry。
- **评估**:使用内置或自定义评估器运行评估。
- **数据集**:创建和管理用于测试和评估的数据集。
- **实验**:运行实验以比较模型性能。
- **Playground**:交互式测试不同模型的提示词。
## 文档
更多信息请访问 [Phoenix 官方文档](https://docs.arize.com/phoenix)。
## 安全说明
- 生产环境请更改默认的 PostgreSQL 密码。
- 如果公开暴露 Phoenix请设置 `PHOENIX_SECRET` 进行认证。
- 生产环境建议使用反向代理并启用 SSL/TLS。
- 定期备份 PostgreSQL 数据库。