当前位置: 首页 > news >正文

cms快速建站网站广告代码

cms快速建站,网站广告代码,重庆平台网站建设找哪家,河北保定封闭最新消息目录 Langfuse是什么#xff1f;Langfuse 的核心特性1. 开源与自托管支持2. 全面的可观测性与调试工具3. 提示管理与评估功能4. 广泛的集成与兼容性 Langfuse vs LangSmith适用场景 Langfuse 架构开始使用 Langfuse 追踪部署langfuse最低基础设施要求Docker Composek8s Config… 目录 Langfuse是什么Langfuse 的核心特性1. 开源与自托管支持2. 全面的可观测性与调试工具3. 提示管理与评估功能4. 广泛的集成与兼容性 Langfuse vs LangSmith适用场景 Langfuse 架构开始使用 Langfuse 追踪部署langfuse最低基础设施要求Docker Composek8s Configuration配置环境变量额外功能 时区说明健康检查与就绪检查端点OpenTelemetry 支持 基础设施langfuse镜像ClickHouse用户权限部署选项ClickHouse Cloud故障排查 ClickHouse on Kubernetes (Helm)扩容存储NOT_ENOUGH_SPACE Docker 部署使用对象存储作为磁盘S3 示例Azure Blob 示例 缓存Redis/Valkey配置部署选项云服务商托管的 Redis/ValkeyKubernetes 中部署 RedisHelmDocker 单机部署 资源建议Sizing RecommendationsRedis 权限设置 S3 / Blob 存储配置说明强制配置项用于事件上传可选配置项多模态追踪配置 批量导出配置 部署方式示例Amazon S3推荐MinIO本地开发或自托管Cloudflare R2Azure Blob StorageGoogle Cloud Storage Postgres 数据库使用场景 LangFuse: LangSmith平替 Langfuse是什么 Langfuse 是一个开源的 LLM大语言模型工程平台专为开发者和团队设计提供从调试、监控到评估的全方位支持。相比于 LangSmithLangfuse 在灵活性、成本控制和自定义能力方面具有明显优势。以下是对 Langfuse 的详细介绍、其主要特性以及为何选择 Langfuse 而非 LangSmith 的原因。(langfuse.com) Langfuse 的核心特性 1. 开源与自托管支持 开源许可Langfuse 采用 MIT 许可证允许用户自由查看、修改和部署代码。这为需要高度定制化或对数据隐私有严格要求的组织提供了极大的灵活性。 自托管能力支持通过 Docker 快速部署适用于本地开发、私有云或企业内部服务器。这对于处理敏感数据或需要符合特定合规要求如 HIPAA、PCI的企业尤为重要。 (biggo.com) 2. 全面的可观测性与调试工具 调用链追踪能够详细记录 LLM 应用的执行流程包括 API 调用、嵌套链路和上下文信息帮助开发者快速定位和解决问题。 (ycombinator.com) 性能指标监控实时跟踪成本、延迟、质量等关键指标并支持按用户、会话、功能、模型和提示版本等维度进行分析。 (ycombinator.com) 3. 提示管理与评估功能 提示版本控制支持对提示进行版本管理便于团队协作和实验对比。内置的提示实验功能允许在不同数据集上测试和比较提示效果。 (reddit.com) 评估机制提供自动化评估如 LLM-as-a-Judge、用户反馈收集和手动标注等多种方式帮助衡量和提升模型输出质量。 (ycombinator.com) 4. 广泛的集成与兼容性 多语言 SDK提供 Python 和 TypeScript 的 SDK支持与 OpenAI、LangChain、LlamaIndex、Haystack 等主流框架和工具的集成。 (github.com) API 优先设计所有功能均可通过 API 访问便于与现有系统集成满足不同开发需求。 Langfuse vs LangSmith ✅ 选择 Langfuse 的理由 完全开源相比于 LangSmith 的闭源模式Langfuse 的开源特性使其更适合需要高度定制化和数据控制的项目。 自托管能力Langfuse 支持免费自托管而 LangSmith 的自托管需要购买企业许可证成本较高。 (langfuse.com) 更低的成本门槛Langfuse 提供免费层和更灵活的定价策略适合初创企业和个人开发者。 广泛的集成支持Langfuse 与多种 LLM 框架和工具兼容适用于多样化的开发环境。 活跃的社区支持Langfuse 拥有活跃的开发者社区用户可以通过 GitHub 讨论区和 Discord 获取支持和反馈。 (github.com) 为什么不选择 LangSmith 闭源限制LangSmith 是闭源产品限制了用户对其进行深入定制和扩展的能力。 高昂的企业费用LangSmith 的企业计划起价为 $75,000且不支持初创企业和个人开发者成本较高。 (lunary.ai) 集成限制LangSmith 主要与 LangChain 框架集成其他框架的集成可能较为复杂。 用户体验问题有用户反馈 LangSmith 的仪表板界面混乱配置复杂影响使用体验。 (lunary.ai) 适用场景 需要自托管的企业对于对数据隐私和合规性有严格要求的组织Langfuse 的自托管能力提供了更高的安全性。 多框架集成需求如果项目涉及多种 LLM 框架Langfuse 的广泛集成支持可以满足多样化的开发需求。 成本敏感的项目对于预算有限的初创企业或个人开发者Langfuse 提供了更低的成本门槛和免费使用选项。 Langfuse 作为一个开源、灵活且功能全面的 LLM 工程平台适合需要高度定制化、自托管能力和多框架集成支持的项目。相比之下LangSmith 虽然在与 LangChain 的集成方面表现出色但其闭源性质、高昂的费用和集成限制可能不适合所有用户。 Langfuse 架构 Langfuse 的架构由多个组件组成以支持高效的数据处理和存储 应用容器 Langfuse Web提供用户界面和 API 服务。Langfuse Worker异步处理事件减轻主应用的负载。(reddit.com) 存储组件 PostgreSQL处理事务性工作负载。ClickHouse高性能的 OLAP 数据库用于存储追踪、观察和评分数据。Redis/Valkey用于事件队列和数据缓存。S3/Blob 存储用于持久化存储大对象如输入输出数据和大规模导出。(reddit.com, langfuse.com) LLM API / 网关某些功能依赖于外部 LLM API 或网关。(langfuse.com) 这种架构使 Langfuse 能够处理每秒数百个事件确保高可靠性和性能。 (langfuse.com) Langfuse 的最新稳定版本是 v3.0.0于 2024 年 12 月 9 日发布。该版本引入了多项架构改进包括(data.safetycli.com, langfuse.com) 引入了新的 Worker 容器异步处理事件提升性能。采用 ClickHouse 替代 PostgreSQL 处理分析型查询提升查询速度。使用 S3/Blob 存储持久化事件数据确保数据可靠性。集成 Redis 用于事件队列和缓存减少数据库负载。(data.safetycli.com, langfuse.com, reddit.com) Langfuse 仅依赖开源组件可以在本地、云端或本地数据中心部署。 开始使用 Langfuse 追踪 步骤如下 在 Langfuse 中创建新项目注册 Langfuse 账号或自行部署 Langfuse创建一个新项目在项目设置中生成新的 API 凭据 Langfuse集成使用了 Langchain 的回调系统Callback System。 注意追踪属性trace attributes必须设置在外围的 span 上。 安装 pip install langfuse示例代码 from langfuse.langchain import CallbackHandlerfrom langchain_openai import ChatOpenAI from langchain_core.prompts import ChatPromptTemplate# 初始化 Langfuse 回调处理器 langfuse_handler CallbackHandler()# 创建 LLM 和提示模板 llm ChatOpenAI(model_namegpt-4o) prompt ChatPromptTemplate.from_template(Tell me a joke about {topic}) chain prompt | llm# 触发调用并接入 Langfuse 追踪回调 response chain.invoke({topic: cats},config{callbacks: [langfuse_handler]} )如需了解更多信息请参阅 Langchain 集成文档。 部署langfuse Langfuse 是开源的并可以通过 Docker 进行自托管。 当你选择自托管 Langfuse 时你运行的是和 Langfuse Cloud 完全相同的基础架构。阅读《为什么选择 Langfuse》以了解更多背景。 小规模部署 你可以在虚拟机或本地使用 Docker Compose 部署 Langfuse。适合测试和低负载场景不具备高可用、弹性扩容或备份能力。 生产级部署推荐 适用于高可用生产环境 KubernetesHelmAWSTerraformAzureTerraformGCPTerraformRailway 最低基础设施要求 服务最低要求Langfuse Web 容器2 CPU4 GiB 内存Langfuse Worker 容器2 CPU4 GiB 内存PostgreSQL 数据库2 CPU4 GiB 内存Redis/Valkey 实例1 CPU1.5 GiB 内存ClickHouse2 CPU8 GiB 内存Blob 存储无服务器S3 或兼容或 MinIO2 CPU4 GiB 内存 Docker Compose 对于高可用性和高吞吐量场景我们推荐使用 Kubernetes部署指南。Docker Compose 方案不具备高可用性、自动扩容和备份功能。 基本依赖 gitdocker 和 docker compose —— 在 Mac 或 Windows 上使用 Docker Desktop 获取最新的 Langfuse 仓库副本 git clone https://github.com/langfuse/langfuse.git cd langfuse更新 docker-compose.yml 文件中的密钥secrets【可选】然后运行 Langfuse 的 Docker Compose docker compose up观察容器启动及日志输出。大约 2-3 分钟后langfuse-web-1 容器会输出 “Ready”。此时你就可以进行下一步操作了。 现在你可以开始使用了在浏览器打开 http://localhost:3000 访问 Langfuse 的界面。 KubernetesHelm k8s 默认情况下该 Helm chart 会部署 Langfuse 应用容器及其数据存储架构概览。你也可以选择指向已有的 PostgreSQL、Clickhouse 和 Redis 实例。 获取 langfuse-k8s Helm chart helm repo add langfuse https://langfuse.github.io/langfuse-k8s helm repo update对于本地测试values.yaml 文件中的预配置变量通常已足够。 如果你要向应用发送任何敏感数据或计划长时间运行建议根据需求修改 values.yaml 文件。 可选创建一个新的命名空间用于 Langfuse 部署例如 kubectl create namespace langfuse将 Helm chart 安装到该命名空间 helm install langfuse langfuse/langfuse -n langfuse默认假设安装名称为 langfuse。如果你想使用其他名称安装需要相应调整 values.yaml 中 Redis 的主机名。 此时Kubernetes 会开始部署 Langfuse 应用及其依赖可能需要最多 5 分钟。你可以通过以下命令监控部署进度 kubectl get pods -n langfuse预期所有 Pod 最终会运行起来。部署数据库时langfuse-web 和 langfuse-worker 容器可能会重启几次。 简单测试 UI 默认情况下Langfuse UI 通过 ClusterIP 服务提供。使用命令查看服务及端口映射 kubectl get services -n langfuse找到 langfuse-web 服务后执行端口转发 kubectl port-forward svc/langfuse-web -n langfuse 本地端口:节点端口然后在浏览器打开 http://localhost:本地端口即可访问 UI。你可以注册账号创建组织和项目开始探索 Langfuse。 对于离线环境的同学也可以直接去github下载helm文件 https://github.com/langfuse/langfuse-k8s 这是一个社区维护的仓库包含了在 Kubernetes 上部署 Langfuse 的相关资源。 Langfuse 自托管文档https://langfuse.com/self-hosting 仓库结构 examples 目录包含示例的 YAML 配置文件charts/langfuse 目录包含用于部署 Langfuse 及相关数据库的 Helm chart 按照下面定义的要求配置一个新的 values.yaml 文件中的必要密钥和参数。然后执行以下命令安装 Helm chart helm repo add langfuse https://langfuse.github.io/langfuse-k8s helm repo update helm install langfuse langfuse/langfuse -f values.yaml升级 helm repo update helm upgrade langfuse langfuse/langfuse请确认 Chart.yaml 中的子 chart 是否在版本间发生了更新。如果有请按照对应子 chart 的升级指南进行升级。 默认情况下chart 使用最小资源以保证稳定运行。生产环境建议调整 values.yaml 中的以下参数。完整配置请参考 Langfuse 文档。 langfuse:resources:limits:cpu: 2memory: 4Girequests:cpu: 2memory: 4Giclickhouse:resources:limits:cpu: 2memory: 8Girequests:cpu: 2memory: 8Gikeeper:resources:limits:cpu: 2memory: 4Girequests:cpu: 2memory: 4Giredis:primary:resources:limits:cpu: 1memory: 1.5Girequests:cpu: 1memory: 1.5Gis3:resources:limits:cpu: 2memory: 4Girequests:cpu: 2memory: 4Gi需要设置的配置项 # 可选但强烈推荐。通过 openssl rand -hex 32 生成。 # langfuse: # encryptionKey: # value: langfuse: salt:value: secureSaltnextauth:secret:value: postgresql:auth:# 若使用 postgres 作为用户名则需要提供 postgresPassword 而非 password。username: langfusepassword: clickhouse:auth:password: redis:auth:password: s3:auth:rootPassword: 也可以通过引用已有 Secret 设置Secret 必须存在 # 可选但强烈推荐。通过 openssl rand -hex 32 生成。 # langfuse: # encryptionKey: # secretKeyRef: # name: langfuse-encryption-key-secret # key: encryptionKey langfuse: salt:secretKeyRef:name: langfuse-generalkey: saltnextauth:secret:secretKeyRef:name: langfuse-nextauth-secretkey: nextauth-secretpostgresql:auth:# 若使用 postgres 作为用户名则需在 secretKeys 中提供 adminPasswordKey。username: langfuseexistingSecret: langfuse-postgresql-authsecretKeys:userPasswordKey: passwordclickhouse:auth:existingSecret: langfuse-clickhouse-authexistingSecretKey: passwordredis:auth:existingSecret: langfuse-redis-authexistingSecretPasswordKey: passwords3:auth:# 若设置了 existingSecret则 root 用户和 root 密码必须通过 Secret 提供existingSecret: langfuse-s3-authrootUserSecretKey: rootUserrootPasswordSecretKey: rootPassword示例使用外部 Postgres 服务器 postgresql:deploy: falseauth:username: my-usernamepassword: my-passworddatabase: my-databasehost: my-external-postgres-server.comdirectUrl: postgres://my-username:my-passwordmy-external-postgres-server.comshadowDatabaseUrl: postgres://my-username:my-passwordmy-external-postgres-server.com示例使用外部 S3 桶 s3:deploy: falsebucket: langfuse-bucketregion: eu-west-1endpoint: https://s3.eu-west-1.amazonaws.comforcePathStyle: falseaccessKeyId:value: mykeysecretAccessKey:value: mysecreteventUpload:prefix: events/batchExport:prefix: exports/mediaUpload:prefix: media/使用自定义部署策略 langfuse:deployment:strategy:type: RollingUpdaterollingUpdate:maxSurge: 50%maxUnavailable: 50%启用 ingress langfuse:ingress:enabled: truehosts:- host: langfuse.your-host.compaths:- path: /pathType: Prefixannotations: []自定义存储类定义Langfuse chart 支持为所有持久卷配置存储类可通过两种方式 全局存储类应用于所有持久卷除非被覆盖 global:defaultStorageClass: your-storage-class组件特定存储类覆盖特定组件的存储类 postgresql:primary:persistence:storageClass: postgres-storage-classredis:primary:persistence:storageClass: redis-storage-classclickhouse:persistence:storageClass: clickhouse-storage-classs3:persistence:storageClass: minio-storage-class若未指定存储类将使用集群默认存储类。 使用带客户端证书的外部 Postgres 服务器使用自定义 Secret 和额外环境变量映射 langfuse:salt: nullnextauth: secret: nullextraVolumes:- name: db-keystoresecret:secretName: langfuse-postgres # 包含 server-ca.pem, sslidentity.pk12 等文件extraVolumeMounts:- name: db-keystoremountPath: /secrets/db-keystorereadOnly: trueadditionalEnv:- name: DATABASE_URLvalueFrom:secretKeyRef:name: langfuse-postgreskey: database-url- name: NEXTAUTH_SECRETvalueFrom:secretKeyRef:name: langfuse-generalkey: nextauth-secret- name: SALTvalueFrom:secretKeyRef:name: langfuse-generalkey: salt postgresql:deploy: falseauth:password: nullusername: null使用 hostAliases 进行覆盖此配置会在所有 langfuse-web Pod 的 /etc/hosts 文件中添加一条记录将对 “oauth.id.jumpcloud.com” 的请求转发到本地回环地址。 langfuse:web:hostAliases:- ip: 127.0.0.1hostnames:- oauth.id.jumpcloud.com使用拓扑分布约束将 Pod 均匀分布在不同可用区提高高可用性 langfuse:# 应用于所有 langfuse Pod 的全局拓扑分布约束pod:topologySpreadConstraints:- maxSkew: 1topologyKey: topology.kubernetes.io/zonewhenUnsatisfiable: ScheduleAnywaylabelSelector:matchLabels:app.kubernetes.io/instance: langfuse# 组件特定的拓扑分布约束web:pod:topologySpreadConstraints:- maxSkew: 1topologyKey: kubernetes.io/hostnamewhenUnsatisfiable: DoNotSchedulelabelSelector:matchLabels:app: webworker:pod:topologySpreadConstraints:- maxSkew: 1topologyKey: kubernetes.io/hostnamewhenUnsatisfiable: DoNotSchedulelabelSelector:matchLabels:app: workerConfiguration配置 Langfuse 提供了丰富的配置选项均通过环境变量进行设置。这些环境变量需要传递给所有应用容器。 环境变量 Langfuse 支持通过环境变量对部署进行精细调控。Langfuse Web 和 Langfuse Worker 容器可以使用相同的环境变量。 变量必填 / 默认值描述DATABASE_URL必填Postgres 数据库的连接字符串。也可以使用 DATABASE_HOST、DATABASE_USERNAME、DATABASE_PASSWORD、DATABASE_NAME 和 DATABASE_ARGS 替代。DIRECT_URL默认为 DATABASE_URL用于数据库迁移的 Postgres 连接字符串。如果希望迁移时使用不同用户或在 DATABASE_URL 上使用连接池可配置此项。对于大型部署请配置具有较长超时的数据库用户因为迁移可能需要较长时间。SHADOW_DATABASE_URL可选若数据库用户没有 CREATE DATABASE 权限需手动创建 shadow 数据库并配置此项。常见于使用云数据库的情况详见 Prisma 文档。CLICKHOUSE_MIGRATION_URL必填ClickHouse 实例的迁移地址使用 TCP 协议。格式clickhouse://hostname:(9000/9440)CLICKHOUSE_MIGRATION_SSL默认 false是否通过 SSL 连接 ClickHouse 用于迁移。设为 true 可启用 SSL。CLICKHOUSE_URL必填ClickHouse 实例的地址。格式http(s)://hostname:(8123/8443)CLICKHOUSE_USER必填ClickHouse 用户名需具备 SELECT、ALTER、INSERT、CREATE、DELETE 权限。CLICKHOUSE_PASSWORD必填ClickHouse 用户密码。CLICKHOUSE_DB默认值为 default使用的 ClickHouse 数据库名称。CLICKHOUSE_CLUSTER_ENABLED默认 true是否使用 ON CLUSTER 执行 ClickHouse 命令。单容器部署请设为 false。LANGFUSE_AUTO_CLICKHOUSE_MIGRATION_DISABLED默认 false是否在启动时禁用 ClickHouse 自动迁移。REDIS_CONNECTION_STRING必填Redis 实例的连接字符串。可选替代项为REDIS_HOST、REDIS_PORT 和 REDIS_AUTH。TLS 配置详见缓存配置文档。NEXTAUTH_URL必填Langfuse Web 部署的 URL例如 https://yourdomain.com 或 http://localhost:3000用于 OAUTH 认证。NEXTAUTH_SECRET必填用于验证登录会话 Cookie。需通过 openssl rand -base64 32 生成至少 256 比特的密钥。SALT必填用于对 API Key 加盐需通过 openssl rand -base64 32 生成至少 256 比特的密钥。ENCRYPTION_KEY必填用于加密敏感数据。必须为 256 位的十六进制字符串64 个字符可用命令 openssl rand -hex 32 生成。LANGFUSE_CSP_ENFORCE_HTTPS默认 false若设为 true将启用 CSP 头部仅允许 HTTPS 连接。PORT默认 3000 / 3030服务器监听的端口。Web 用 3000Worker 用 3030。HOSTNAME默认 localhost某些环境中需设置为 0.0.0.0 才能被容器外部访问例如 Google Cloud Run。 S3 事件上传配置 变量必填描述LANGFUSE_S3_EVENT_UPLOAD_BUCKET是事件信息上传的 S3 存储桶名称。LANGFUSE_S3_EVENT_UPLOAD_PREFIX否存储事件的路径前缀可为空必须以 / 结尾。LANGFUSE_S3_EVENT_UPLOAD_REGION否存储桶所在区域。LANGFUSE_S3_EVENT_UPLOAD_ENDPOINT否上传事件使用的 endpoint。LANGFUSE_S3_EVENT_UPLOAD_ACCESS_KEY_ID否存储桶访问密钥需具备 List、Get、Put 权限。LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEY否存储桶密钥。LANGFUSE_S3_EVENT_UPLOAD_FORCE_PATH_STYLE否是否强制使用 path-style 请求。使用 MinIO 时必需。 S3 批量导出配置 变量必填描述LANGFUSE_S3_BATCH_EXPORT_ENABLED否默认 false是否启用批量导出功能设为 true 可启用。LANGFUSE_S3_BATCH_EXPORT_BUCKET是存储批量导出数据的存储桶名称。LANGFUSE_S3_BATCH_EXPORT_PREFIX否批量导出文件的路径前缀需以 / 结尾。LANGFUSE_S3_BATCH_EXPORT_REGION否存储桶所在区域。LANGFUSE_S3_BATCH_EXPORT_ENDPOINT否上传批量导出文件使用的 endpoint。LANGFUSE_S3_BATCH_EXPORT_ACCESS_KEY_ID否存储桶访问密钥。LANGFUSE_S3_BATCH_EXPORT_SECRET_ACCESS_KEY否存储桶密钥。LANGFUSE_S3_BATCH_EXPORT_FORCE_PATH_STYLE否是否强制使用 path-style 请求。LANGFUSE_S3_BATCH_EXPORT_EXTERNAL_ENDPOINT否用于生成预签名 URL 的外部 endpoint可选。不提供则使用主 endpoint。适用于需在 VPC 内部完成传输的情况。BATCH_EXPORT_PAGE_SIZE默认 500流式导出时每页数据量可根据内存优化进行调整。BATCH_EXPORT_ROW_LIMIT默认 1,500,000单次批量导出最大行数。 S3 媒体上传配置 变量必填描述LANGFUSE_S3_MEDIA_UPLOAD_BUCKET是上传媒体文件使用的 S3 存储桶名称。LANGFUSE_S3_MEDIA_UPLOAD_PREFIX否媒体存储路径前缀需以 / 结尾。LANGFUSE_S3_MEDIA_UPLOAD_REGION否存储桶所在区域。LANGFUSE_S3_MEDIA_UPLOAD_ENDPOINT否上传媒体使用的 endpoint。LANGFUSE_S3_MEDIA_UPLOAD_ACCESS_KEY_ID否存储桶访问密钥。LANGFUSE_S3_MEDIA_UPLOAD_SECRET_ACCESS_KEY否存储桶密钥。LANGFUSE_S3_MEDIA_UPLOAD_FORCE_PATH_STYLE否是否强制使用 path-style 请求MinIO 必需。LANGFUSE_S3_MEDIA_MAX_CONTENT_LENGTH默认 1GB允许上传的最大媒体文件大小字节。LANGFUSE_S3_MEDIA_DOWNLOAD_URL_EXPIRY_SECONDS默认 3600媒体文件预签名下载链接有效期秒。 其他设置 变量默认值描述LANGFUSE_S3_CONCURRENT_WRITES50并发写入 S3 的最大数量。用于处理 socket 连接过多报错。LANGFUSE_S3_CONCURRENT_READS50并发读取 S3 的最大数量。LANGFUSE_AUTO_POSTGRES_MIGRATION_DISABLED默认 false是否禁用 PostgreSQL 自动迁移不推荐。LANGFUSE_LOG_LEVEL默认 info应用日志级别trace、debug、info、warn、error、fatal。LANGFUSE_LOG_FORMAT默认 text日志格式text 或 json。LANGFUSE_LOG_PROPAGATED_HEADERS可选通过 OpenTelemetry Baggage 传播的 HTTP Header 名单逗号分隔。例如x-request-id,x-user-id。用于调试与可观测性。 额外功能 可以通过环境变量启用并配置以下附加功能 身份验证与 SSO自动访问授权自定义基础路径加密无头初始化Headless Initialization网络设置组织创建者企业版组织管理 API企业版事务性邮件UI 自定义企业版 时区说明 Langfuse 假定其所有基础设施组件默认使用 UTC 时间。特别是 Postgres 和 ClickHouse 的任何覆盖 UTC 设置的配置都是不受支持的可能会导致意外行为。如果你希望我们支持其他时区请在 GitHub Discussion 中投票。 健康检查与就绪检查端点 Langfuse Web 提供 /api/public/health 健康检查端点 和 /api/public/ready 就绪检查端点Langfuse Worker 提供 /api/health 健康检查端点。 访问方式示例 # langfuse-web curl http://localhost:3000/api/public/health curl http://localhost:3000/api/public/ready# langfuse-worker curl http://localhost:3030/api/health健康检查端点的可能响应 200 OKAPI 正常运行并成功连接数据库503 Service UnavailableAPI 不正常运行或无法连接数据库 就绪检查端点的可能响应 200 OK应用已准备好接收流量500 Internal Server Error应用接收到 SIGTERM 或 SIGINT建议不再接收流量 监控系统可以周期性调用这些端点以获取健康状态更新。 默认情况下Langfuse Web 的健康检查不会验证数据库是否可用因为在某些场景下数据库不可用但应用仍能提供服务。 若要强制执行数据库可用性检查可添加参数 ?failIfDatabaseUnavailabletrue如 curl http://localhost:3000/api/public/health?failIfDatabaseUnavailabletrue OpenTelemetry 支持 Langfuse 使用 OpenTelemetry 提供应用可观测性。如果你希望将 Langfuse 集成至你自己的链路追踪系统中可配置以下环境变量将追踪信息发送到自定义收集器 变量默认值 / 是否必需描述OTEL_EXPORTER_OTLP_ENDPOINThttp://localhost:4318OTLP 收集器的地址。路径为 /v1/tracesOTEL_SERVICE_NAMEweb/worker在 APM 工具中的服务名称OTEL_TRACE_SAMPLING_RATIO1追踪采样比例。1 表示发送全部追踪数据取值范围为 0 到 1 基础设施 langfuse镜像 Langfuse 使用 Docker 来容器化应用程序。应用分为两个容器 Langfuse Web提供 Langfuse 控制台和 API 的 Web 服务器。Langfuse Worker负责后台任务如发送邮件或处理事件。 生产环境建议为所有容器至少分配 2 个 CPU 和 4 GB 内存。为了高可用Langfuse Web 容器应至少运行两个实例。自动扩容时建议当任一容器 CPU 利用率超过 50% 时增加实例数。 Langfuse 容器中的 Node.js 应用需要适当配置内存限制以保证高效运行。默认情况下Node.js 最大堆内存为 1.7 GiB可能小于容器分配的实际内存例如容器分配 4 GiB但 Node.js 限制为 1.7 GiB可能导致内存问题。 正确配置内存限制的方式是在 Langfuse Web 和 Worker 容器中通过环境变量 NODE_OPTIONS 设置 max-old-space-size NODE_OPTIONS--max-old-space-size${var.memory}推荐使用预构建的 Docker 镜像也可以从源码自行构建 # 克隆代码仓库 git clone https://github.com/langfuse/langfuse.git cd langfuse# 切换到 production 分支 # main 分支包含未发布且可能不稳定的改动 git checkout production# 构建 web 镜像 docker build -t langfuse/langfuse -f ./web/Dockerfile .# 构建 worker 镜像 docker build -t langfuse/langfuse-worker -f ./worker/Dockerfile .运行 Langfuse Web更多环境变量配置见配置文档 docker run --name langfuse-web \-e DATABASE_URLpostgresql://hello \-e NEXTAUTH_URLhttp://localhost:3000 \-e NEXTAUTH_SECRETmysecret \-e SALTmysalt \-e ENCRYPTION_KEY0000000000000000000000000000000000000000000000000000000000000000 \ # 通过 openssl rand -hex 32 生成-e CLICKHOUSE_URLhttp://clickhouse:8123 \-e CLICKHOUSE_USERclickhouse \-e CLICKHOUSE_PASSWORDclickhouse \-e CLICKHOUSE_MIGRATION_URLclickhouse://clickhouse:9000 \-e REDIS_HOSTlocalhost \-e REDIS_PORT6379 \-e REDIS_AUTHredis \-e LANGFUSE_S3_EVENT_UPLOAD_BUCKETmy-bucket \-e LANGFUSE_S3_EVENT_UPLOAD_REGIONus-east-1 \-e LANGFUSE_S3_EVENT_UPLOAD_ACCESS_KEY_IDAKIAIOSFODNN7EXAMPLE \-e LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEYbPxRfiCYEXAMPLEKEY \-p 3000:3000 \-a STDOUT \ langfuse/langfuse:3运行 Langfuse Worker docker run --name langfuse-worker \-e DATABASE_URLpostgresql://hello \-e SALTmysalt \-e ENCRYPTION_KEY0000000000000000000000000000000000000000000000000000000000000000 \ # 通过 openssl rand -hex 32 生成-e CLICKHOUSE_URLhttp://clickhouse:8123 \-e CLICKHOUSE_USERclickhouse \-e CLICKHOUSE_PASSWORDclickhouse \-e REDIS_HOSTlocalhost \-e REDIS_PORT6379 \-e REDIS_AUTHredis \-e LANGFUSE_S3_EVENT_UPLOAD_BUCKETmy-bucket \-e LANGFUSE_S3_EVENT_UPLOAD_REGIONus-east-1 \-e LANGFUSE_S3_EVENT_UPLOAD_ACCESS_KEY_IDAKIAIOSFODNN7EXAMPLE \-e LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEYbPxRfiCYEXAMPLEKEY \-p 3030:3030 \-a STDOUT \ langfuse/langfuse-worker:3ClickHouse ClickHouse 是 Langfuse 中用于 Trace追踪、Observation观察和 Score评分实体的主要 OLAP 存储解决方案。它针对高写入吞吐量和快速分析查询进行了优化。本文介绍如何在 Langfuse 中配置 ClickHouse并说明在自行部署 ClickHouse可选时需要注意的事项。 Langfuse 支持 ClickHouse 版本 24.3。 Langfuse 接受以下环境变量以便对 ClickHouse 的使用进行精细调控。这些变量需同时配置在 Langfuse Web 和 Langfuse Worker 容器中 变量名是否必需 / 默认值描述CLICKHOUSE_MIGRATION_URL必需ClickHouse 实例的迁移连接地址TCP 协议。格式clickhouse://hostname:9000 或 :9440SSLCLICKHOUSE_MIGRATION_SSLfalse若需通过 SSL 执行迁移则设为 trueCLICKHOUSE_URL必需ClickHouse 实例的 HTTP(S) 地址。格式http(s)://hostname:8123 或 8443CLICKHOUSE_USER必需ClickHouse 数据库的用户名需要具备 SELECT、ALTER、INSERT、CREATE、DELETE 权限CLICKHOUSE_PASSWORD必需ClickHouse 用户的密码CLICKHOUSE_DBdefault要使用的数据库名称CLICKHOUSE_CLUSTER_ENABLEDtrue是否在集群上运行命令ON CLUSTER。单容器部署请设为 falseLANGFUSE_AUTO_CLICKHOUSE_MIGRATION_DISABLEDfalse是否禁用自动 ClickHouse 数据迁移 当 CLICKHOUSE_CLUSTER_ENABLEDtrue 时Langfuse 默认使用 default 作为集群名称。你可以通过 CLICKHOUSE_CLUSTER_NAME 修改这个名称但此时自动迁移将失效必须手动执行迁移。步骤如下 克隆 Langfuse 仓库修改 ./packages/shared/clickhouse/migrations/clustered/*.sql 中的集群名称执行以下命令手动迁移 cd ./packages/shared sh ./clickhouse/scripts/up.shLangfuse 要求所有基础设施组件的默认时区为 UTC。特别是 Postgres 和 ClickHouse 的设置若偏离 UTC可能会导致不可预期行为。如需支持其他时区请在 GitHub Discussion 上留言投票。 用户权限 ClickHouse 用户由 CLICKHOUSE_USER 指定必须拥有以下权限 GRANT INSERT ON default.* TO user; GRANT SELECT ON default.* TO user; GRANT ALTER UPDATE, ALTER DELETE ON default.* TO user; GRANT CREATE ON default.* TO user; GRANT DROP TABLE ON default.* TO user;将 user 替换为实际用户名。如使用非 default 数据库请同步调整数据库名。 部署选项 ClickHouse Cloud ClickHouse Cloud 是一个可扩展、全托管的部署方式。可通过以下平台启动 AWS MarketplaceGoogle Cloud MarketplaceAzure Marketplace ClickHouse Cloud 的集群部署在你的云环境之外但支持私有连接Private Link。 示例配置 CLICKHOUSE_URLhttps://identifier.region.aws.clickhouse.cloud:8443 CLICKHOUSE_MIGRATION_URLclickhouse://identifier.region.aws.clickhouse.cloud:9440 CLICKHOUSE_USERdefault CLICKHOUSE_PASSWORDchangeme CLICKHOUSE_MIGRATION_SSLtrue故障排查 错误 driver: bad connection in line 0 请确保 CLICKHOUSE_MIGRATION_SSLtrue 且 Web 容器能访问 ClickHouse。必要时检查 IP 白名单和 Private Link 配置。 错误 ON CLUSTER is not allowed for Replicated database. Azure 上的 ClickHouse Cloud 不支持 ON CLUSTER Replicated建议设 CLICKHOUSE_CLUSTER_ENABLEDfalse。 ClickHouse on Kubernetes (Helm) 推荐使用 Bitnami 提供的 Helm Chart 进行 ClickHouse 的生产部署。 示例配置 clickhouse:deploy: trueshards: 1 # 仅支持单分片replicaCount: 3resourcesPreset: largeauth:username: defaultpassword: changemeshards: 当前 Langfuse 不支持多分片请设为 1。replicaCount: 每个分片副本数建议至少 3。resourcesPreset: 推荐至少使用 large。disk: 请确保使用的 storage class 启用了 allowVolumeExpansion: true。 环境变量配置 CLICKHOUSE_URLhttp://chart-name-clickhouse:8123 CLICKHOUSE_MIGRATION_URLclickhouse://chart-name-clickhouse:9000 CLICKHOUSE_USERdefault CLICKHOUSE_PASSWORDchangeme扩容存储NOT_ENOUGH_SPACE Kubernetes 中若磁盘空间不足会报此错误。解决方法 查看磁盘使用情况 kubectl get pvc -l app.kubernetes.io/nameclickhouse kubectl exec -it pod -- df -h /var/lib/clickhouse扩展 PVC kubectl edit pvc data-chart-name-clickhouse-0 # 或批量扩容 kubectl patch pvc data-chart-name-clickhouse-0 -p {spec:{resources:{requests:{storage:200Gi}}}}修改 Helm 配置并升级 clickhouse:persistence:size: 200Gihelm upgrade release-name chart-name -f values.yaml监控扩容状态 kubectl get pvc -w kubectl exec -it pod -- df -h /var/lib/clickhouse预防建议 监控磁盘使用推荐 80% 时报警使用支持扩容的存储类使用自动扩容工具如 volume-autoscaler高增长场景可使用对象存储作为磁盘 Docker 部署 适用于开发环境不推荐用于生产。 示例命令 docker run --name clickhouse-server \-e CLICKHOUSE_DBdefault \-e CLICKHOUSE_USERclickhouse \-e CLICKHOUSE_PASSWORDclickhouse \-d --ulimit nofile262144:262144 \-p 8123:8123 \-p 9000:9000 \-p 9009:9009 \clickhouse/clickhouse-server环境变量配置 CLICKHOUSE_URLhttp://localhost:8123 CLICKHOUSE_MIGRATION_URLclickhouse://localhost:9000 CLICKHOUSE_USERclickhouse CLICKHOUSE_PASSWORDclickhouse CLICKHOUSE_CLUSTER_ENABLEDfalse使用对象存储作为磁盘 ClickHouse 支持使用对象存储如 AWS S3、Azure Blob、GCS作为数据磁盘用于实现自动扩容和增强持久性。 S3 示例 配置文件 config.xml clickhousemerge_treestorage_policys3/storage_policy/merge_treestorage_configurationdiskss3typeobject_storage/typeobject_storage_types3/object_storage_typemetadata_typelocal/metadata_typeendpointhttps://s3.eu-central-1.amazonaws.com/example-bucket-name/data//endpointaccess_key_idACCESS_KEY/access_key_idsecret_access_keyACCESS_KEY_SECRET/secret_access_key/s3/diskspoliciess3volumesmaindisks3/disk/main/volumes/s3/policies/storage_configuration /clickhouse或者使用环境变量凭据 use_environment_credentials1/use_environment_credentialsDocker Compose services:clickhouse:image: clickhouse/clickhouse-serveruser: 101:101container_name: clickhousehostname: clickhouseenvironment:CLICKHOUSE_DB: defaultCLICKHOUSE_USER: clickhouseCLICKHOUSE_PASSWORD: clickhousevolumes:- ./config.xml:/etc/clickhouse-server/config.d/s3disk.xml:ro- langfuse_clickhouse_data:/var/lib/clickhouse- langfuse_clickhouse_logs:/var/log/clickhouse-serverports:- 8123:8123- 9000:9000volumes:langfuse_clickhouse_data:driver: locallangfuse_clickhouse_logs:driver: localAzure Blob 示例 配置文件 config.xml clickhousemerge_treestorage_policyblob_storage_disk/storage_policy/merge_treestorage_configurationdisksblob_storage_disktypeobject_storage/typeobject_storage_typeazure_blob_storage/object_storage_typemetadata_typelocal/metadata_typestorage_account_urlhttp://azurite:10000/devstoreaccount1/storage_account_urlcontainer_namelangfuse/container_nameaccount_namedevstoreaccount1/account_nameaccount_key默认Azurite密钥/account_key/blob_storage_disk/diskspoliciesblob_storage_diskvolumesmaindiskblob_storage_disk/disk/main/volumes/blob_storage_disk/policies/storage_configuration /clickhouseDocker Compose 示例含 Azurite services:clickhouse:image: clickhouse/clickhouse-serveruser: 101:101container_name: clickhousehostname: clickhouseenvironment:CLICKHOUSE_DB: defaultCLICKHOUSE_USER: clickhouseCLICKHOUSE_PASSWORD: clickhousevolumes:- ./config.xml:/etc/clickhouse-server/config.d/azuredisk.xml:ro- langfuse_clickhouse_data:/var/lib/clickhouse- langfuse_clickhouse_logs:/var/log/clickhouse-serverports:- 8123:8123- 9000:9000depends_on:- azuriteazurite:image: mcr.microsoft.com/azure-storage/azuritecontainer_name: azuritecommand: azurite-blob --blobHost 0.0.0.0缓存Redis/Valkey Langfuse 使用 Redis/Valkey 作为缓存层和队列用于在 API 接收到新事件时快速响应并延迟事件的处理与写入从而帮助系统平稳应对请求高峰。 你可以选择在 AWS、Azure 或 GCP 上使用托管服务或自行部署。最低要求为 Redis 7 版本并且实例必须配置 maxmemory-policynoeviction。 配置 Langfuse 支持通过以下环境变量对 Redis 的使用进行细致配置。Web 服务容器和 Worker 容器均需要设置这些变量。 使用连接字符串 变量名是否必需描述REDIS_CONNECTION_STRING必需Redis 连接字符串格式为redis[s]://[[用户名][:密码]][主机][:端口][/数据库编号] 或者使用独立变量 变量名是否必需 / 默认值描述REDIS_HOST必需Redis 主机名REDIS_PORT默认6379Redis 实例端口REDIS_AUTH可选Redis 实例的身份验证密码REDIS_TLS_ENABLED默认false是否启用 TLS可通过 rediss:// 启用REDIS_TLS_CA_PATH可选Redis TLS 连接的 CA 证书路径REDIS_TLS_CERT_PATH可选Redis TLS 连接的客户端证书路径REDIS_TLS_KEY_PATH可选Redis TLS 连接的私钥路径 部署选项 云服务商托管的 Redis/Valkey AWS ElastiCache、Azure Cache for Redis 和 GCP Memorystore 都提供完全托管的 Redis 服务。Langfuse 支持读副本间的故障转移但目前不支持 Redis 集群模式即不支持分片。 务必设置 Redis 参数 maxmemory-policynoeviction以避免队列任务被逐出缓存。 Kubernetes 中部署 RedisHelm Bitnami 提供了 Redis 和 Valkey 的 Helm Chart。我们使用 Valkey 作为 Langfuse K8s 部署的依赖。详见 [Langfuse on Kubernetes (Helm)] 文档以获取完整部署指南。 在部署 ClickHouse Helm Chart 时推荐使用如下 values.yaml 覆盖值来配置 Valkey valkey:deploy: truearchitecture: standaloneprimary:extraFlags:- --maxmemory-policy noeviction # 正确处理队列任务所必需auth:password: changeme连接该 Redis 实例的环境变量示例 REDIS_CONNECTION_STRINGredis://default:changemechart-name-valkey-master:6379/0Docker 单机部署 你也可以在单个 Docker 容器中运行 Redis但由于没有冗余不推荐用于生产环境。 启动命令如下 docker run --name redis \-p 6379:6379 \redis --requirepass myredissecret --maxmemory-policy noeviction对应的环境变量 REDIS_HOSTlocalhost REDIS_PORT6379 REDIS_AUTHmyredissecret资源建议Sizing Recommendations Langfuse 主要使用 Redis 队列事件元数据由 worker 进行处理。在大多数情况下worker 能够及时处理队列避免事件积压。建议 Redis 实例每分钟处理约 10 万事件时分配约 1GB 内存。 Redis 权限设置 Redis 支持基于用户的访问控制列表ACL允许限制特定用户可访问的键和命令参见 Redis ACL 文档。Langfuse 要求提供的用户拥有当前数据库中所有键和命令的访问权限即 ~* allS3 / Blob 存储 Langfuse 使用 S3 或其他兼容 S3 协议的对象存储以下简称 S3来存储原始事件、多模态输入、批量导出文件及其他资源。此外我们也专门支持 Azure Blob Storage 和 Google Cloud Storage。你可以使用 AWS、Cloudflare 等托管服务也可以使用 MinIO 自行部署。我们使用该存储方案来提供高可扩展性和强一致性的读写能力尤其适合大文件的持久存储。 配置说明 Langfuse 针对不同场景使用 S3可以为每种用途单独配置存储桶。你可以为不同场景使用独立的 bucket也可以通过路径前缀将它们存储在同一个 bucket 中。 强制配置项用于事件上传 以下环境变量为每个部署所必需必须分别配置在 Langfuse Web 容器和 Worker 容器中 环境变量是否必需 / 默认值描述LANGFUSE_S3_EVENT_UPLOAD_BUCKET必需用于存储事件信息的 bucket 名称LANGFUSE_S3_EVENT_UPLOAD_PREFIX默认 事件的子路径前缀必须以 / 结尾LANGFUSE_S3_EVENT_UPLOAD_REGION可选bucket 所在区域LANGFUSE_S3_EVENT_UPLOAD_ENDPOINT可选上传事件所使用的 endpointLANGFUSE_S3_EVENT_UPLOAD_ACCESS_KEY_ID可选bucket 的访问密钥需有 List、Get、Put 权限LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEY可选bucket 的密钥LANGFUSE_S3_EVENT_UPLOAD_FORCE_PATH_STYLE可选是否强制使用 path-style 请求MinIO 需要此项 可选配置项 Langfuse 还支持通过 S3 实现多模态追踪和批量导出以下分别说明 多模态追踪配置 用于上传媒体资源文件的配置项 环境变量默认值 / 是否必需描述LANGFUSE_S3_MEDIA_UPLOAD_BUCKET必需用于上传媒体文件的 bucketLANGFUSE_S3_MEDIA_UPLOAD_PREFIX默认 子路径前缀需以 / 结尾LANGFUSE_S3_MEDIA_UPLOAD_REGION可选bucket 区域LANGFUSE_S3_MEDIA_UPLOAD_ENDPOINT可选媒体上传 endpointLANGFUSE_S3_MEDIA_UPLOAD_ACCESS_KEY_ID可选访问密钥需有 List、Get、Put 权限LANGFUSE_S3_MEDIA_UPLOAD_SECRET_ACCESS_KEY可选访问密钥LANGFUSE_S3_MEDIA_UPLOAD_FORCE_PATH_STYLE可选是否强制 path-styleMinIO 需要LANGFUSE_S3_MEDIA_MAX_CONTENT_LENGTH默认 1_000_000_000允许上传的最大文件大小单位字节默认 1GBLANGFUSE_S3_MEDIA_DOWNLOAD_URL_EXPIRY_SECONDS默认 3600下载预签名链接的有效期秒 批量导出配置 Langfuse 支持通过 S3 批量导出表格数据CSV 或 JSON。中间结果将上传至 S3并生成下载链接。 环境变量默认值 / 是否必需描述LANGFUSE_S3_BATCH_EXPORT_ENABLED默认 false是否启用批量导出必须设为 true 才生效LANGFUSE_S3_BATCH_EXPORT_BUCKET必需批量导出文件上传所用的 bucketLANGFUSE_S3_BATCH_EXPORT_PREFIX默认 子路径前缀需以 / 结尾LANGFUSE_S3_BATCH_EXPORT_REGION可选bucket 区域LANGFUSE_S3_BATCH_EXPORT_ENDPOINT可选endpointLANGFUSE_S3_BATCH_EXPORT_ACCESS_KEY_ID可选访问密钥需有 List、Get、Put 权限LANGFUSE_S3_BATCH_EXPORT_SECRET_ACCESS_KEY可选访问密钥LANGFUSE_S3_BATCH_EXPORT_FORCE_PATH_STYLE可选是否强制 path-styleMinIO 需要LANGFUSE_S3_BATCH_EXPORT_EXTERNAL_ENDPOINT可选用于生成预签名链接的外部 endpoint用于保持流量在 VPC 内BATCH_EXPORT_PAGE_SIZE默认 500批量导出分页大小防止内存压力BATCH_EXPORT_ROW_LIMIT默认 1_500_000单个导出任务的最大行数 部署方式示例 以事件上传为例介绍常见部署方案 Amazon S3推荐 Langfuse 默认使用 AWS SDK支持 IAM 角色或 Access Key 认证。 IAM 角色权限示例 {Version: 2012-10-17,Statement: [{Action: [s3:PutObject, s3:ListBucket, s3:GetObject],Effect: Allow,Resource: [arn:aws:s3:::my-bucket-name/*,arn:aws:s3:::my-bucket-name]}] }启用数据保留功能时需增加 权限s3:DeleteObject KMS 加密支持配置 环境变量描述LANGFUSE_S3_EVENT_UPLOAD_SSE服务器端加密算法aws:kms 或 AES256LANGFUSE_S3_EVENT_UPLOAD_SSE_KMS_KEY_ID使用的 KMS 密钥 ID媒体上传和导出也有类似变量 KMS 权限 {Version: 2012-10-17,Statement: [{Action: [kms:GenerateDataKey, kms:Decrypt],Effect: Allow,Resource: arn:aws:kms:region:account-id:key/key-id}] }MinIO本地开发或自托管 docker run --name minio \-p 9000:9000 \-p 9001:9001 \-e MINIO_ROOT_USERminio \-e MINIO_ROOT_PASSWORDminiosecret \minio/minio server /data --console-address :9001访问 http://localhost:9001 创建名为 langfuse 的 bucket。 环境变量示例 LANGFUSE_S3_EVENT_UPLOAD_BUCKETlangfuse LANGFUSE_S3_EVENT_UPLOAD_REGIONus-east-1 LANGFUSE_S3_EVENT_UPLOAD_ACCESS_KEY_IDminio LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEYminiosecret LANGFUSE_S3_EVENT_UPLOAD_ENDPOINThttp://minio:9000 LANGFUSE_S3_EVENT_UPLOAD_FORCE_PATH_STYLEtrue LANGFUSE_S3_EVENT_UPLOAD_PREFIXevents/注意默认数据是临时的需配置持久卷或使用云服务保存数据。 Cloudflare R2 Cloudflare 提供兼容 S3 的 R2 存储。 环境变量示例 LANGFUSE_S3_EVENT_UPLOAD_BUCKETmy-bucket-name LANGFUSE_S3_EVENT_UPLOAD_REGIONauto LANGFUSE_S3_EVENT_UPLOAD_ACCESS_KEY_IDaccess-key-id LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEYsecret-access-key LANGFUSE_S3_EVENT_UPLOAD_ENDPOINThttps://${ACCOUNT_ID}.r2.cloudflarestorage.comAzure Blob Storage Azure 不兼容 S3 APILangfuse 提供专用支持。 环境变量示例使用 Azurite LANGFUSE_USE_AZURE_BLOBtrue LANGFUSE_S3_EVENT_UPLOAD_BUCKETlangfuse LANGFUSE_S3_EVENT_UPLOAD_ACCESS_KEY_IDdevstoreaccount1 LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEYyour-key LANGFUSE_S3_EVENT_UPLOAD_ENDPOINThttp://localhost:10000/devstoreaccount1Google Cloud Storage 原生集成推荐 LANGFUSE_USE_GOOGLE_CLOUD_STORAGEtrue LANGFUSE_S3_EVENT_UPLOAD_BUCKETlangfuse LANGFUSE_GOOGLE_CLOUD_STORAGE_CREDENTIALSjson 或文件路径 LANGFUSE_S3_EVENT_UPLOAD_PREFIXevents/兼容模式HMAC LANGFUSE_S3_EVENT_UPLOAD_BUCKETmy-bucket-name LANGFUSE_S3_EVENT_UPLOAD_REGIONauto LANGFUSE_S3_EVENT_UPLOAD_ACCESS_KEY_IDHMAC Access Key LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEYHMAC Secret Key LANGFUSE_S3_EVENT_UPLOAD_ENDPOINThttps://storage.googleapis.com LANGFUSE_S3_EVENT_UPLOAD_FORCE_PATH_STYLEtrue LANGFUSE_S3_EVENT_UPLOAD_PREFIXevents/Postgres 数据库 Langfuse 需要一个持久化的 Postgres 数据库来存储其状态。你可以使用 AWS、Azure 或 GCP 上的托管服务或自行部署数据库。 Langfuse 支持 Postgres 12 及以上版本并使用所选数据库中的 public 模式schema。 使用场景 Postgres 用于存储所有事务性数据包括 用户Users组织Organizations项目Projects数据集Datasets加密的 API 密钥Encrypted API keys设置Settings配置Configuration时区Timezones Langfuse 要求其基础设施组件默认使用 UTC 时区。特别是 Postgres 和 ClickHouse 中覆盖 UTC 默认设置的行为不受支持可能会导致意外行为。 LangFuse: LangSmith平替 官方网站https://langfuse.com/ 项目地址https://github.com/langfuse 由于LangFuse本地化部署还是需要一定的配置因此个人用户可以使用LangFuse的云平台开发如果电脑实在性能差则minioredispgsqlclickhouse都可以使用相应供应商的云平台。 我简称以上为拼好Fuse话不多说直接开始 先注册登录官网地址在上面 创建组织和Project 生成私钥和公钥一定要复制并记录下这个私钥和公钥关闭这个窗口后私钥就再也看不到了。 本地安装 langfuse pip install --upgrade langfuseLangChain集成 from langfuse import Langfuse from langfuse.langchain import CallbackHandlerlangfuse Langfuse(public_key,secret_key,host )langfuse_handler CallbackHandler()# Your Langchain code here# Add handler to run/invoke/call/chat chain.invoke({input: user_input}, config{callbacks: [langfuse_handler]})运行之后看下LangFuse平台应该能看到你的项目和调用了。
http://www.dnsts.com.cn/news/268401.html

相关文章:

  • 北京网站推广公司培训总结精辟句子
  • 网站备案经验具体网络营销方案
  • 扬中网站制作公司如何把静态图片做成动态视频
  • 南昌网站设计单位公司新手搭建网站
  • 成都哪些地方好玩湖南专业的关键词优化
  • 宁波做网站价格wordpress 可以做论坛吗
  • 戴尔网站建设规划定州网页设计
  • 网站定制公司排行榜有没有代加工的网站
  • 白云区建网站设计做网站用什么配置的笔记本
  • 中国做网站公司深圳香蜜湖街道香岭社区
  • php网站开发工程师教程手机模拟器
  • 黄冈网站搭建推荐网页小程序开发
  • 南阳企业网站建设住房城乡建设网站查询
  • 网络营销站点推广的方法苍南县龙港哪里有做网站
  • 房山重庆网站建设医疗机械网站怎么做
  • 淘宝cms建站找企业案例的网站
  • 建设部注册网站装潢设计和室内设计的区别
  • 一个人做两个博客网站网站建设和维护合同
  • 个人电脑做网站服务器教程seo报告
  • 企业建设网站的步骤是什么携程网站建设的意义
  • 电商网站推广方法网站子目录建立
  • 数据库 网站开发所需流程网站建设swot分析
  • 表白网页制作免费网站工地模板是什么材料做的
  • 建站行业最新消息设计个人网页
  • 网站推广中h1标签的重要性哪家公司做推广优化好
  • 外包公司 网站建设 深圳国外做装饰画的网站
  • 国网法治建设网站网站开发工程师岗位描述
  • 手机网站页面制作网站后台管理产品排序
  • 东台建设企业网站益阳做网站的公司
  • 三河网站建设公司个人网站制作多少钱