LLM Observability
Langfuse
Công cụ observability cho LLM, theo dõi traces, chi phí và chất lượng của ứng dụng AI.
Ghi chú review
Nên chạy cùng PostgreSQL riêng. Tích hợp bằng SDK vào ứng dụng AI để gửi traces.
Hướng dẫn deploy
Chạy bằng Docker Compose với PostgreSQL. Tích hợp SDK vào ứng dụng để bắt đầu thu thập traces.
- Tạo file docker-compose với Langfuse và PostgreSQL.
- Cấu hình biến môi trường: database, secret key và domain.
- Chạy Docker Compose và truy cập web UI.
- Tạo project và lấy API keys.
- Tích hợp Langfuse SDK vào ứng dụng AI để gửi traces.
Backup:Backup database PostgreSQL chứa toàn bộ traces và project settings.
Copy để chạy trên server
Dùng từng block riêng: lưu compose trước, hoặc copy script bash để tạo file và chạy container.
docker-compose.ymlyaml
services:
langfuse:
image: langfuse/langfuse:latest
container_name: langfuse
environment:
DATABASE_URL: "postgresql://langfuse:CHANGEME_db_password@postgres:5432/langfuse" # CHANGE THIS
NEXTAUTH_URL: "http://SERVER_IP:3000"
NEXTAUTH_SECRET: "change-me-generate-with-openssl-rand-base64-32" # CHANGE THIS
SALT: "change-me-generate-with-openssl-rand-base64-32" # CHANGE THIS
ports:
- "3000:3000"
depends_on:
- postgres
restart: unless-stopped
postgres:
image: postgres:16-alpine
container_name: langfuse_postgres
environment:
POSTGRES_USER: langfuse
POSTGRES_PASSWORD: CHANGEME_db_password # CHANGE THIS
POSTGRES_DB: langfuse
volumes:
- ./postgres:/var/lib/postgresql/data
restart: unless-stoppedsetup.shbash
#!/usr/bin/env bash
set -euo pipefail
sudo mkdir -p /opt/langfuse
sudo chown "$USER":"$USER" /opt/langfuse
cd /opt/langfuse
cat > docker-compose.yml <<'COMPOSE'
services:
langfuse:
image: langfuse/langfuse:latest
container_name: langfuse
environment:
DATABASE_URL: "postgresql://langfuse:CHANGEME_db_password@postgres:5432/langfuse" # CHANGE THIS
NEXTAUTH_URL: "http://SERVER_IP:3000"
NEXTAUTH_SECRET: "change-me-generate-with-openssl-rand-base64-32" # CHANGE THIS
SALT: "change-me-generate-with-openssl-rand-base64-32" # CHANGE THIS
ports:
- "3000:3000"
depends_on:
- postgres
restart: unless-stopped
postgres:
image: postgres:16-alpine
container_name: langfuse_postgres
environment:
POSTGRES_USER: langfuse
POSTGRES_PASSWORD: CHANGEME_db_password # CHANGE THIS
POSTGRES_DB: langfuse
volumes:
- ./postgres:/var/lib/postgresql/data
restart: unless-stopped
COMPOSE
docker compose up -d
echo "Langfuse is running on http://SERVER_IP:3000"Stack
TypeScriptPostgreSQLDocker