AI社交应用从零跑通:用Python和提示词模板搭一个聊天机器人

想做一个AI社交应用,最直接的方式是先跑通一个最小可用版本:用Python接收用户消息,拼接提示词模板后调用大模型接口,再把回复返回给用户。
本文按这个思路带你完成环境准备、密钥配置、代码编写和效果验证,适合零基础但愿意动手的读者。

先理清最小可运行流程

AI社交应用的核心链路不复杂:用户输入消息 → 程序读取历史对话 → 拼成提示词 → 调用模型接口 → 解析回复 → 返回给用户。
本文用Python的requests库直接调用兼容OpenAI格式的接口,不依赖特定框架,方便你后续迁移到微信、Discord或网页端。

需要准备的条件:

  • 一台能联网的Linux或Windows电脑,Python 3.8以上
  • 一个大模型API密钥(本文以通用兼容接口为例,具体地址和模型名以你申请的服务商为准)
  • 基础的命令行操作能力

配置环境与密钥

先在项目目录下创建虚拟环境,避免污染系统Python:

python3 -m venv venv
source venv/bin/activate
pip install requests

把API密钥写入环境变量,不要硬编码在代码里。
Linux/macOS下执行:

export AI_API_KEY="你的密钥"
export AI_BASE_URL="https://api.example.com/v1"
export AI_MODEL="gpt-3.5-turbo"

Windows PowerShell用$env:AI_API_KEY="你的密钥"。
如果服务商提供的是完整接口地址,把AI_BASE_URL改成实际地址,并确保代码中拼接的路径一致。

编写聊天主程序

新建chat.py,核心逻辑分三步:维护对话历史、构造请求体、解析返回内容。

import os, json, requests

API_KEY = os.environ["AI_API_KEY"]
BASE_URL = os.environ["AI_BASE_URL"].rstrip("/")
MODEL = os.environ["AI_MODEL"]

history = [{"role": "system", "content": "你是一个友好的社交助手,回答简短有趣。"}]

def ask(user_input):
    history.append({"role": "user", "content": user_input})
    resp = requests.post(
        f"{BASE_URL}/chat/completions",
        headers={"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"},
        json={"model": MODEL, "messages": history, "temperature": 0.7},
        timeout=30
    )
    resp.raise_for_status()
    reply = resp.json()["choices"][0]["message"]["content"]
    history.append({"role": "assistant", "content": reply})
    return reply

if __name__ == "__main__":
    while True:
        text = input("你:")
        if text in ("退出", "exit"):
            break
        print("AI:" + ask(text))

这段代码把系统提示词放在history开头,
每次对话追加用户消息和模型回复,
实现多轮上下文。timeout=30避免请求卡死,raise_for_status()让HTTP错误直接暴露。

运行python chat.py,输入“你好”应能收到回复。
如果报401,检查密钥和环境变量是否生效;
如果报404,核对BASE_URL和接口路径是否匹配。

避坑与验证要点

密钥安全:不要把密钥提交到Git仓库,用.env文件配合python-dotenv加载,或直接依赖系统环境变量。

上下文长度:历史消息会持续增长,超出模型上下文限制会报错。
简单做法是只保留最近10轮对话,或按字符数截断。

回复验证:不要只看有没有返回内容。
检查返回的JSON结构是否包含choices字段,确认finish_reason不是length(被截断)。
可以在代码中打印完整响应体排查。

网络问题:国内服务器调用境外接口可能超时,先确认服务商是否提供国内接入点,或检查服务器出站规则。

下一步扩展方向

跑通命令行版本后,可以把ask()函数接入Flask或FastAPI做成HTTP接口,再对接社交平台的Webhook。
提示词模板也可以按场景拆分,比如欢迎语、敏感词拦截、人格设定分别放在不同system消息里。
建议每次改动后先用固定输入回归测试,确认回复格式和上下文逻辑没有退化。

分享到:
上一篇
AI游戏美术生成:用ComfyUI工作流批量产出角色立绘
下一篇
AI聊天机器人配置:用Python脚本和API密钥快速搭建
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意