SwiftRelay

← 全部冲刺笔记

脚本首跑清单:搭建第一个能连续对话的聊天机器人

头几圈ZH

第一步:把首跑目标缩小到命令行对话

第一个聊天机器人不需要网页、数据库或复杂框架。先完成一条最短闭环:输入问题,调用模型,显示回答,再继续追问。只要机器人能记住上一轮内容,这次首跑就算通过。

准备好已安装的解释器、终端和一个空文件夹。下面每段代码都是一个独立的物理行;按顺序复制到同一个脚本文件中,不要复制段落之间的说明文字。

第二步:准备密钥和模型标识

可以使用 SwiftRelay 作为模型接入入口,按实际使用的词元量计费。注册 SwiftRelay 后,在控制台创建密钥并查看可用模型标识;新账户有少量赠送额度,适合验证第一轮请求。

本次只选一个模型即可,例如 DeepSeek V4 Flash。代码中填写的应是控制台提供的准确接口标识,而不是自行猜测的展示名称。

把密钥保存到当前终端的环境变量中,变量名设为下面代码使用的名称。不要把密钥写进脚本、截图或版本仓库;如果已经泄露,应立即撤销并重新创建。

第三步:安装依赖并连接接口

先在终端执行安装命令。使用解释器调用安装工具,可以减少依赖被装进另一个环境的问题。

python -m pip install openai

新建一个以标准脚本扩展名结尾的文件,依次加入以下三行。这里使用兼容接口客户端,因此地址需要带上版本路径,而不是只填写主机地址。

import os; from openai import OpenAI

客户端 = OpenAI(api_key=os.environ["SWIFTRELAY_API_KEY"], base_url="https://api.fastapirelay.com/v1", timeout=60.0, max_retries=0)

模型 = input("粘贴控制台中的模型标识:").strip()

示例关闭了自动重试,方便初学者确认每次请求的结果。运行前还要确认:启动脚本的终端能够读取刚才设置的环境变量。

第四步:给机器人一条明确的行为指令

接着加入历史消息列表。第一条消息规定机器人怎样回答,后续消息则保存用户问题与模型回答。连续对话依靠的是每次请求携带历史,而不是模型自动记住上次调用。

历史 = [{"role": "system", "content": "你是一名耐心的中文助手,请用简体中文回答,先给结论,再给必要步骤。"}]

先保持指令简单。不要在首次运行时同时加入角色切换、文件读取和外部工具,否则排查问题时很难判断故障出在哪一层。

第五步:加入输入、回答和退出循环

把下面整段作为一行加入文件。引号内的反斜杠与字母表示换行,运行时会展开为循环代码。输入“退出”即可结束程序;请求失败时,本轮问题不会写入历史。

exec('while True:\n 问题 = input("你:").strip()\n if 问题 == "退出":\n break\n if not 问题:\n continue\n try:\n 结果 = 客户端.chat.completions.create(model=模型, messages=历史 + [{"role": "user", "content": 问题}])\n 回答 = 结果.choices[0].message.content\n if not 回答:\n print("助手:本次没有收到文本回答。")\n continue\n print("助手:", 回答)\n 历史.extend([{"role": "user", "content": 问题}, {"role": "assistant", "content": 回答}])\n except Exception as 错误:\n print("请求失败,请检查密钥、模型标识、额度和网络。错误类型:", type(错误).__name__)')

保存文件后,在终端用解释器运行它。先粘贴模型标识,再输入问题。这个版本只在内存中保存记录,关闭程序后历史会消失。

第六步:用三项检查确认首跑成功

  • 检查连续对话:先说“我正在学习做饭”,再问“给我安排一个入门练习”,确认回答能利用上一轮信息。
  • 检查退出行为:输入空白不应发送请求;输入“退出”应结束程序。
  • 检查失败路径:遇到鉴权、模型或额度问题,先对照控制台核查,不要连续重复发送相同请求。

第七步:在增加功能前控制历史长度

历史越长,每轮发送的内容通常也越多。下一步可以保留最初的行为指令,并只携带最近几轮完整问答;更早的内容需要时再做摘要。注意成对保留用户问题和助手回答,避免留下断裂的上下文。

等这条命令行链路稳定后,再考虑增加聊天界面或本地记录。首个机器人最值得掌握的不是界面,而是密钥留在环境中、历史由程序管理、失败能够识别这三个基本习惯。

接着读

又来跑一圈?登录