当前位置:首页>python>用Python做个AI聊天机器人,原来这么简单

用Python做个AI聊天机器人,原来这么简单

  • 2026-09-29 11:45:22
用Python做个AI聊天机器人,原来这么简单

你有没有想过,自己也能做一个能聊天的AI机器人?

说实话,我之前也觉得这事儿离我很远,直到我发现了一个超简单的方法。

不用从头训练模型,不需要海量数据,只要会点Python,几分钟就能搞定。

今天我就把这个方法分享给你。


往期阅读>>>

Python 为什么会成为AI时代的头部语言

Python 40个常用的列表推导式

Python 50个提高代码开发效率的方法

Python 自动检测服务HTTPS证书过期时间并发送预警

Python 自动化操作Redis的15个实用脚本

Python 自动化管理Jenkins的15个实用脚本,提升效率

Python copyparty搭建轻量的文件服务器的方法

Python 实现2FA认证的方法,提升安全性

Python 封装20个常用API接口,提升开发效率

App2Docker:如何无需编写Dockerfile也可以创建容器镜像

Python 集成 Nacos 配置中心的方法

Python 35个JSON数据处理方法

Python 字典与列表的20个核心技巧

Python 15个文本分析的库,提升效率

Python 15个Pandas技巧,提升数据分析效率

Python 运维中30个常用的库,提升效率

Python调用远程接口的方法

Python 提取HTML文本的方法,提升效率

Python 应用容器化方法:实现“一次部署,处处运行”

Python 自动化识别Nginx配置并导出为excel文件,提升Nginx管理效率

Python 5个常见的异步任务处理框架

Python数据科学常见的30个库

Python 50个实用代码片段,优雅高效

为什么选择API这条路?

传统方法太复杂了,你得训练模型、处理数据、调参数……听着就头大。

但API就像点外卖一样简单。

你不用管后厨怎么做饭(模型训练),只要点餐(发送请求),就能直接享用美食(AI回复)。

API调用就像去餐馆吃饭。你不用自己买菜做饭,直接点单就行。做饭的事交给后厨(大模型API),你只需要享受美味(智能回复)。

这种方式特别适合:

  • 想做智能客服

  • 想做个AI助手

  • 想快速验证想法

  • 不想花大钱训练模型

两步准备,马上开始

真正开始写代码前,先做两件事:

第一件事:获取API密钥

去大模型服务商的官网注册,比如OpenAI、DeepSeek或者百川。

注册后在控制台就能找到API Key,这就像你的餐厅会员卡,每次点餐都要出示它。

记住,这个Key要保密,别让别人知道了。

第二件事:配置Python环境

确保你的Python版本是3.7或更高。

建议用虚拟环境(venv或conda)来管理项目,这样不会和其他项目冲突。

然后安装requests库,发送HTTP请求全靠它:

pip install requests

最简单的版本:单轮对话

先从最简单的开始,一问一答。

我用DeepSeek的API来演示,其他大模型的调用方式都差不多:

import requestsdef call_deepseek_api(user_input, api_key):    """    调用DeepSeek API获取单轮对话回复    """    url = "https://api.deepseek.com/v1/chat/completions"    headers = {        "Content-Type": "application/json",        "Authorization": f"Bearer {api_key}"    }    data = {        "model": "deepseek-chat",        "messages": [{"role": "user", "content": user_input}],        "temperature": 0.7,        "max_tokens": 2000    }    response = requests.post(url, headers=headers, json=data)    if response.status_code == 200:        response_data = response.json()        return response_data['choices'][0]['message']['content']    else:        return f"请求出错,状态码:{response.status_code}"# 使用示例API_KEY = "你的实际API密钥"user_question = "你好,请介绍一下你自己。"answer = call_deepseek_api(user_question, API_KEY)print(f"AI: {answer}")

代码虽然不长,但包含了所有关键要素:

  • URL:API的地址

  • headers:身份信息(API密钥)

  • data:你问的问题

  • temperature:控制AI的创造力(越低越稳定,越高越多样)

升级版:能记住对话历史

上面的版本有个问题:每次都是新对话,AI记不住你说过的内容。

要实现真正的连续对话,就得维护一个对话历史列表。

看这个升级版的代码:

class ChatBot:    def __init__(self, api_key):        self.api_key = api_key        self.conversation_history = []    def get_response(self, user_input):        # 1. 将用户输入加入历史记录        self.conversation_history.append({"role": "user", "content": user_input})        # 2. 准备API请求数据,包含全部历史记录        url = "https://api.deepseek.com/v1/chat/completions"        headers = {            "Content-Type": "application/json",            "Authorization": f"Bearer {self.api_key}"        }        data = {            "model": "deepseek-chat",            "messages": self.conversation_history,            "temperature": 0.7,            "max_tokens": 1000        }        # 3. 发送请求并获取回复        response = requests.post(url, headers=headers, json=data)        if response.status_code == 200:            bot_reply = response.json()['choices'][0]['message']['content']            # 4. 将AI回复也加入历史记录,以便后续对话使用            self.conversation_history.append({"role": "assistant", "content": bot_reply})            return bot_reply        else:            return "抱歉,我暂时无法回应。"    def start_chat(self):        """启动一个交互式的对话循环"""        print("聊天机器人已启动,输入'退出'结束对话。")        while True:            user_input = input("\n你: ")            if user_input.lower() in ['退出', 'exit', 'quit']:                print("再见!")                break            reply = self.get_response(user_input)            print(f"机器人: {reply}")# 运行机器人bot = ChatBot("你的实际API密钥")bot.start_chat()

核心思路很简单:

每次对话时,把用户说的话和AI之前的回复全部打包发送给API。

这样AI就能看到完整的对话历史,像真人一样进行连续对话了。

让机器人更智能的小技巧

基础功能实现了,但想让机器人更实用,还有几个地方可以优化:

1. 异常处理很重要

网络请求可能会失败,比如密钥错误、请求太频繁、服务器出问题等。

加上异常处理和重试机制,能让程序更稳定:

import timeimport randomdef call_api_with_retry(api_func, max_retries=3):    for attempt in range(max_retries):        try:            return api_func()        except requests.exceptions.HTTPError as e:            if e.response.status_code == 429:  # 频率限制                wait = 2 ** attempt + random.uniform(0, 1)                time.sleep(wait)                continue            else:                raise    raise Exception("超过最大重试次数")

2. 管理对话历史长度

API对每次请求的token数有限制,对话越久,历史记录越长。

需要定期清理或截断历史,只保留最近的几轮对话。

3. 给AI设定人设

在对话历史开头加一条system消息,就能定义AI的性格和回答风格:

{"role": "system", "content": "你是一位专业的编程助手,回答要简洁准确。"}

4. 部署成Web服务

用Flask把你的机器人包装成Web服务,就能通过浏览器访问了:

from flask import Flask, request, jsonifyapp = Flask(__name__)@app.route('/chat', methods=['POST'])def chat():    user_message = request.json.get('message', '')    bot_reply = get_bot_response(user_message)    return jsonify({'response': bot_reply})

写在最后

通过API调用大模型构建聊天机器人,是一条将前沿AI快速落地的捷径。

从简单的单轮对话到能记忆的多轮交流,再到异常处理、上下文管理和Web部署,每一步都让机器人变得更智能、更可靠。

技术本身不难,难的是开始行动。

选一个提供免费额度的API,复制上面的代码,替换成你自己的密钥,马上就能拥有一个专属的AI对话伙伴。

等你熟悉了基础功能,还可以继续探索情感分析、知识库集成、多模态交互等更高级的功能。

现在就开始动手吧,你的AI助手正等着被创造出来。

“无他,惟手熟尔”!有需要的用起来!
如果你觉得这篇文章有用,欢迎点赞、转发、收藏、留言、推荐❤!

想高效学习Python?下面三本精选好书满足你的不同需求!

《流畅的Python(第2版)》——Python进阶必读!深入讲解高级特性与最佳实践,适合想精进的开发者。

《Python从新手到高手》:初学者首选,系统学习全栈技能。

《Python数据分析:从零基础入门到案例实战》——数据科学利器!手把手教你用Python处理数据,实战案例学完就能用。

三本书均支持先用后付、运费险和7天无理由退货,放心购买!点击“购买”按钮,立即开启你的Python学习之旅吧!

▼点击下方,即可购书
------加入知识库与更多人一起学习------

https://ima.qq.com/wiki/?shareId=f2628818f0874da17b71ffa0e5e8408114e7dbad46f1745bbd1cc1365277631c

最新文章

随机文章