OpenAI GPTs 到底是怎么工作的?

▼最近直播超级多,预约保你有收获

今晚直播:《GPTs 构建应用程序案例实现

 1

GPTs 是如何工作的?

OpenAI 官方对 GPTs 的定义是,用户为特定目的创建的 ChatGPT 版本。

GPTs 结合了技能说明、外部知识库和目前可见的 GPT 的任意技能组合,可针对特定版本的 ChatGPT 提供特定功能,比如帮教孩子数学或者设计贴纸、学习棋盘游戏、搜索资源、数据分析等。

要构建一个 GPTs 也非常简单,可以不用代码,只需与 GPT Builder(OpenAI推出的 GPTs 创建器)进行对话,并为其提供说明和其他知识,再选择 GPTs 能够执行的搜索网络、制作图像、分析数据等操作,一个 GPTs 就创建完成了。

程序员还可以用 Assistants API 构建功能更多更专业的 GPTs,这些才有可能成为企业级 Agent 应用。

Assistants API 是 OpenAI 面向 Agents 领域的一次重要更新,通过该 API,你可以在线创建具备自主规划、工具使用与记忆能力的 AI Agent,通过自然语言输入问题与上传文件,实现自主的交互式。Assistants API 实现的基本架构如下:

ae7395205523351e311d30476d4951d4.png

这里有3个核心概念 Assistant、Thread、Run

Assistant 代表了 AI 助理,Thread 则代表 Assistant 与用户的会话,Run 则是一次“人机交互”。

在 Assistants API 的使用中,理论上是一个异步的调用过程。提交一个 Run后,通过 API 轮询状态,直到完成再获取/检索 Assistants 的消息,也就是通常所说的大模型的回答。

Assistant 一个具体指令(instructions),可以利用大模型、工具(tools)和知识来响应用户的查询。

Assistants API 目前支持三种类型的工具(tools):

  • Code Interpreter:代码解释器

  • Retrieval:检索增强

  • Function Calling:理解输入的自然语言,返回函数调用请求

构建一个基于 Assistants AP I的 AI Agent 应用程序的业务架构设计如下:

7cdc1c1c32ab8abe84ea7636f90cc71a.png

更详细的技术剖析,放在本周日直播进行,请同学点击下方按钮预约直播

 2

如何快速构建一个 GPTs 应用案例?

使用 Assistants API 创建 GPTs 包含以下5个步骤:创建一个 Assistant、创建一个 Thread、提交一个 Run、查询 Run 的状态、检索 Assistant 的响应消息。

第一步、创建 Assistant,响应消息返回一个 Assistant ID。

curl "https://api.openai.com/v1/assistants" \
-u:$OPENAI_API_KEY \
-H "Content-Type: application/json" \
-H "OpenAI-Beta: assistants=v1" \
-d '{
   "instructions": "You are a personal math tutor. When asked a question, write and run Python code to answer the question.",
   "name": "Math Tutor"
   "tools": [{"type": "code_interpreter"}],
   "model": "gpt-4"
}'

第二步、创建 Thread,响应消息返回一个 Thread ID。

curl https://api.openai.com/v1/threads \
-u:$OPENAI_API_KEY \
-H 'Content-Type: application/json' \
-H 'OpenAI-Beta: assistants=v1' \
-d '{
   "messages": [
     {
         "role": "user",
         "content": "Work out the sum of 1, 2 and 3"
     }
   ]
}'

 第三步、提交一个 Run,响应消息返回一个 Run ID。

curl https://api.openai.com/v1/threads/<thread_id>/runs \
-u:$OPENAI_API_KEY \
-H 'Content-Type: application/json' \
-H 'OpenAI-Beta: assistants=v1' \
-d '{
   "assistant_id": "<assistant_id>"
 }'

第四步、查询 Run 的状态,响应消息中得到该任务的状态。

curl https://api.openai.com/v1/threads/<thread_id>/runs/<run_id> \
-u:$OPENAI_API_KEY \
-H 'OpenAI-Beta: assistants=v1'

第五步、获取 Assistant 的响应消息,Assistant 的响应将是如下 API 调用中响应的最近一条消息。

curl https://api.openai.com/v1/threads/<thread_id>/messages \
-u:$OPENAI_API_KEY \
-H "Content-Type: application/json" \
-H "OpenAI-Beta: assistants=v1"

LangChain 开发团队一直在积极响应 OpenAI 的变化。LangChain 0.0.331rc2 版本已经支持了 Assistants API。

目前,LangChain通过 langchain-experimental 包提供了 Assistants 支持,你唯一需要的就是实现 OpenAIAssistantRunnable,这将使代码更加清晰。

基于 LangChain 集成开发 GPTs 企业级案例,本周日20点 直播我会详细剖析,直播精彩看点

1、GPTs 构建 AI Agent 总体架构设计

2、AI Agent 架构设计关键技术剖析

3、传统客服系统+AI Agent 构建智能客服中台案例实战

请同学点击下方按钮预约直播,咱们周日20点直播见!

END