使用Python和Taotoken API快速构建一个命令行智能问答工具

基础教程类,面向Python初学者或希望快速实现一个Demo的开发者,教程将引导读者使用Taotoken的OpenAI兼容SDK,编写一个简单的命令行程序,实现连续对话功能,并讲解如何设置API密钥与Base URL等关键配置。

1. 准备工作:获取API密钥与模型ID

在开始编写代码之前,你需要先在Taotoken平台上完成两项准备工作。第一是获取你的API密钥,它相当于访问平台服务的通行证。请登录Taotoken控制台,在API密钥管理页面创建一个新的密钥,并妥善保管。第二是确定你要使用的模型。访问Taotoken的模型广场,你可以浏览平台聚合的众多大模型,每个模型都有一个唯一的模型ID,例如claude-sonnet-4-6gpt-4o-mini。记下你选择的模型ID,后续代码中会用到。

2. 配置Python环境与安装SDK

确保你的电脑上已经安装了Python(建议版本3.7或以上)。我们将使用官方的openai Python库,因为它与Taotoken提供的OpenAI兼容API接口完全兼容。打开你的终端或命令行工具,使用pip命令安装必要的包。

pip install openai

安装完成后,你可以创建一个新的Python文件,例如命名为chat_cli.py,我们将在这个文件中编写所有代码。

3. 核心代码:初始化客户端与发起请求

代码的核心是使用openai库初始化一个客户端,并正确指向Taotoken的API端点。这里最关键的是base_url参数的设置,对于OpenAI兼容的SDK,必须使用https://taotoken.net/api。请将下面代码中的YOUR_API_KEY替换为你实际获取的API密钥。

from openai import OpenAI

# 初始化客户端,配置API密钥和Base URL
client = OpenAI(
    api_key="YOUR_API_KEY",  # 请替换为你的Taotoken API密钥
    base_url="https://taotoken.net/api",  # 固定的Taotoken OpenAI兼容端点
)

初始化客户端后,我们可以定义一个函数来发送消息并获取模型的回复。这个函数会接收用户输入的消息列表,调用聊天补全接口。

def get_chat_response(messages, model="claude-sonnet-4-6"):  # 模型ID可替换
    try:
        response = client.chat.completions.create(
            model=model,
            messages=messages,
            stream=False  # 为简化教程,先使用非流式响应
        )
        return response.choices[0].message.content
    except Exception as e:
        return f"请求出错: {e}"

4. 实现连续对话的交互循环

一个好用的命令行工具应该支持多轮对话。我们可以通过维护一个消息列表来实现,每次用户输入和AI回复都追加到这个列表中。下面我们编写主循环逻辑。

def main():
    print("命令行智能问答工具已启动。输入‘退出’或‘quit’结束对话。")
    # 初始化对话历史,可以设置系统角色
    messages = [
        {"role": "system", "content": "你是一个乐于助人的助手。"}
    ]
    
    while True:
        user_input = input("\n你: ")
        if user_input.lower() in ["退出", "quit", "exit"]:
            print("对话结束。")
            break
        
        # 将用户输入加入历史
        messages.append({"role": "user", "content": user_input})
        
        print("AI: ", end="", flush=True)
        # 获取AI回复
        reply = get_chat_response(messages)
        print(reply)
        
        # 将AI回复加入历史,以维持上下文
        messages.append({"role": "assistant", "content": reply})

if __name__ == "__main__":
    main()

将以上所有代码段按顺序组合到chat_cli.py文件中,你就得到了一个完整的、支持上下文记忆的命令行聊天工具。运行python chat_cli.py即可开始体验。

5. 关键配置要点与安全建议

在开发过程中,有几个细节需要特别注意。首先是API密钥的安全性,绝对不要将硬编码的密钥提交到Git等版本控制系统。最佳实践是通过环境变量来管理。

# 在终端中设置环境变量(Linux/macOS)
export TAOTOKEN_API_KEY='your_api_key_here'
# Windows (Command Prompt)
set TAOTOKEN_API_KEY=your_api_key_here
# Windows (PowerShell)
$env:TAOTOKEN_API_KEY='your_api_key_here'

然后在代码中这样读取:

import os
api_key = os.getenv("TAOTOKEN_API_KEY")
client = OpenAI(api_key=api_key, base_url="https://taotoken.net/api")

其次是关于base_url的再次强调:使用Python openai SDK时,base_url必须设置为https://taotoken.net/api(末尾没有/v1),SDK会自动为你拼接完整的请求路径。这是与直接使用curl命令时(URL为https://taotoken.net/api/v1/chat/completions)的一个常见区别点,务必留意。

6. 下一步探索方向

至此,你已经成功构建了一个基础但功能完整的工具。你可以在此基础上进行扩展,例如增加流式输出以实时显示模型生成内容,这能极大提升交互体验。或者为工具添加命令行参数,允许用户在启动时指定不同的模型ID。你还可以尝试将对话历史保存到文件,实现跨会话的记忆功能。所有这些进阶功能,都可以在Taotoken提供的标准OpenAI兼容API框架下实现。


开始你的第一个AI应用构建吧,访问 Taotoken 获取API密钥并探索更多模型。

更多推荐