2026年AI大模型入门必看:手把手教你用Python调用API做个聊天机器人
看到这里,你已经掌握了AI应用开发的核心技能——API调用。这个技术不仅能做聊天机器人,还能用在翻译、写作、数据分析等各种场景。下一篇文章,我会教你把这个机器人升级成网页版,用浏览器就能聊天,敬请期待!💬今日互动你想用AI做什么应用?有没有遇到报错?截图发评论我帮你看!记得,咱们一起玩转AI时代!
嘿,还在羡慕别人做的AI应用吗?其实调用AI大模型的API,比你想象的简单太多了。今天咱们就从零开始,做一个命令行聊天机器人。
先给你看看最终效果:
你:今天天气怎么样?
AI:我无法获取实时天气信息,建议你查看天气预报应用...
你:给我讲个笑话
AI:好的!为什么程序员喜欢深夜工作?因为bug在白天睡觉😄
看起来还不错吧?整个项目核心代码不到30行,新手1小时就能搞定。
一、准备工作:三件小事搞定
1.1 获取API密钥(就像拿快递需要取件码)
你需要先注册一个AI平台账号。2026年主流选择有:
-
国外平台:OpenAI(需要魔法上网)
-
国产平台:阿里通义千问、智谱AI、百度文心(推荐新手用这些)
以智谱AI为例:
-
访问官网注册账号
-
进入控制台创建API Key
-
复制保存好(这个密钥千万别泄露)
💡 小贴士:大部分平台都有免费额度,够你练手了。
1.2 安装requests库
打开命令行(Windows按Win+R输入cmd,Mac按Command+空格搜Terminal),输入:
pip install requests
等它跑完就行。requests库就是专门用来发网络请求的工具,想象成你的快递员。
1.3 理解API请求结构(寄快递类比)
调用API就像寄快递:
-
收件地址:API的URL(https://xxxxx)
-
快递单:你的问题+配置参数
-
取件码:你的API密钥
-
收货:AI的回答
记住这个逻辑,后面代码你就秒懂了。
二、代码实现:一步步来,别慌
第一步:发送最简单的请求
先新建一个chatbot.py文件,写下这几行:
import requests
# 你的API密钥(记得替换成自己的)
API_KEY = "your_api_key_here"
API_URL = "https://open.bigmodel.cn/api/paas/v4/chat/completions" # 智谱AI的接口
# 准备要发送的数据
headers = {
"Authorization": f"Bearer {API_KEY}", # 这行是证明你的身份
"Content-Type": "application/json" # 告诉服务器我发的是JSON格式
}
data = {
"model": "glm-4", # 选择模型版本
"messages": [ # 你的对话内容
{"role": "user", "content": "你好,介绍一下自己"}
]
}
# 发送请求(就像按下寄快递的按钮)
response = requests.post(API_URL, headers=headers, json=data)
print(response.json()) # 打印原始返回结果
运行试试:在命令行输入python chatbot.py
你会看到一大堆JSON数据,别怕,这就是AI的回答混在一堆信息里。
第二步:提取AI的回答
刚才那堆数据太乱了,我们只要回答内容。改一下最后两行:
response = requests.post(API_URL, headers=headers, json=data)
result = response.json()
# 从返回结果里挖出AI的回答
ai_message = result['choices'][0]['message']['content']
print(f"AI:{ai_message}")
再运行,这次就清爽多了:
AI:你好!我是智谱AI助手,基于GLM-4模型...
这行代码在干嘛?
-
result['choices'][0]:返回结果里可能有多个回答,我们取第一个 -
['message']['content']:从消息里提取纯文本内容
第三步:加上循环,实现多轮对话
现在只能问一次,咱们改成能一直聊的:
import requests
API_KEY = "your_api_key_here"
API_URL = "https://open.bigmodel.cn/api/paas/v4/chat/completions"
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
# 用列表记录对话历史
messages = []
print("聊天机器人已启动!输入'退出'结束对话\n")
while True:
user_input = input("你:")
if user_input == "退出":
print("再见!")
break
# 把用户的话加到历史记录
messages.append({"role": "user", "content": user_input})
data = {
"model": "glm-4",
"messages": messages # 发送整个对话历史
}
response = requests.post(API_URL, headers=headers, json=data)
ai_message = response.json()['choices'][0]['message']['content']
# 把AI的回答也记录下来
messages.append({"role": "assistant", "content": ai_message})
print(f"AI:{ai_message}\n")
重点看这里:
-
messages列表保存了所有对话,这样AI能记住你之前说了啥 -
while True让程序一直循环,直到你输入"退出"
现在运行,你就能和AI多轮聊天了!
第四步:加点细节优化
真实使用时可能遇到网络错误、API调用失败等问题,咱们加个错误处理:
import requests
API_KEY = "your_api_key_here"
API_URL = "https://open.bigmodel.cn/api/paas/v4/chat/completions"
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
messages = []
print("聊天机器人已启动!输入'退出'结束对话\n")
while True:
user_input = input("你:")
if user_input == "退出":
print("再见!")
break
messages.append({"role": "user", "content": user_input})
data = {
"model": "glm-4",
"messages": messages
}
try:
response = requests.post(API_URL, headers=headers, json=data, timeout=30)
# 检查请求是否成功
if response.status_code != 200:
print(f"请求失败,错误码:{response.status_code}")
messages.pop() # 移除刚才添加的用户消息
continue
ai_message = response.json()['choices'][0]['message']['content']
messages.append({"role": "assistant", "content": ai_message})
print(f"AI:{ai_message}\n")
except requests.exceptions.RequestException as e:
print(f"网络错误:{e}")
messages.pop() # 出错了就撤回这条消息
新增的保护机制:
-
timeout=30:30秒没响应就报错,别傻等 -
try...except:捕获网络异常 -
messages.pop():出错时删掉刚加的消息,避免对话记录乱掉
三、完整代码(直接复制能用)
import requests
# ========== 配置区 ==========
API_KEY = "your_api_key_here" # 替换成你的密钥
API_URL = "https://open.bigmodel.cn/api/paas/v4/chat/completions"
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
messages = [] # 对话历史
# ========== 主程序 ==========
print("聊天机器人已启动!输入'退出'结束对话\n")
while True:
user_input = input("你:")
if user_input == "退出":
break
messages.append({"role": "user", "content": user_input})
try:
response = requests.post(
API_URL,
headers=headers,
json={"model": "glm-4", "messages": messages},
timeout=30
)
if response.status_code == 200:
ai_message = response.json()['choices'][0]['message']['content']
messages.append({"role": "assistant", "content": ai_message})
print(f"AI:{ai_message}\n")
else:
print(f"请求失败:{response.status_code}")
messages.pop()
except Exception as e:
print(f"出错了:{e}")
messages.pop()
print("再见!")
总共27行,是不是很简单?
四、进阶方向:可以玩出什么花样
掌握了API调用,你就解锁了无限可能:
-
接入微信:用itchat库,让AI自动回复好友消息
-
做个网页版:用Flask框架搭个聊天界面
-
语音助手:结合语音识别,做个能说话的AI
-
专属知识库:在prompt里加上你的资料,让AI变成专家
你最想做哪个?欢迎在评论区告诉我!
五、常见问题急救站
❌ 报错:401 Unauthorized
原因:API密钥错误或过期
解决:检查密钥是否复制完整,去平台重新生成一个
❌ 报错:timeout
原因:网络太把timeout=30改大一点,或者检查网络
❌ 返回结果是空的
原因:可能触发了内容审核
解决:换个问法,避免敏感词汇
❌ 超出额度限制
原因:免费额度用完了
解决:充值或等下个月重置(大部分平台每月送免费额度)
遇到其他问题?评论区留言,我看到就回!
写在最后
看到这里,你已经掌握了AI应用开发的核心技能——API调用。这个技术不仅能做聊天机器人,还能用在翻译、写作、数据分析等各种场景。
下一篇文章,我会教你把这个机器人升级成网页版,用浏览器就能聊天,敬请期待!
💬 今日互动:
-
你想用AI做什么应用?
-
有没有遇到报错?截图发评论我帮你看!
记得点赞+关注,咱们一起玩转AI时代!
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)