共享配置解析全局使用的公用设施 @arizeai/phoenix-otel 财务报告和审定财务报表 @arizeai/phoenix-client。为阅读凤凰城环境变量提供输入的帮助.
安装
npm install @arizeai/phoenix-config
环境变量
| 变量 | 常数 | 说明 |
|---|---|---|
PHOENIX_ENDPOINT | ENV_PHOENIX_ENDPOINT | API 访问的凤凰基地 URL |
PHOENIX_HOST | ENV_PHOENIX_HOST | Phoenix 服务器绑定主机; 仅读作 API 基础 URL 的后退 |
PHOENIX_API_KEY | ENV_PHOENIX_API_KEY | 凤凰城认证的 API 密钥 |
PHOENIX_CLIENT_HEADERS | ENV_PHOENIX_CLIENT_HEADERS | JSON 客户端请求的自定义头 |
PHOENIX_COLLECTOR_ENDPOINT | ENV_PHOENIX_COLLECTOR_ENDPOINT | OTel 收藏器端点 URL |
PHOENIX_PORT | ENV_PHOENIX_PORT | Phoenix HTTP 端口( 整数) |
PHOENIX_GRPC_PORT | ENV_PHOENIX_GRPC_PORT | 凤凰GRPC 端口用于 OpenTeleometry (整数) |
PHOENIX_PROJECT | ENV_PHOENIX_PROJECT | 项目范围操作的默认项目名称( canonical) |
PHOENIX_PROJECT_NAME | ENV_PHOENIX_PROJECT_NAME | 支持的别名 PHOENIX_PROJECT |
PHOENIX_LOG_LEVEL | ENV_PHOENIX_LOG_LEVEL | 日志动词 : debug, (中文(简体) ), info, (中文(简体) ), warn, (中文(简体) ), error,或 silent |
PHOENIX_DISCOVER_CONFIG | ENV_PHOENIX_DISCOVER_CONFIG | 设定为 false 无法禁用 .env.phoenix 文件发现 |
证书文件发现( I).env.phoenix(中文(简体) )
当进程环境中没有设置凤凰城设置时, 帮助者会查看
(单位:千美元) .env.phoenix 当前工作目录中的文件——向上走
文件系统根并停止在第一次匹配中——并读取
PHOENIX_- 其前缀密钥( dotenv格式) :
添加 .env.phoenix 在存储证书之前忽略规则
在此文件中(凤凰城寄存器已忽略它) .
# .env.phoenix
PHOENIX_COLLECTOR_ENDPOINT=http://localhost:6006
PHOENIX_API_KEY=your-api-key
进程环境变量总是优先——文件从不覆盖
任何已设置的键 PHOENIX_ 前缀被忽略。 相关
设置按组解决:当任何证书时(PHOENIX_API_KEY, (中文(简体) ),
PHOENIX_CLIENT_HEADERS) 设置在进程环境中,文件被忽略
用于整个证书组,所以程序和文件证书从来不是混合的.
设定 PHOENIX_DISCOVER_CONFIG=false 完全禁用发现.
一个终点从 .env.phoenix 仍可结合提供全权证书
明确或通过过程环境。 消费者发出一次性警告
指定证书来源、端点变量和已发现文件的大小写;
认证值从未被记录 。 了解来源的消费者应使用
getStrFromEnvironmentWithSource() 财务报告和审定财务报表
getCredentialsFromEnvironmentWithSource() 而不是重建
源层本身.
发现结果被缓存到每个工作目录中
进程(包括没有文件)。 创建长期运行的进程
第一个配置搜索后的文件可以调用 clearEnvFileCache() 改为
重新发现它.
使用量
读取全部配置
import { getEnvironmentConfig } from "@arizeai/phoenix-config";
const config = getEnvironmentConfig();
// Returns a typed object with all recognized Phoenix env vars:
// {
// PHOENIX_HOST: "http://localhost:6006",
// PHOENIX_API_KEY: "my-key",
// PHOENIX_CLIENT_HEADERS: { "X-Custom": "value" },
// PHOENIX_COLLECTOR_ENDPOINT: "http://localhost:6006",
// PHOENIX_PORT: 6006,
// PHOENIX_GRPC_PORT: 4317,
// PHOENIX_LOG_LEVEL: "info",
// PHOENIX_PROJECT: "my-project",
// }
解决工程名称
PHOENIX_PROJECT 是条形工程名称变量; PHOENIX_PROJECT_NAME
是一个支持的别名。 使用 getProjectFromEnvironment() 以
正确的优先级(PHOENIX_PROJECT 赢; 如果
两者被设定为相互冲突的价值观:
import { getProjectFromEnvironment } from "@arizeai/phoenix-config";
const project = getProjectFromEnvironment();
// Reads PHOENIX_PROJECT, then PHOENIX_PROJECT_NAME, or undefined if neither is set
读取个人价值
import {
getStrFromEnvironment,
getIntFromEnvironment,
getHeadersFromEnvironment,
ENV_PHOENIX_ENDPOINT,
ENV_PHOENIX_PORT,
ENV_PHOENIX_CLIENT_HEADERS,
} from "@arizeai/phoenix-config";
// Read a string environment variable
const endpoint = getStrFromEnvironment(ENV_PHOENIX_ENDPOINT);
// Returns "http://localhost:6006" or undefined
// Read an integer environment variable
const port = getIntFromEnvironment(ENV_PHOENIX_PORT);
// Returns 6006 or undefined
// Read and parse a JSON-encoded headers object
const headers = getHeadersFromEnvironment(ENV_PHOENIX_CLIENT_HEADERS);
// Returns { "Authorization": "Bearer token" } or undefined
使用常数
import {
ENV_PHOENIX_ENDPOINT,
ENV_PHOENIX_HOST,
ENV_PHOENIX_API_KEY,
ENV_PHOENIX_CLIENT_HEADERS,
ENV_PHOENIX_COLLECTOR_ENDPOINT,
ENV_PHOENIX_PORT,
ENV_PHOENIX_GRPC_PORT,
ENV_PHOENIX_PROJECT_NAME,
ENV_PHOENIX_PROJECT,
ENV_PHOENIX_LOG_LEVEL,
} from "@arizeai/phoenix-config";
// Use constants instead of raw strings to avoid typos
const apiKey = process.env[ENV_PHOENIX_API_KEY];
类型
import type { EnvironmentConfig } from "@arizeai/phoenix-config";
// Inferred return type of getEnvironmentConfig()
社区
加入我们的社区,与成千上万的人工智能建设者建立联系: