Arize AX CLI 凭据配置实战指南:用 ax profiles 排查 401、管理 API Key 与 Space
【免费下载链接】awesome-copilotCommunity-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-copilot
本文围绕 awesome-copilot 仓库中arize-instrumentation技能所附的 ax-profiles.md 参考文档展开,系统讲解 Arize AX 命令行工具ax的 profile(配置文件)机制:如何在认证失败(401、缺少 profile、缺少 API Key)时诊断现状、用ax profiles show / create / update修复或重建配置、安全地通过ARIZE_API_KEY环境变量引用密钥,以及如何持久化 Space 凭据供后续会话复用。读完本文,你将能独立完成 ax CLI 的凭据排障与配置,并掌握不泄露密钥的 Agent 协作规范。
一、为什么需要 ax profiles:它在 Arize AX 工具链中的位置
Arize AX 是一套面向 LLM 可观测性、评估与优化的平台。在 arize-instrumentation 技能 中,Agent 通过两阶段流程为 LLM 应用接入 Arize AX 追踪:先只读分析代码库(Phase 1),再在用户确认后实施插桩(Phase 2)。而验证插桩是否生效、导出 trace/span 等工作,则依赖ax命令行工具。
ax profiles正是这个工具链的"认证关口":它保存了调用 Arize 后端所需的 API Key、region(区域)等连接参数。无论是 arize-instrumentation 的 Phase 2 凭据步骤,还是 arize-trace 中导出 trace 时遇到的401 Unauthorized排查,最终都会回落到 profile 的检查与修复。仓库中的 arize-ax 插件 聚合了 trace 导出、插桩、数据集、实验、评估器等技能,它们共享同一套axCLI 与凭据体系,因此掌握 ax profiles 是使用整套插件的前提。
需要强调的是:ax-profiles.md是按需查询的参考文档——它明确要求仅在认证失败(401、缺少 profile、缺少 API Key)时查阅,不要主动预先检查。这份克制也体现在 arize-instrumentation 技能 的 Phase 0 中:"不要主动检查ax安装或版本;如果后续验证需要ax,到用时再运行,失败时再查阅 references/ax-profiles.md"。
二、诊断现状:ax profiles show 与常见输出解读
排障的第一步是看清当前配置。在终端执行:
ax profiles show输出可能呈现以下几种状态,每种状态对应不同的处置路径:
| 输出特征 | 含义 | 处置 |
|---|---|---|
API Key: (not set)或密钥缺失 | Key 尚未配置 | 需要创建或更新 Key |
| 无 profile 输出 / 提示 "No profiles found" | 尚无任何 profile | 需要创建一个新 profile |
已连接但请求返回401 Unauthorized | Key 错误或已过期 | 用ax profiles update更换 Key |
| 已连接但 endpoint/region 不对 | region 配置错误 | 用ax profiles update --region修正 |
一个关键原则:只修补出问题的字段,不要整删重建。ax profiles update只改动你显式指定的字段,其余设置保持不变——这能避免误伤其他正确的连接参数。
三、修复误配置的 profile:ax profiles update
当 profile 已存在但某项设置错误时,用update精准修补。
3.1 API Key 必须走环境变量
严禁把原始 API Key 值直接作为 flag 传入命令。正确做法是始终通过ARIZE_API_KEY环境变量引用。如果当前 shell 尚未导出该变量,应先让用户自行设置(见下文"获取 API Key"),再执行命令:
# 前提:ARIZE_API_KEY 已在 shell 中导出 ax profiles update --api-key $ARIZE_API_KEY3.2 修正 region
region 不涉及机密,可以直接执行:
# 修复区域(无敏感信息,可直接运行) ax profiles update --region us-east-1b3.3 同时修复多个字段
ax profiles update --api-key $ARIZE_API_KEY --region us-east-1b需要记住的行为细节:
update仅修改你指定的字段,其余配置全部保留;- 未指定 profile 名称时,更新的是当前激活的 profile;
- 涉及密钥的 flag 永远使用
$ARIZE_API_KEY,而不是字面量。
从仓库证据看,这种"先ax profiles show检查、再update修补"的路径,正是 arize-trace 中401 Unauthorized排查的标准动作:"运行ax profiles show检查当前 profile;若 profile 缺失或 API Key 错误,按 references/ax-profiles.md 创建/更新它"。
四、从零创建 profile:ax profiles create
当没有任何 profile,或现有 profile 需要指向完全不同的环境(不同的 org、不同的 region)时,使用create:
# 前提:ARIZE_API_KEY 已在 shell 中导出 ax profiles create --api-key $ARIZE_API_KEY # 带 region 创建 ax profiles create --api-key $ARIZE_API_KEY --region us-east-1b # 创建命名 profile ax profiles create work --api-key $ARIZE_API_KEY --region us-east-1b命名 profile 的用途在于支持多套环境并存。使用命名 profile 时,在任意ax命令后追加-p NAME即可:
ax spans export PROJECT -p work这与 arize-trace 中的用法一脉相承:ax spans export用于按 trace_id / span_id / session_id 下载 span,配合--output-dir .arize-tmp-traces落盘检查。而交互式场景下,ax profiles create本身也提供了交互式向导,会一步步引导填写 API Key 与 Space 设置(参见 arize-instrumentation 技能 Phase 2 的凭据步骤)。
另外值得注意:如果以项目名称执行ax traces export,必须显式传入--space;若遇到401 Unauthorized或 limit 类错误,可先把项目名解析为 base64 ID 再作为PROJECT使用——这仍是 profile/凭据排查之外的另一个常见坑(详见 arize-trace)。
五、获取 API Key 的安全规范
这一节是整个凭据流程的"红线",无论 create 还是 update 都必须遵守:
绝不让用户把 API Key 粘贴到聊天里,绝不记录、回显或展示任何 API Key 值。
如果ARIZE_API_KEY尚未设置,引导用户在自己的终端里导出:
export ARIZE_API_KEY="..." # 用户在自己的终端粘贴自己的 Key获取 Key 的路径是登录 https://app.arize.com 后进入设置页。文档明确推荐创建带作用域的 service key(服务密钥),而非个人用户密钥:
- service key 不与某个个人账号绑定,更适合程序化使用;
- 密钥是space 级(按工作空间)作用域的,务必确保复制的是目标 space 对应的那把 Key。
确认用户已设置变量后,再按上文流程执行ax profiles create --api-key $ARIZE_API_KEY或ax profiles update --api-key $ARIZE_API_KEY。
这套"绝不内联密钥"的规范在 arize-instrumentation 技能 的核心原则中同样被强调:"生成的代码中绝不嵌入字面量凭据值,始终引用环境变量(如os.environ["ARIZE_API_KEY"]、process.env.ARIZE_API_KEY)。API Key、space ID 以及其他任何机密都属于此列。用户在自己的环境中设置这些值,Agent 绝不能输出原始密钥值。"
六、验证配置:ax profiles show
每次 create 或 update 之后都要验证:
ax profiles show确认 API Key 与 region 均正确后,重试最初失败的原始命令。这个"改完必验"的闭环,对应 arize-instrumentation 技能 的 Verification 要求:只有当应用能构建/通过类型检查、能成功启动、能触发至少一次真实请求产生 span,并在 Arize 中确认 trace 到达后,插桩才算完成;若失败,则需给出能区分"应用侧成功 / Arize 侧失败"的精确阻塞点。profile 验证正是这类阻塞点排查的前置条件。
七、Space 的持久化:ARIZE_SPACE 环境变量
Space 是 Arize 中的工作空间概念。profile 没有针对 Space 的 flag,因此把它存为环境变量即可。ARIZE_SPACE同时接受两种取值:
- space名称,例如
my-workspace; - 经 base64 编码的 spaceID,例如
U3BhY2U6...。
可用ax spaces list -o json查询自己的 space(这一命令同样在 arize-trace 中被用于凭据与 space 解析)。
macOS / Linux
将以下行加入~/.zshrc或~/.bashrc:
export ARIZE_SPACE="my-workspace" # name 或 base64 ID然后执行source ~/.zshrc(或重启终端)使其生效。
Windows(PowerShell)
[System.Environment]::SetEnvironmentVariable('ARIZE_SPACE', 'my-workspace', 'User')之后重启终端生效。
补充一个来自 arize-trace 的实操细节:如果用户直接告诉你 space 名称,应把它当作 ground truth 直接使用,不要先跑ax spaces list去查——因为该命令会分页且默认只返回第一页(约 15 个 space),目标 space 可能在后页而永远不出现。直接把用户提供的名称传给--space-id或ax projects list --space-id "<name>"即可。
八、会话结束时的凭据保存流程
在会话结束时,如果用户在本次对话中手动提供了凭据,且这些值并非来自已保存的 profile 或环境变量,则主动询问是否保存,以便下次免输入。
跳过条件(满足任一即跳过)
- API Key 已经来自现有 profile 或
ARIZE_API_KEY环境变量; - Space 已经通过
ARIZE_SPACE环境变量设置; - 用户只使用了 base64 的项目 ID(不需要 Space)。
如何询问
使用AskQuestion提问:"Would you like to save your Arize credentials so you don't have to enter them next time?"(是否保存您的 Arize 凭据以便下次免于输入?),选项为"Yes, save them"(是的,保存)/"No thanks"(不用了,谢谢)。
用户同意后
- API Key:先运行
ax profiles show检查当前状态,再执行ax profiles create --api-key $ARIZE_API_KEY或ax profiles update --api-key $ARIZE_API_KEY(Key 必须已导出为环境变量——绝不传原始值); - Space:按上文第七节的方式持久化为环境变量。
这套"会话末保存"机制的价值在于:既避免了每次对话都要重新输入凭据,又保证了所有密钥流转都发生在用户自己的 shell 与配置文件中,Agent 全程不接触、不落盘任何明文密钥。该流程在 arize-instrumentation 技能 中也被引用("参见 references/ax-profiles.md § Save Credentials for Future Use")。
九、与相关技能联动的排障速查
ax profiles 配置完成后,常见联动的验证/排障命令可汇总如下(依据 arize-trace 与 arize-instrumentation):
| 场景 | 命令/动作 |
|---|---|
| 检查 profile 是否正常 | ax profiles show |
| 创建/更新凭据 | ax profiles create --api-key $ARIZE_API_KEY/ax profiles update --api-key $ARIZE_API_KEY --region us-east-1b |
| 查询 space | ax spaces list -o json |
| 解析项目 base64 ID | ax projects list -l 100 -o json |
| 导出指定 trace 的 span | ax spans export PROJECT --trace-id TRACE_ID --output-dir .arize-tmp-traces |
| 401 排障 | 先ax profiles show;Key 错/过期则按本文档修复 profile;项目名导致的 401 则解析为 base64 ID 并补--space |
安全性总原则(贯穿整套 Arize 技能):不要读取.env文件,不要在文件系统中搜索凭据。Arize 凭据走ax profiles,LLM 供应商密钥走ax ai-integrations;若这些渠道拿不到凭据,直接询问用户——这条规则保证了 Agent 的凭据获取始终经由受控通道。
十、小结
ax profiles是 Arize AX CLI 一切远程操作的认证基石。本文从故障驱动出发,完整覆盖了五步闭环:ax profiles show诊断 →update精准修补 →create重建/新建 → 安全获取并引用 API Key → 再次show验证,再加上ARIZE_SPACE的持久化与会话末凭据保存。无论你是手工使用axCLI 导出 trace,还是让 Agent 按 arize-instrumentation 为应用接入追踪,这套流程都能帮你快速定位并解决 401、缺 Key、错 region 等认证问题——且全程不触碰明文密钥。
【免费下载链接】awesome-copilotCommunity-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-copilot
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考