ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

从 invalid x-api-key 到跑通流式输出:5 步打通 Anthropic Claude API 入门

从 invalid x-api-key 到跑通流式输出:5 步打通 Anthropic Claude API 入门 从 invalid x-api-key 到跑通流式输出5 步打通 Anthropic Claude API 入门【免费下载链接】coursesAnthropics educational courses项目地址: https://gitcode.com/GitHub_Trending/cours/courses第一次调 API 是不是也遇到过这个anthropic.AuthenticationError: invalid x-api-key或者模型只蹦出两个词就闭嘴了本文跟随 Anthropic 官方课程仓库里 API fundamentals 课程 的实操笔记走通申请密钥 → 配置环境 → 首次调用 → 参数调优 → 流式输出这条路径。看完你能完成 API 密钥与模型参数的最小闭环并对 90% 的常见报错自查出原因。十分钟搭好最小可运行环境课程要求 Python 版本 ≥ 3.7.1先在终端确认python --version版本达标后装 SDK按场景选命令# 命令行场景 pip install anthropic# Notebook 里直接用 %pip install anthropic想要完整 notebook 可以拉一份课程仓库git clone https://gitcode.com/GitHub_Trending/cours/courses申请 API 密钥5 步走完打开 Anthropic 控制台注册账号完成邮箱验证并登录在设置页找到 API Keys 选项卡点击 Create new key 并填个用途名复制完整密钥存到安全位置 密钥只在生成那一刻完整显示一次错过就补不回来。别把它写进代码或提交到仓库。三个必选参数是什么进阶参数怎么拿捏发一次成功的请求要带齐model、max_tokens、messages三个参数。最小可运行示例from anthropic import Anthropic client Anthropic() # 自动从环境变量读取密钥 first_reply client.messages.create( modelclaude-3-haiku-20240307, # 最小的模型试错便宜 max_tokens300, # 输出长度上限不是正好输出这么多 messages[ {role: user, content: 用一句话介绍 Messages API} ], ) print(first_reply.content[0].text)怎么验证生效跑通后应得到一句完整的话如果输出中途断掉直接跳到下文排障一节。三个模型怎么选名称定位/特点适用场景一句话备注claude-3-opus-20240229推理能力最强复杂分析、长文写作最慢任务真需要时才上claude-3-sonnet-20240229性能与成本均衡日常开发、通用对话多数场景的默认选择claude-3-haiku-20240307最快最便宜批量处理、简单问答课程全程用它省成本怎么验证生效同一个问题喂给三个模型对比作答耗时与质量——课程里的实测显示 Haiku 响应最快难题上准确率差距才明显。max_tokens 设多少合适作用一句话限制响应生成的 token 上限1 token 约等于 3.5 个英文字符。经验值短答给 100–300长文给 1000 以上设小了输出被截断设大了也不会强制写满只会多等一会儿。short_reply client.messages.create( modelclaude-3-haiku-20240307, max_tokens10, # 故意压到极小用来观察截断现象 messages[{role: user, content: 写一首关于 AI 的小诗}], ) print(short_reply.stop_reason) # 会输出 max_tokens即被长度限制掐停怎么验证生效把上限提到 500 再跑stop_reason变成end_turn说明模型是自己说完的限制不再是瓶颈。temperature 设多少合适作用一句话控制输出的随机程度取值 0.0–1.0。经验值事实核查、摘要类任务给 0–0.3创意类写作给 0.7 以上。creative_reply client.messages.create( modelclaude-3-sonnet-20240229, max_tokens500, temperature0.9, # 高随机同一问题两次作答会有明显差异 messages[{role: user, content: 给一款笔记应用想一个有创意的名字}], )怎么验证生效把同一提示词连跑两次对比——temperature 高时两份输出措辞差异明显设 0 时则几乎一致。用 stop_sequences 精准掐断输出作用一句话生成内容一旦撞上你指定的字符串就立刻停笔适合只要正文、不要后记的场合。clipped client.messages.create( modelclaude-3-haiku-20240307, max_tokens500, stop_sequences[### 小结], # 撞上这个标记就停不再往下说 messages[{role: user, content: 分析这个方案的优缺点最后以### 小结收尾}], )怎么验证生效看输出是否恰好停在标记处后面没有多余的发挥。ANTHROPIC_API_KEY 环境变量该配在哪硬编码是大忌推荐把密钥放进环境变量让 SDK 自动读取。按你的系统选配法。Windows 怎么配setx ANTHROPIC_API_KEY sk-ant-你的密钥⚠️ setx 只对新开的终端窗口生效重开一个窗口再验证echo %ANTHROPIC_API_KEY%预期输出你刚设置的完整密钥如果为空说明还在用旧窗口。macOS / Linux 怎么配export ANTHROPIC_API_KEYsk-ant-你的密钥只对当前终端有效。想长期保留把同一行追加到~/.zshrc或~/.bashrc然后执行source ~/.zshrc。验证echo $ANTHROPIC_API_KEY.env 文件适合什么场景项目要长期维护、或者团队协作时把密钥写进项目根目录的.env文件更省心ANTHROPIC_API_KEYsk-ant-你的密钥from dotenv import load_dotenv from anthropic import Anthropic load_dotenv() # 从当前目录读取 .env client Anthropic() print(密钥加载完成)密钥申请的控制台界面长这样课程里附了对应截图怎么验证生效跑完输出密钥加载完成且不再抛AuthenticationError说明配置链路已经打通。高频报错排查三个典型坑invalid x-api-key 怎么办症状任何请求都抛anthropic.AuthenticationError。根因密钥没被真正读到——.env不在代码同目录、密钥前后混进空格、或旧终端没拿到新变量。修复echo $ANTHROPIC_API_KEY # Windows 换成 echo %ANTHROPIC_API_KEY%确认输出是完整密钥且无首尾空白然后重新load_dotenv()或重开终端。响应只有几个词、句子断在半空怎么办症状小诗写了一半戛然而止stop_reason是max_tokens。根因生成上限太小模型被你闭嘴了。修复把max_tokens提到 1000 以上重跑确认stop_reason变为end_turn。长时间没输出是卡死了吗症状请求长文本后终端空白 30 秒以上怀疑挂了。根因非流式模式要等全部生成完才返回文越长等越久。修复改流式边生成边吐字with client.messages.stream( modelclaude-3-sonnet-20240229, max_tokens1000, messages[{role: user, content: 写一篇长一点的文章}], ) as stream: for chunk in stream.text_stream: print(chunk, end)验证方式首字从半分钟后出现变成几秒内出现。流式过程中的事件流转如下收尾5 条能存下来的实操建议密钥只放环境变量或.env代码里一个字母都不要见.env记得加进.gitignore。批量、高频任务默认用 Haiku确实搞不定的难题再切 Sonnet / Opus成本立刻降一档。事实与摘要场景锁temperature0创意生成再放开随机性。长输出从一开始就开流式把用户体感延迟压缩到首字时间。每次请求顺手看一眼消耗心里有数才敢放量last client.messages.create( modelclaude-3-haiku-20240307, max_tokens200, messages[{role: user, content: 用一句话解释什么是 token}], ) print(f本次输出 tokens: {last.usage.output_tokens})跑一下确认数字你就真正完成了密钥与参数的双重验证。觉得有用就收藏一下然后照着 5 步亲手跑一遍——第一次看到模型完整回答你最有成就感。【免费下载链接】coursesAnthropics educational courses项目地址: https://gitcode.com/GitHub_Trending/cours/courses创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表