三步搭建你的专属聊天机器人:从零开始玩转 AI API

过去要写一个能聊天的 AI 应用,你需要自训练模型、搭服务器、调参,门槛极高。如今大语言模型 API 已经极度成熟,只需几行代码就能接入顶尖模型能力。本文将带你用最常见的 Python 技术栈,从零搭建一个可对话的聊天机器人,后端使用 Flask,前端只需要浏览器。

---

### 准备工作:获取 API 密钥与端点

无论用哪个模型,关键信息只有三个:**API 地址**、**密钥**以及**模型名称**。例如 OpenAI 的接口是 `https://api.openai.com/v1/chat/completions`,需要 `Authorization: Bearer sk-xxx` 请求头。很多模型现在都兼容 OpenAI 的接口格式,这意味着你不需要为不同模型写不同调用逻辑,只需更换地址和密钥就能切换。

如果你不想在多家平台分别充值,可以使用 **TokenPocket API 中转站**(`https://tokenpocket.site`),一个密钥即可调用 DeepSeek、Qwen、Claude、Gemini 等主流模型,按量计费、USDT 支付,新用户注册还自动赠送免费额度,很适合测试动手。

拿到密钥后,记下 API 基地址(例如 `https://tokenpocket.site/v1`),模型名称列表可以在文档里查到。

---

### 核心驱动:用 Python 请求对话接口

我们使用 `requests` 库封装一个最简单的对话函数,它会将历史消息一并发送,让模型记住上下文。

```python import requests

API_KEY = "你的密钥" BASE_URL = "https://tokenpocket.site/v1/chat/completions" # 示例地址

def chat_with_model(messages, model="deepseek-chat"): headers = { "Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json" } payload = { "model": model, "messages": messages, "temperature": 0.7 } resp = requests.post(BASE_URL, json=payload, headers=headers) resp.raise_for_status() return resp.json()["choices"][0]["message"]["content"] ```

`messages` 是一个列表,元素格式为 `{"role": "user"/"assistant", "content": "..."}`。每次调用时把整个对话历史传进去,模型就会根据上下文给出合理回应。

测试一下:

```python history = [{"role": "user", "content": "你好,请用简短的话介绍你自己"}] reply = chat_with_model(history) print(reply) ```

---

### 提供 web 访问:用 Flask 构建 API 服务

为了让前端页面能调用,我们用 Flask 暴露一个 `/chat` 接口。

```python from flask import Flask, request, jsonify

app = Flask(__name__)

conversations = {} # 简单用字典存储每个会话的历史

@app.route("/chat", methods=["POST"]) def chat(): data = request.json session_id = data.get("session_id", "default") user_input = data.get("message", "")

if session_id not in conversations: conversations[session_id] = []

# 添加用户消息 conversations[session_id].append({"role": "user", "content": user_input})

# 调用 AI try: assistant_reply = chat_with_model(conversations[session_id]) except Exception as e: return jsonify({"error": str(e)}), 500

# 记录助手回复 conversations[session_id].append({"role": "assistant", "content": assistant_reply})

return jsonify({"reply": assistant_reply})

if __name__ == "__main__": app.run(port=5000, debug=True) ```

启动后,用 `curl` 测试:

```bash curl -X POST http://127.0.0.1:5000/chat \ -H "Content-Type: application/json" \ -d '{"message": "讲一个冷笑话", "session_id": "user1"}' ```

---

### 用户界面:几行 HTML 的聊天窗口

下面给出一个极简前端,用原生 JavaScript 调用后端接口,自动显示对话历史。

```html我的聊天机器人

发送

```

将 HTML 放在 Flask 的 `templates/index.html` 并配置路由渲染,或者直接双击打开后修改 `fetch` 地址为完整路径,即可使用。

---

### 延伸优化

- **流式输出**:将 `requests` 调用改为 `stream=True`,Flask 结合 SSE 逐步返回内容,打字机效果瞬间拉满。 - **模型切换**:前端加个下拉框,允许动态选择 `deepseek-chat`、`gpt-4o`、`claude-3-sonnet` 等,后端传入不同 `model` 值。 - **持久化与鉴权**:目前会话存于内存,重启即丢;可接入 SQLite 或 Redis,并引入用户认证。

---

### 推荐的模型接入方式

练手阶段最怕的是注册多个平台、管理不同密钥,以及复杂的支付门槛。**TokenPocket API 中转站**(`https://tokenpocket.site`)正好解决这一痛点——它汇集了 DeepSeek、Qwen、Claude、Gemini 等主流大模型,完全兼容 OpenAI 接口格式,你只需在调用时指定不同 `model` 名称就能一键切换。计费非常灵活,按实际使用量消耗,支持 USDT 直接支付,避免了传统绑卡、充值的繁琐。特别是新用户注册即赠送免费额度,可以先零成本试用,满意后再小额充值。对于个人开发者和小团队来说,这大大降低了实验和集成大模型的成本,值得加入你的工具箱。

现在你已经拥有一个属于自己的 AI 聊天机器人,可以在此基础上不断扩展功能,无论是个人助理、客户支持还是教学演示,核心流程都大同小异。动手试试吧!

Read more

Claude API 接入教程:编程与写作中的实战技巧

Claude API 在编程辅助、写作润色和内容生成场景中表现稳定。本文将用最小可用代码带你完成接入,并分享几个实战技巧。 ## 准备工作:获取 Key 与环境配置 调用 Claude API 需要 API Key。为了便于国内开发者使用,你可以直接从官方申请,也可以通过支持多模型的 API 中转站获取统一 Key。本文以 Python 的 `requests` 库为例,只需要安装: ```bash pip install requests ``` ## 基础调用:发送第一条消息 Claude 使用 `/v1/messages` 接口,核心参数包括 `model`、`max_tokens` 和 `messages`。下面是一个最小可运行示例: ```python import requests API_

By 罗本

ETH vs TRON 转账手续费对比:每年能省多少钱?

很多人在转账 USDT 时,习惯使用以太坊网络,却忽略了手续费这笔“隐形支出”。单看一笔似乎不多,但日积月累,尤其是在高频转账场景下,差距会非常大。今天我们就用 ETH 和 TRON 两个网络,算一笔明白账。 ## 一、单笔手续费差距有多大? 以太坊网络转账 USDT 需要使用 ETH 作为 Gas 费。Gas 费会随网络拥堵程度波动,普通时段一笔 ERC20 USDT 转账大约需要 3~8 美元,高峰期甚至可能超过 10~20 美元。 波场网络转账 USDT 或 USDD 则采用资源模型,主要消耗“能量”和“带宽”,通常用 TRX 来支付或质押获取资源。

By 罗本

AI API 按量计费 vs 包月套餐怎么选

很多开发者在接入大模型 API 时,第一个纠结的问题就是:到底选按量计费还是包月套餐?这并没有绝对答案,关键要看你的调用量是否稳定、可预测。简单结论是:开发测试、流量波动大、或刚上线的产品,优先选按量计费;生产环境流量稳定且量级较大时,再考虑包月套餐。 **先看你的调用曲线** 按量计费的核心优势是“用多少付多少”。假设你的应用每天只有几百次请求,或者某些时段会突然出现峰值,按量计费不会让你为闲置额度买单。包月套餐则适合那些请求量非常稳定、且每月至少消耗固定 token 量的团队。 我们可以用一段简单代码估算单次请求成本: ```python def estimate_cost(tokens_in, tokens_out, price_in, price_out): # 价格单位:美元 / 1M tokens return (tokens_in / 1_000_000) * price_in

By 罗本

自由职业者收款指南:用 USDT 波场网络零费用结算

自由职业者做跨境业务,最头疼的不是找客户,而是收款。传统银行电汇慢、手续费高,PayPal 又有提现损耗和风控问题。越来越多自由职业者开始用 USDT 稳定币结算,其中波场网络 USDT 因为速度快、地址简单、生态成熟,成了很多人的首选。今天就用一篇通俗指南,讲清楚如何用波场网络实现 USDT/USDD 零费用收款。 ## 为什么自由职业者适合用 USDT 结算 USDT 锚定美元,价格稳定,客户容易接受。自由职业者收款最怕两件事:一是币价波动吃掉利润,二是到账慢影响现金流。USDT 能解决波动问题,而波场网络转账通常几秒钟到几分钟就能完成,比传统跨境汇款快得多。 另外,波场网络地址是 T 开头的一串字符,比以太坊地址更短,复制时不容易出错。对于需要频繁向不同客户发收款地址的自由职业者来说,这一点很实用。 ## USDT 和 USDD 怎么选 USDT 是最通用的稳定币,几乎所有交易所和钱包都支持,

By 罗本