小白入门GPTs与Assistant API博客
小白入门GPTs与Assistant API博客
大家好,我是最近刚入坑 AI 大模型的纯小白!最近在学 12 月的 GPTs 与 Assistant API 课程,踩了不少坑,终于搞明白这俩东西到底是啥,还跟着教程做了两个能用的小助手。
想着独学学不如众学学,干脆整理成这篇超详细的入门博客,咱们一起学,一起进步!全程无晦涩术语,手把手带你实操,就算你完全没基础,跟着做也能做出自己的 AI 助手!
目录
-
[先搞懂:GPTs 到底是个啥?](#1-先搞懂gpts到底是个啥)
-
[不用翻墙!国产 GPTs 平台 Coze 上手](#2-不用翻墙国产gpts平台coze上手)
-
[手把手:用 Coze 做一个学习答疑助手](#3-手把手用coze做一个学习答疑助手)
-
[那 Assistant API 又是什么?和 GPTs 有啥区别?](#4-那assistant-api又是什么和gpts有啥区别)
-
[Assistant API 核心概念,大白话讲明白](#5-assistant-api核心概念大白话讲明白)
-
[手把手:用 Assistant API 做一个水果店财务助手](#6-手把手用assistant-api做一个水果店财务助手)
-
[最后:GPTs 和 Assistant API,到底该选哪个?](#7-最后gpts和assistant-api到底该选哪个)
1. 先搞懂:GPTs 到底是个啥?
2023 年 11 月,OpenAI 搞了个大事情:推出了GPTs!
简单说,就是你不用写一行代码,就能基于 ChatGPT,做一个专属你自己的 AI 助手!
比如你想做个帮你改简历的、帮你背单词的、帮你解答学习问题的,甚至是帮你撸猫的时候陪你聊天的,都可以!
截止到 2024 年 1 月,已经有超过 300 万人做了自己的个性化 GPTs,可见这东西有多火!
OpenAI 官方的 GPTs 商店
不过它有个小问题:需要科学上网,还得是 ChatGPT Plus 付费用户才能用,对咱们国内的小白不太友好。
2. 不用翻墙!国产 GPTs 平台 Coze 上手
不过没关系,咱们有国产平替!字节跳动出的Coze(也就是扣子),就相当于国产的 GPTs 平台!
不用翻墙,不用会员,免费就能用!不管你有没有编程基础,都能快速做自己的 AI Bot,还能直接发布到微信公众号、自己的网站这些地方,太方便了!

Coze 分国内版和国外版,咱们国内用户直接用国内版就行:
3. 手把手:用 Coze 做一个学习答疑助手
接下来咱们直接上手,做一个学习答疑助手!以后你学习的时候,把你的笔记、课本资料都丢进去,它就能帮你解答问题,还能挂到公众号里,随时问!
整个流程就 4 步,超简单:
-
准备你的学习数据
-
创建知识库,导入资料
-
搭建你的答疑 Bot
-
发布到微信公众号
第一步:准备你的知识库数据
首先,你要把你的学习资料准备好,比如你的学习笔记、课本 PDF、知识点总结都可以。
我这里就用之前学的《LLM 基础知识》的笔记来举例,就是一个普通的 PDF 文档。

这里有个小技巧:为了让知识库能精准拆分你的知识点,我在每个模块的标题前加了\#\#\#作为分隔符,这样导入的时候就能自动把每个知识点分开,检索的时候更准!
第二步:创建知识库,导入你的学习资料
接下来打开 Coze,咱们来创建知识库:
-
登录 Coze 之后,选一个工作区,点击左侧的「知识库」,然后点「创建知识库」,输入名字就行。
-
然后选择「文本格式」,上传你刚才准备的学习笔记 PDF。

- 重点来了!分段方式选「自定义分段」,分段标识符就填我们刚才加的
\#\#\#,长度设 2000,这样它就会自动按照我们的知识点拆分文档了!
上传完之后,你就能看到每个知识点都被拆成了独立的片段,完美!
第三步:搭建你的专属答疑 Bot
知识库弄好之后,咱们来做 Bot:
-
回到工作区,点击左侧的「Bots」,点「创建 Bot」,输入名字,比如「学习答疑助手」。
-
然后在「人设与回复逻辑」这里,输入下面的提示词,直接复制粘贴就行,不用自己写!
# 角色
你是一个专业的学习答疑小助手,能够精准透彻地理解用户的问题,然后从庞大的知识库中精准检索相关信息,进而为用户生成详尽准确的答案。
## 技能
### 技能 1: 深入理解问题
1. 仔细剖析用户提出的问题,精准提取其中的关键信息。
### 技能 2: 高效知识库检索
1. 依据关键信息,在知识库中进行全面检索。
### 技能 3: 智能搜索引擎查询
1. 若根据关键信息,在知识库中未找到高度相关的知识,借助 bingWebSearch 搜索工具展开检索。
### 技能 4: 精确回答生成
1. 以检索到的信息为基础,为用户打造准确且简洁明了的回答。
## 限制:
1. 只回答与学习相关的问题,对无关话题不予理会。
2. 尽量运用清晰简洁的语言回应用户的问题。
3. 在整个回答过程中,始终将用户的需求置于核心位置。
-
然后往下滑,找到「知识」,点「添加」,把我们刚才创建的知识库加进去,然后把「自动调用」打开,检索策略默认就行。
-
再找到「技能」,把
bingWebSearch插件加上,这样如果知识库没有的内容,它还能去网上搜,不会答不上来。

- 配置完之后,右边的调试面板就能测试了!比如我问它:“什么是语言模型?”,它马上就能从我的笔记里找到答案,完美!

第四步:发布到微信公众号,随时问!
测试没问题之后,咱们把它发布到微信公众号,这样你关注公众号就能随时问它问题了,太方便了!
-
点「发布」,选择「微信公众号」,然后按照提示绑定你自己的公众号就行。
-
绑定完之后,扫码就能登录,然后你就能在公众号里和你的答疑助手聊天了!
你看,是不是超简单?不用写一行代码,10 分钟就做了一个自己的学习答疑助手!
4. 那 Assistant API 又是什么?和 GPTs 有啥区别?
很多小白刚学的时候都会问:GPTs 我已经会做了,那这个 Assistant API 又是啥?他俩有啥不一样?
我刚开始也搞混了,后来搞明白了,给大家理清楚:
✅ 相同点:
都是基于大模型,都能做定制化的 AI 助手,都能用知识库、工具这些功能,本质上都是做 AI 助手。
❌ 不同点:
-
使用方式不一样:GPTs 是无代码,点点鼠标就能做,面向普通用户,做完直接用 Coze 或者 ChatGPT 的界面;
-
使用场景不一样:Assistant API 是给开发者用的,需要写点代码,但是你可以把这个助手集成到你自己的 APP、网站、小程序里,做你自己的产品!
简单说:你自己用,或者给朋友用,用 GPTs 就行;你要做个产品给很多人用,要放到自己的应用里,就用 Assistant API!
5. Assistant API 核心概念,大白话讲明白
刚看 Assistant API 的文档的时候,一堆专业名词,是不是看懵了?别怕,我给你翻译成大白话:
-
Assistant(助手):就是你做的那个 AI 助手,比如财务助手、答疑助手,它的人设、能用的工具、知识库,都是它的配置。
-
Thread(线程):就相当于你和这个助手的聊天窗口!比如你今天和它聊了一半,明天接着聊,这个 Thread 就保存了你们的聊天记录,不用你自己管上下文,它自动处理。
-
Message(消息):就是你发给助手的消息,或者助手发给你的回复,文字、图片都可以,都存在 Thread 里。
-
Run(运行):就是你发了消息之后,让助手开始处理你的消息,它会调用模型、调用工具,给你生成回复,这个过程就是 Run。
是不是一下就懂了?是不是没那么难?
6. 手把手:用 Assistant API 做一个水果店财务助手
接下来咱们上手做一个水果店财务助手,用 Assistant API 来实现,以后你卖水果,报一下卖了多少斤,它自动帮你算成本、收入、利润,太省心了!
还是用国产的 MiniMax 平台,不用翻墙,免费就能用!
准备工作:申请 API 权限
首先你要去 MiniMax 的平台注册,拿到你的 API Key:
注册之后,创建一个应用,就能拿到你的GroupId和API\_KEY了,很简单!
然后准备一个水果价格的文件,叫fruit\_price\.txt,内容如下,直接复制创建就行:
香蕉成本价2元一斤,售价为3元一斤。
橘子成本价1.5元一斤,售价为2.5元一斤
苹果成本价3元一斤,售价为3.5元一斤
芒果成本价5元一斤,售价为6元一斤
葡萄成本价2元一斤,售价为4元一斤
完整代码 + 逐行解释,复制就能用
接下来就是代码了,我把每一步都加了注释,你直接复制,把里面的 API Key 换成你自己的就行:
# 发送HTTP请求的第三方库
import requests
# json数据格式
import json
# 时间
import time
import os
# 加载环境变量
from dotenv import load_dotenv, find_dotenv
# 加载环境变量,把你的API Key填在这里,或者用.env文件
_ = load_dotenv(find_dotenv())
GroupId = os.environ['GroupId'] # 换成你自己的GroupId
API_KEY = os.environ['API_KEY'] # 换成你自己的API_KEY
# 配置请求头,用来验证身份
headers = {
'Authorization': f'Bearer {API_KEY}', # 验证身份
'Content-Type': 'application/json' # 告诉服务器我们传的是JSON数据
}
headers_retrieval = {
'Authorization': f'Bearer {API_KEY}',
'authority': 'api.minimax.chat', # 服务器地址
}
# 第一步:上传我们的水果价格文件到平台
def create_file():
url = f"https://api.minimax.chat/v1/files/upload?GroupId={GroupId}"
data = {
'purpose': 'assistants'
}
files = {
'file': open('./fruit_price.txt', 'rb')
}
response = requests.post(url, headers=headers_retrieval, data=data, files=files)
return response.json()
# 第二步:创建我们的财务助手
def create_assistant(file_id): # file_id就是我们刚才上传的文件的ID
url = f"https://api.minimax.chat/v1/assistants/create?GroupId={GroupId}"
payload = json.dumps({
"model": "abab5.5-chat",# 用的大模型版本
"name": "水果店财务助手", # 助手的名字
"description": "水果店财务助手,用在水果销售过程中计算营业额", # 描述
"instructions": "是一个理财能手,根据每类水果的售出量以及单价,统计其成本和收入,计算出总利润",# 助手的人设
"file_ids": [ str(file_id)],
"tools": [{"type": "retrieval"}] # 开启知识库检索工具
})
response = requests.post(url, headers=headers, data=payload)
return response.json()
# 第三步:创建对话线程,也就是聊天窗口
def create_thread():
url = f"https://api.minimax.chat/v1/threads/create?GroupId={GroupId}"
response = requests.post(url, headers=headers)
return response.json()
# 第四步:给线程里加消息,也就是我们的问题
def add_message_to_thread(thread_id):# thread_id就是我们的聊天窗口ID
url = f"https://api.minimax.chat/v1/threads/messages/add?GroupId={GroupId}"
payload = json.dumps({
"thread_id": thread_id,
"role": "user",
"content": "我卖了2斤葡萄,3斤半的香蕉,2斤苹果,计算下总成本和总收入,给出具体的计算过程",
})
response = requests.post(url, headers=headers, data=payload)
return response.json()
# 第五步:运行助手,让它处理我们的问题
def run_thread_with_assistant(thread_id, assistant_id):
time.sleep(10) # 等一下,创建助手需要一点时间处理知识库
url = f"https://api.minimax.chat/v1/threads/run/create?GroupId={GroupId}"
payload = json.dumps({
"thread_id": thread_id,
"assistant_id": assistant_id
})
response = requests.post(url, headers=headers, data=payload)
return response.json()
# 第六步:检查助手的处理状态,等它处理完
def check_thread_run_status(thread_id, run_id):
url =f"https://api.minimax.chat/v1/threads/run/retrieve?GroupId={GroupId}"
payload = json.dumps({
"thread_id": str(thread_id),
"run_id": str(run_id)
})
completed = False
while not completed:
response = requests.request("GET", url, headers=headers,data=payload)
if response.status_code == 200:
response_data = response.json()
status = response_data.get('status', '')
print(f"当前处理状态: {status}")
if status == 'completed':
completed = True
print("处理完成啦!")
else:
time.sleep(2) # 没处理完就等2秒再查
else:
print(f"出错了: {response.status_code}")
break
return completed
# 第七步:获取助手的回复
def get_thread_messages(thread_id):
url =f"https://api.minimax.chat/v1/threads/messages/list?GroupId={GroupId}"
payload = json.dumps({
"thread_id": thread_id
})
response = requests.get(url, headers=headers, data=payload)
return response.json()
# 主流程,把上面的步骤串起来
def main():
# 上传文档
file_response = create_file()
file_id = file_response.get('file', {}).get('file_id')
# 创建助手
assistant_response = create_assistant(file_id)
assistant_id = assistant_response.get('id', '')
# 创建线程
thread_response = create_thread()
thread_id = thread_response.get('id', '')
# 往线程里加我们的问题
add_message_to_thread(thread_id)
# 运行助手
run_response = run_thread_with_assistant(thread_id,assistant_id)
run_id = run_response.get('id', '')
# 等助手处理完
if check_thread_run_status(thread_id, run_id):
# 获取回复
thread_messages_response = get_thread_messages(thread_id)
# 打印结果
print(json.dumps(thread_messages_response,indent=4, ensure_ascii=False))
if __name__ == "__main__":
main()
运行效果,看看你的财务助手有多厉害
运行代码之后,你就能看到下面的结果了:
当前处理状态: processing
当前处理状态: completed
处理完成啦!
{
"messages": [
...
{
"role": "assistant",
"content": "根据上述信息,可以计算出总成本和总收入。
首先,我们需要知道各类水果的成本和售价,根据查询结果,我们可以知道:
- 葡萄的成本价为2元/斤,售价为4元/斤;
- 香蕉的成本价为2元/斤,售价为3元/斤;
- 苹果的成本价为3元/斤,售价为3.5元/斤。
然后,我们可以计算总成本和总收入:
- 2斤葡萄的总成本 = 2斤 * 2元/斤 = 4元;
- 3斤半的香蕉的总成本 = 3.5斤 * 2元/斤 = 7元;
- 2斤苹果的总成本 = 2斤 * 3元/斤 = 6元。
总成本 = 4元 + 7元 + 6元 = 17元。
- 2斤葡萄的总收入 = 2斤 * 4元/斤 = 8元;
- 3斤半的香蕉的总收入 = 3.5斤 * 3元/斤 = 10.5元;
- 2斤苹果的总收入 = 2斤 * 3.5元/斤 = 7元。
总收入 = 8元 + 10.5元 + 7元 = 25.5元。
最后,我们可以计算出总利润:
总利润 = 总收入 - 总成本 = 25.5元 - 17元 = 8.5元。
所以,你总共赚了8.5元。"
}
]
}
你看!它自动从我们的价格文件里拿到了价格,然后一步步帮我们算了成本、收入、利润,连计算过程都给你写的清清楚楚,是不是太好用了?
7. 最后:GPTs 和 Assistant API,到底该选哪个?
到这里,你已经学会了 GPTs 和 Assistant API 的用法,还做了两个小助手!最后给大家总结一下,什么时候用哪个:
-
如果你只是想快速做个自己用的助手,不用写代码,想发布到公众号这些地方,用GPTs/Coze就够了!10 分钟就能搞定,完全不用碰代码。
-
如果你是开发者,想把 AI 助手集成到你自己的 APP、网站里,做自己的产品,那就用Assistant API!虽然要写点代码,但是能完全定制你自己的界面和功能。
这就是我这次学习的全部内容啦,整理了好久,希望能帮到同样是小白的你!
如果你跟着做遇到了问题,或者有什么想法,欢迎在评论区留言,咱们一起讨论,一起学习,一起进步!
如果你觉得这篇文章有用,别忘了点赞收藏关注哦,后续我还会分享更多 AI 入门的内容,咱们一起打怪升级!
更多推荐
所有评论(0)