ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Python基础学习(一):用 TaoToken 统一 Key 打通第一个 AI 脚本

Python基础学习(一):用 TaoToken 统一 Key 打通第一个 AI 脚本 1. 从 print_hi 到第一个 AI 脚本为什么你卡在“能写语法但跑不通调用”如果你刚学完 Python 的函数、if __name__ __main__:、import这些基础语法大概率写过类似这样的代码def print_hi(name): print(fHi, {name}) if __name__ __main__: print_hi(PyCharm)这段代码能跑通说明你已经理解了函数定义、f-string 和模块入口判断。但接下来想让它“真的调用一次 AI 模型”很多人会卡在三个地方第一不知道该装哪个库第二Key 到底放哪里才安全第三请求发出去之后返回的到底是什么结构。我试过把 Key 直接写在脚本里结果一提交就后悔了。所以这篇不讲抽象概念只做一件事用 TaoToken 的统一 Key把“本地 Python 环境 → 读取配置 → 发起一次模型调用 → 打印返回内容”这条链路完整跑通。适合刚学完语法、想拿真实 AI 场景练手的初学者。你不需要先理解 HTTP 协议也不需要先学异步跟着步骤走就行。核心检索词先明确Python 调用 AI 模型、TaoToken 统一 Key、config.toml 配置、最小可运行脚本。下面从环境准备开始。2. TaoToken 前置准备统一 Key 与 config.toml 骨架TaoToken 的作用可以类比成“一个统一的入口”。你不需要为每个模型单独记一套地址和密钥而是用同一个 Key 去调用不同模型。官网地址是https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentAPI 根地址是https://taotoken.net/api。先做两件事拿到 Key建好配置文件。2.1 获取 API Key登录后进入控制台找到 API Keys 页面创建一个新 Key。创建后立刻复制保存页面刷新后通常不再完整显示。这个 Key 就是你脚本里要读取的凭证。注意Key 不要写进代码文件也不要提交到 Git。后面我们用config.toml单独存放并把它加入.gitignore。2.2 安装依赖Python 3.8 以上即可。我们只需要一个 HTTP 客户端库这里用requests它对初学者最友好pip install requests如果你用的是虚拟环境先激活再安装。验证安装pip show requests能看到版本号就说明装好了。2.3 config.toml 骨架在项目根目录新建config.toml内容如下[taotoken] api_key sk-你的Key粘贴在这里 base_url https://taotoken.net/api model gpt-4o-mini这里三个字段分别对应你的密钥、API 根地址、默认模型名。模型名可以按你账号里可用的来改。base_url不要加末尾斜杠后面拼接路径时更干净。然后在同目录建一个.gitignore写入config.toml这样即使你以后初始化 Git 仓库Key 也不会被提交。3. 可复制配置读取 Key 与最小调用脚本这一节给出完整可运行的代码。建议新建first_ai.py把下面内容整段复制进去只改config.toml里的 Key。3.1 读取 config.tomlPython 3.11 起标准库自带tomllib可以直接读 TOML。如果你版本较低用pip install tomli后把导入改成import tomli as tomllib。import tomllib def load_config(pathconfig.toml): with open(path, rb) as f: return tomllib.load(f) if __name__ __main__: cfg load_config() print(base_url:, cfg[taotoken][base_url]) print(model:, cfg[taotoken][model])先跑这一步确认能打印出配置。如果报FileNotFoundError说明config.toml不在当前工作目录检查你运行脚本的路径。3.2 发起一次对话请求TaoToken 的对话接口兼容常见的 chat completions 格式。下面是最小请求import tomllib import requests def load_config(pathconfig.toml): with open(path, rb) as f: return tomllib.load(f) def chat(prompt, cfg): url cfg[taotoken][base_url] /v1/chat/completions headers { Authorization: fBearer {cfg[taotoken][api_key]}, Content-Type: application/json, } payload { model: cfg[taotoken][model], messages: [ {role: user, content: prompt} ], } resp requests.post(url, headersheaders, jsonpayload, timeout60) resp.raise_for_status() return resp.json() if __name__ __main__: cfg load_config() result chat(用一句话解释什么是 Python 的 f-string, cfg) print(result[choices][0][message][content])几个关键点说明。Authorization头是Bearer加空格再加 Key这是最常见的鉴权格式。messages是一个列表每条消息有role和contentuser表示用户输入。timeout60防止网络卡住时脚本一直挂着。raise_for_status()会在状态码非 2xx 时直接抛异常方便你定位问题。3.3 参数对照表字段位置作用常见取值api_keyconfig.toml身份凭证sk- 开头字符串base_urlconfig.tomlAPI 根地址https://taotoken.net/apimodelconfig.toml指定模型按账号可用列表messages请求体对话上下文role/content 列表timeoutrequests超时秒数30 到 1204. 验证请求运行后打印模型返回内容保存first_ai.py在终端执行python first_ai.py如果一切正常你会看到类似这样的输出f-string 是 Python 中用于格式化字符串的语法在字符串前加 f用花括号嵌入变量或表达式。这说明整条链路已经通了脚本读取了config.toml用统一 Key 发起了请求模型返回了内容你把它打印了出来。4.1 打印完整返回结构第一次跑通后建议把完整 JSON 打出来看一次理解返回结构import json result chat(你好, cfg) print(json.dumps(result, ensure_asciiFalse, indent2))你会看到choices、usage等字段。usage里通常有 token 消耗统计方便你估算成本。choices[0].message.content就是模型回复的正文。4.2 把基础语法用起来现在可以结合你学过的语法做点小改造。比如用函数封装多轮对话def chat_multi(prompts, cfg): messages [{role: user, content: p} for p in prompts] url cfg[taotoken][base_url] /v1/chat/completions headers { Authorization: fBearer {cfg[taotoken][api_key]}, Content-Type: application/json, } payload {model: cfg[taotoken][model], messages: messages} resp requests.post(url, headersheaders, jsonpayload, timeout60) resp.raise_for_status() return resp.json()[choices][0][message][content]这里用到了列表推导式正好复习你学过的循环和列表。运行后打印返回验证多轮输入是否被正确拼接。5. 本篇常见错排查跑不通时按下面顺序排查基本能覆盖初学者 90% 的问题。5.1 401 或 403通常是 Key 错误或没带上。检查config.toml里api_key是否完整复制有没有多余空格。确认请求头里是Bearer加 Key中间有一个空格。5.2 404多半是路径拼错。base_url是https://taotoken.net/api拼接后是/api/v1/chat/completions。如果你在base_url末尾多加了斜杠会变成双斜杠部分服务会返回 404。5.3 ModuleNotFoundErrortomllib找不到说明 Python 版本低于 3.11。用python --version确认然后pip install tomli把导入改成import tomli as tomllib。requests找不到就重新pip install requests注意是否装到了别的虚拟环境。5.4 返回内容为空或 KeyError先打印完整result看结构是否和预期一致。如果choices不存在可能是模型名写错或该模型不可用。换一个账号里确认可用的模型名再试。5.5 超时网络波动时timeout60可能不够改成 120 再试。如果长期超时检查本地网络是否正常不要用任何非正规网络工具。提示每次改完配置先跑 3.1 的配置读取脚本确认字段正确再跑完整请求能省很多时间。6. 下一步把统一 Key 用到长期编码与 Agent 场景跑通第一个脚本后你已经有了一个可复用的调用骨架。接下来如果想让 AI 参与日常编码、批量处理任务或者做长期运行的 Agent单次请求就不够了需要考虑额度、并发和稳定性。这时候可以了解 Coding Plan它更适合持续性的编码辅助场景。如果你只是想多试几个模型、对比返回效果可以直接在模型对话页面里切换体验不用改代码。需要管理更多 Key 或查看用量进控制台即可。接入文档里有更完整的参数说明和示例遇到路径或字段问题优先查文档。模型对话https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewriteCoding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite控制台https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewriteAPI Keyshttps://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite最后留一个实用习惯把config.toml里的模型名做成可切换的变量每次只改一行就能对比不同模型的返回。这样你练语法的时候顺手就把真实 AI 场景跑熟了。
返回列表