【三个月 AI Agent 实战学习】Day 1 详细展开:环境搭建、API 初体验与 Token 认知 Day 1环境搭建、API 初体验与 Token 认知欢迎来到 AI Agent 学习之旅的第一天今天的目标非常明确把工具准备好跑通第一个大模型 API 调用并理解 Token 这个概念。这是后续所有项目的地基请务必亲手敲下每一行代码。一、今日学习目标安装并配置 Python 开发环境推荐使用虚拟环境。安装openaiSDK 和tiktoken库。获取一个国内可用的大模型 API Key推荐 DeepSeek便宜且兼容 OpenAI 格式如有 OpenAI Key 也可。编写并成功运行第一个 API 调用脚本让模型说“你好”。理解什么是 Token为什么它重要并能计算中英文文本的 Token 数量差异。初步了解 Token 的切分原理BPE 分词。二、详细实现步骤步骤 1准备 Python 环境首先确保你的电脑上安装了 Python 3.9 或以上版本。在终端命令行输入以下命令检查python--version# 或python3--version如果未安装请前往 python.org 下载安装。为了避免污染全局环境强烈建议使用虚拟环境。在你想存放项目的目录下执行# 创建项目文件夹mkdirai-agent-learningcdai-agent-learning# 创建虚拟环境Windows 下命令可能为 python -m venv venvpython3-mvenv venv# 激活虚拟环境# macOS / Linux:sourcevenv/bin/activate# Windows (cmd):venv\Scripts\activate# Windows (PowerShell):venv\Scripts\Activate.ps1激活成功后命令行前面会出现(venv)标识。步骤 2安装必要库在虚拟环境中执行pipinstallopenai tiktoken python-dotenvopenai官方 Python SDK兼容 OpenAI 及众多国产大模型 API。tiktokenOpenAI 开源的 Token 计算工具可用来估算 Token 数量。python-dotenv用于管理环境变量避免把密钥硬编码在代码里。步骤 3获取 API Key由于 OpenAI 在国内访问不便且需要外币卡推荐使用DeepSeek深度求索的 API它对中文支持极好价格低廉且完全兼容 OpenAI SDK 格式。打开 DeepSeek 开放平台。注册/登录账号。在左侧菜单找到“API Keys”点击“创建 API Key”复制保存只显示一次。给账户充值几块钱即可开始测试。如果你有 OpenAI 官方 Key也可以直接使用只需修改base_url和模型名。步骤 4配置环境变量在项目根目录下创建一个名为.env的文件注意没有后缀内容如下DEEPSEEK_API_KEY你的_API_Key_粘贴在这里再创建一个.gitignore文件如果以后用 Git添加一行.env这样就不会把密钥提交到代码仓库。步骤 5编写第一个 API 调用脚本新建一个 Python 文件比如hello_llm.py写入以下代码importosfromdotenvimportload_dotenvfromopenaiimportOpenAI# 加载 .env 文件中的环境变量load_dotenv()# 初始化客户端指向 DeepSeek 的端点clientOpenAI(api_keyos.getenv(DEEPSEEK_API_KEY),base_urlhttps://api.deepseek.com# 关键DeepSeek 兼容 OpenAI 格式)# 发起一次对话请求responseclient.chat.completions.create(modeldeepseek-chat,# DeepSeek 的对话模型名称messages[{role:system,content:你是一个乐于助人的助手。},{role:user,content:你好请用一句话介绍你自己。}],temperature0.7,max_tokens100)# 打印模型的回复print(response.choices[0].message.content)代码解释OpenAI(...)初始化客户端通过base_url参数指定 DeepSeek 的 API 地址因此后续所有调用都会发送到 DeepSeek 的服务器。client.chat.completions.create是 OpenAI 风格的对话补全接口。messages是一个列表包含system设定模型角色和user用户输入消息。temperature控制随机性0 最确定1 更随机max_tokens限制回复长度。运行脚本python hello_llm.py如果一切顺利你会看到模型返回的一句自我介绍。恭喜你你已经迈出了 AI Agent 开发的第一步步骤 6理解 Token 与计算 Token 数量Token 是大语言模型处理文本的最小单元。模型并不是一个字母一个字母地阅读而是把文本切分成一个个“词元”Token。理解 Token 至关重要因为计费API 按 Token 数量收费。上下文窗口模型一次能处理的总 Token 数有限例如 DeepSeek-chat 支持 64K输入输出都不能超过这个限制。性能Token 数量直接影响请求速度和成本。不同语言、不同模型的分词方式不同。一般来说英文一个单词约等于 1~2 个 Token而一个中文字符可能对应 1~2 个甚至更多 Token取决于具体分词器。我们来实际计算一下。新建token_demo.pyimporttiktoken# 使用 cl100k_base 编码GPT-3.5/4 使用的编码DeepSeek 也采用类似 BPE 算法可近似估算enctiktoken.get_encoding(cl100k_base)text_enHello, how are you today?text_zh你好今天过得怎么样tokens_enenc.encode(text_en)tokens_zhenc.encode(text_zh)print(f英文文本:{text_en})print(fToken 数量:{len(tokens_en)})print(fToken 列表:{tokens_en}\n)print(f中文文本:{text_zh})print(fToken 数量:{len(tokens_zh)})print(fToken 列表:{tokens_zh}\n)# 查看每个 Token 对应的文本片段解码print(英文 Token 切分,[enc.decode([t])fortintokens_en])print(中文 Token 切分,[enc.decode([t])fortintokens_zh])运行后你会看到类似输出英文文本: Hello, how are you today? Token 数量: 8 Token 列表: [9906, 11, 1268, 527, 499, 3432, 30] 中文文本: 你好今天过得怎么样 Token 数量: 12 Token 列表: [57668, 53901, 3922, 17509, 104, 244, 111, 105, 56845, 220, 102, 239] 英文 Token 切分 [Hello, ,, how, are, you, today, ?] 中文 Token 切分 [你, 好, , 今天, 过得, 怎么, 样, ]观察与思考英文中标点符号如逗号、问号可能是单独的 Token单词被切分得较自然。中文里“今天”、“过得”这样的双字词会被合并成一个 Token而单字“你”、“好”则是单独 Token。这说明分词器会学习常见的词汇组合。这就是为什么有时候中文文本的 Token 数量比英文多相同语义下成本可能稍高。步骤 7了解 Token 切分原理BPE 简介Token 的切分采用BPEByte Pair Encoding算法。简单理解先将所有文本拆成单个字符或字节。统计相邻字符对出现的频率将最高频的组合合并成一个新的“词元”。不断重复合并直到达到预设的词汇表大小如 GPT 系列约为 10 万个词元。因此像“今天”这种高频出现的词会被合并成一个 Token而低频词可能被拆成更小的子词甚至字符。这也解释了为什么模型能处理未登录词OOV——它能用子词组合表示新词。三、常见问题与调试Q1运行脚本时提示ModuleNotFoundError: No module named openai→ 说明库未安装成功请确保在虚拟环境中执行了pip install openai。Q2调用 API 时返回 401 或 403 错误→ 检查.env文件中的 API Key 是否正确以及账户是否有余额。Q3中文输出乱码→ 确保你的 Python 文件编码为 UTF-8终端也支持 UTF-8。通常在文件开头加# -*- coding: utf-8 -*-可避免。Q4tiktoken对 DeepSeek 的 Token 计算准确吗→ 不完全精确但cl100k_base与 DeepSeek 使用的分词器非常接近日常估算足够了。DeepSeek 官方也推荐用tiktoken进行预估。四、今日总结与作业今天你完成了✅ 搭建了干净的 Python 虚拟环境✅ 成功调用了 DeepSeek 大模型 API✅ 理解了 Token 的概念及其重要性✅ 学会了用tiktoken计算 Token 数量✅ 初步了解了 BPE 分词原理今日作业必做修改hello_llm.py让模型用英语、法语、日语各说一句“你好”。尝试设置不同的temperature值0, 0.5, 1.5观察模型回答同一问题例如“讲个笑话”时的差异。自己写一段 100 字左右的中文和英文段落用tiktoken计算 Token 数感受差异。明日预告我们将深入 Transformer 的核心——自注意力机制Self-Attention用直觉理解模型是如何“读懂”上下文的。加油有任何问题欢迎随时提问