OpenAI Dev Day 标志着人工智能领域的重要里程碑,发布了一系列突破性的 AI 服务,包括 GPTs、GPTs 应用商店、GPT-4 Turbo ,以及创新的 Assistants API。
该 API 为开发者提供先进的 AI 工具,助您创建能够处理各类任务的定制 AI 助手。
在本教程中,我们将深入探索 Assistants 的世界,详细介绍其能力、跨行业的实际应用,并提供使用 Python 实现的分步指南。欢迎与我们一同掌握构建个性化 AI 助手的要领。
Assistants API 概览
撰写本文时,Assistants API 仍处于测试阶段,OpenAI 开发团队正积极完善更多功能。在此之前,让我们先看看当前版本能做什么!
本节将进一步说明 Assistants 的工作方式,以及其底层组件之间的交互。
Assistants API 的工作原理是什么?
Assistants 的两大支柱是 OpenAI 的模型与工具。
模型种类多样,包括但不限于:GPT-4、GPT-4 Turbo、GPT-3.5、GPT-3、DALL-E、TTS、Whisper、Embeddings、Moderation。Assistants 使用这些模型来完成特定智能任务。
工具则赋予 Assistants 访问 OpenAI 托管工具的能力,如代码解释器与知识检索。它甚至允许用户通过函数调用功能构建自定义工具。
Assistants 的工作方式
现在,让我们来看看实现一个 Assistant 所涉及的五个主要步骤。
创建并描述一个 Assistant :Assistant 是利用模型、指南和各类工具开发的专用 AI。
启动一个线程(Thread) :线程代表用户发起的对话序列,可在其中添加消息,形成互动交流。
添加消息 :消息由用户的文本输入构成,亦可包含文本、文件和图像。
触发 Assistant :激活 Assistant 来分析线程,按需使用特定工具,并生成合适的回复。
Assistants API 的行业用例
借助 Assistant API,可将 AI 强有力地集成到各类业务流程中,从而提升效率、自动化繁琐任务,并为用户查询提供更快速、更准确的响应。
以下是五个具有代表性的行业用例。
开发支持
Assistant 可作为按需编码助手。借助代码解释器,它可以将代码片段在不同编程语言之间转换,辅助软件开发并降低新语言的学习门槛。此功能在使用多语言的团队或用于教学的教育场景中尤为有用。
企业知识管理
可利用检索功能开展组织内部的知识管理。通过上传并处理内部文档、报告与手册,Assistant 成为集中式知识库。员工可向 Assistant 查询特定信息,从而提升效率并减少在海量文档中检索信息所花费的时间。
客户支持自动化
Assistant 可以集成到客户支持系统中。通过函数调用,它能从外部 API 或数据库获取信息来回答客户问题,高效自动化常见问答。这种集成可通过提供快速、准确的响应来提升客户体验,并减轻人工支持人员的负担。
数据分析
通过描述用于数据分析的函数,用户可以让 Assistant 执行复杂的数据处理并生成报告,将自然语言查询转化为结构化的数据分析任务。
IT 运维自动化
IT 团队可使用 Assistant 自动化日常运维。通过定义与常见 IT 任务相对应的函数,如系统诊断、网络检查或软件更新,Assistant 可根据用户指令执行这些任务。此功能可显著减少 IT 专业人员在日常维护上的投入,让他们专注于更复杂的问题。
上手实操:开始使用 OpenAI Assistants API
在了解 OpenAI API 的基础上,让我们进入更实用的用例。本节将指导您创建一个可从 PDF 文件中检索知识的助手。
完整的端到端笔记本可在 DataLab 获取。
知识检索工作流
对于任何技术实现,最好提供一个可视化的工作流,展示正在开发的整体应用中主要组件之间的交互。
该工作流强调了从文件上传到生成最终响应的五个主要实施步骤。
知识检索工作流的五个主要步骤
文件上传 :流程从上传用户希望交互的 PDF 文件开始。
创建助手 :该助手专为处理和理解上传 PDF 文件中的信息而设计。
发起交互 :这是对话线程的起点,用户在此提供由助手处理的输入消息。
触发助手 :此时助手会处理输入消息,生成相关的回复。
输出响应 :最终阶段,助手向用户显示回复。
设置 OpenAI KEY
成功复现本教程结果所需的主要工具包括:
Python :这是本教程使用的主要编程语言。备选方案为 NodeJS。
OpenAI :用于与 OpenAI 服务交互的包。我们的 OpenAI API(Python 版) 速查表全面概述了如何掌握利用 OpenAI API 的基础。
OS :用于配置环境变量的操作系统包。
第一步是获取 OpenAI KEY,它有助于访问 DALL-E 3 模型。主要步骤如下所示:
创建 OpenAI KEY 的四个主要步骤
上述四个主要步骤不言自明。但务必从OpenAI 官方网站 创建账户。
您还可以通过我们的初学者指南:OpenAI API 实战与最佳实践 进一步探索 OpenAI API。该指南介绍了 OpenAI API、其用例、上手实践方式以及应遵循的最佳实践。
开始构建助手
获取密钥后,请务必不要与他人分享。密钥应保持私密。接下来,将密钥设置为环境变量,以便进行后续操作:
import os
OPENAI_API_KEY= "<YOUR PRIVATE KEY>"
os. environ[ "OPENAI_API_KEY" ] = OPENAI_API_KEY技术支持
文件上传
以下辅助函数利用“create”函数,自动将用户希望交互的文件上传到其 OpenAI 账户中。
“create”函数有两个主要参数:
要上传文件的路径
该文件的用途,本例为“assistants”
def upload_file ( file_path) :
file_to_upload = client. files. create(
file = open ( file_path, "rb" ) ,
purpose= 'assistants'
)
return file_to_upload技术支持
最后,使用该辅助函数触发位于data 文件夹中的 Transformer 论文的上传流程。
transformer_paper_path = "./data/transformer_paper.pdf"
file_to_upload = upload_file( transformer_paper_path) 技术支持
成功执行函数后,transformer_paper.pdf 将上传并在“文件”选项卡中可见,如下所示。
Transformer 论文已上传至 OpenAI 账户
创建助手
助手通过 client.beta.assistants 模块中的create 函数创建,需提供五个主要参数:
Name :创建者为助手指定的名称。我们将其命名为 Scientific Paper Assistant(科学论文助手)。
Instructions :描述助手应如何行为或回答问题。在本用例中,助手使用如下指令:“You are a polite and expert knowledge retrieval assistant. Use the documents provided as a knowledge base to answer questions.”
Model :用于知识检索的底层模型。可使用任意 GPT-3 或 GPT-4 模型。本文撰写时使用的是最新的 gpt-4-1106-preview 模型。
Tools :要使用的工具类型,可选为代码解释器与检索。本文聚焦于检索,因此不使用解释器。
File_ids :知识库中每个文件的唯一标识符列表。
辅助函数 create_assistant 将上述信息组合起来以创建助手,如下所示:
def create_assistant ( assistant_name,
my_instruction,
uploaded_file,
model= "gpt-4-1106-preview" ) :
my_assistant = client. beta. assistants. create(
name = assistant_name,
instructions = my_instruction,
model= "gpt-4-1106-preview" ,
tools= [ { "type" : "retrieval" } ] ,
file_ids= [ uploaded_file. id ]
)
return my_assistant技术支持
现在,我们可以使用指令与助手名称来运行函数、创建助手:
inst= "You are a polite and expert knowledge retrieval assistant. Use the documents provided as a knowledge base to answer questions"
assistant_name= "Scientific Paper Assistant"
my_assistant = create_assistant( assistant_name, inst, uploaded_file) 技术支持
发起交互
创建助手后,顺理成章的下一步是使用用户的消息或请求来启动一个交互线程。
线程与消息分别通过 client.beta.threads 与 client.beta.threads.messages 的 create 函数创建。
这两个功能通过辅助函数 initiate_interaction 组合使用。
def initiate_interaction ( user_message, uploaded_file) :
my_thread = client. beta. threads. create( )
message = client. beta. threads. messages. create( thread_id= my_thread. id ,
role= "user" ,
content= user_message,
file_ids= [ uploaded_file. id ]
)
return my_thread技术支持
可以通过 user_message 变量发起交互:
user_message = "Why do authors use the self-attention strategy in the paper?"
my_thread = initiate_interaction( user_message, uploaded_file) 技术支持
触发助手并生成回复
基于上述线程,可以触发助手来回应用户消息。触发操作在辅助函数 trigger_assistant 中定义,回复由 response 变量给出。
def trigger_assistant ( ) :
run = client. beta. threads. runs. create(
thread_id = my_thread. id ,
assistant_id = my_assistant. id ,
)
trigger_assistant( )
messages = client. beta. threads. messages. list (
thread_id = my_thread. id
)
response = messages. data[ 0 ] . content[ 0 ] . text. value
response技术支持
成功执行上述代码后,将生成如下回复。
助手对用户消息的回复
该回复与作者在第 6 页对该问题的回答完全一致。
来自Transformer 论文 的相关段落
使用 OpenAI Assistants API 的最佳实践
在项目中使用 Assistant API 时,务必遵循最佳实践,以确保性能与用户体验达标。以下是需重点考虑的要点。
明确目标 :为 Assistant 设定具体目标,确保其能高效满足预期用途与用户需求。
优化数据输入 :所用数据(如上传文件)的质量与相关性对 Assistant 回复的准确性与效率至关重要。
重视用户隐私 :实施稳健的数据隐私规范,保护用户信息并遵守相关数据保护法律。
测试与迭代 :在真实场景中定期测试 Assistant,并基于反馈不断迭代,以改进性能与用户体验。
提供清晰文档 :为 Assistant 的使用提供详尽指南,帮助用户理解其功能与局限。
结语
总之,本文探讨了 Assistants API,重点介绍了其工作机制以及在不同行业中的应用方式。我们首先介绍了该 API 及其关键功能,为深入理解奠定基础。
接着,我们考察了 Assistants API 的具体特性,并讨论了其在各业务领域的应用,展示了其广泛的实用价值。
我们还提供了入门使用 Assistants API 的分步指南,帮助您更轻松地根据自身需求完成设置。
此外,我们分享了使用该 API 时应牢记的重要最佳实践,确保您最大化其价值。
简而言之,Assistants API 是一款多功能且有价值的工具,可适配多种用途,为能够有效掌握其用法的用户带来显著收益。
想进一步提升您使用 OpenAI API 的体验并拥抱更具创意的方式吗?我们的DALL-E 3 API 全面指南 将帮助您探索 DALL-E 3 API 的变革力量,涵盖其关键功能、行业应用以及释放创意潜能的使用技巧。
如果您完全是新手,不妨从我们的“使用 OpenAI API” 课程开始。
OpenAI Dev Day 标志着人工智能领域的重要里程碑,发布了一系列突破性的 AI 服务,包括 GPTs、GPTs 应用商店、GPT-4 Turbo,以及创新的 Assistants API。
该 API 为开发者提供先进的 AI 工具,助您创建能够处理各类任务的定制 AI 助手。
在本教程中,我们将深入探索 Assistants 的世界,详细介绍其能力、跨行业的实际应用,并提供使用 Python 实现的分步指南。欢迎与我们一同掌握构建个性化 AI 助手的要领。
Assistants API 概览
撰写本文时,Assistants API 仍处于测试阶段,OpenAI 开发团队正积极完善更多功能。在此之前,让我们先看看当前版本能做什么!
本节将进一步说明 Assistants 的工作方式,以及其底层组件之间的交互。
Assistants API 的工作原理是什么?
Assistants 的两大支柱是 OpenAI 的模型与工具。
Assistants 的工作方式
现在,让我们来看看实现一个 Assistant 所涉及的五个主要步骤。
Assistants API 的行业用例
借助 Assistant API,可将 AI 强有力地集成到各类业务流程中,从而提升效率、自动化繁琐任务,并为用户查询提供更快速、更准确的响应。
以下是五个具有代表性的行业用例。
开发支持
Assistant 可作为按需编码助手。借助代码解释器,它可以将代码片段在不同编程语言之间转换,辅助软件开发并降低新语言的学习门槛。此功能在使用多语言的团队或用于教学的教育场景中尤为有用。
企业知识管理
可利用检索功能开展组织内部的知识管理。通过上传并处理内部文档、报告与手册,Assistant 成为集中式知识库。员工可向 Assistant 查询特定信息,从而提升效率并减少在海量文档中检索信息所花费的时间。
客户支持自动化
Assistant 可以集成到客户支持系统中。通过函数调用,它能从外部 API 或数据库获取信息来回答客户问题,高效自动化常见问答。这种集成可通过提供快速、准确的响应来提升客户体验,并减轻人工支持人员的负担。
数据分析
通过描述用于数据分析的函数,用户可以让 Assistant 执行复杂的数据处理并生成报告,将自然语言查询转化为结构化的数据分析任务。
IT 运维自动化
IT 团队可使用 Assistant 自动化日常运维。通过定义与常见 IT 任务相对应的函数,如系统诊断、网络检查或软件更新,Assistant 可根据用户指令执行这些任务。此功能可显著减少 IT 专业人员在日常维护上的投入,让他们专注于更复杂的问题。
上手实操:开始使用 OpenAI Assistants API
在了解 OpenAI API 的基础上,让我们进入更实用的用例。本节将指导您创建一个可从 PDF 文件中检索知识的助手。
完整的端到端笔记本可在 DataLab 获取。
知识检索工作流
对于任何技术实现,最好提供一个可视化的工作流,展示正在开发的整体应用中主要组件之间的交互。
该工作流强调了从文件上传到生成最终响应的五个主要实施步骤。
知识检索工作流的五个主要步骤
设置 OpenAI KEY
成功复现本教程结果所需的主要工具包括:
第一步是获取 OpenAI KEY,它有助于访问 DALL-E 3 模型。主要步骤如下所示:
上述四个主要步骤不言自明。但务必从OpenAI 官方网站创建账户。
您还可以通过我们的初学者指南:OpenAI API 实战与最佳实践进一步探索 OpenAI API。该指南介绍了 OpenAI API、其用例、上手实践方式以及应遵循的最佳实践。
开始构建助手
获取密钥后,请务必不要与他人分享。密钥应保持私密。接下来,将密钥设置为环境变量,以便进行后续操作:
文件上传
以下辅助函数利用“create”函数,自动将用户希望交互的文件上传到其 OpenAI 账户中。
“create”函数有两个主要参数:
最后,使用该辅助函数触发位于data文件夹中的 Transformer 论文的上传流程。
成功执行函数后,transformer_paper.pdf 将上传并在“文件”选项卡中可见,如下所示。
Transformer 论文已上传至 OpenAI 账户
创建助手
助手通过 client.beta.assistants 模块中的create函数创建,需提供五个主要参数:
辅助函数 create_assistant 将上述信息组合起来以创建助手,如下所示:
现在,我们可以使用指令与助手名称来运行函数、创建助手:
发起交互
创建助手后,顺理成章的下一步是使用用户的消息或请求来启动一个交互线程。
线程与消息分别通过 client.beta.threads 与 client.beta.threads.messages 的 create 函数创建。
这两个功能通过辅助函数 initiate_interaction 组合使用。
可以通过 user_message 变量发起交互:
触发助手并生成回复
基于上述线程,可以触发助手来回应用户消息。触发操作在辅助函数 trigger_assistant 中定义,回复由 response 变量给出。
成功执行上述代码后,将生成如下回复。
助手对用户消息的回复
该回复与作者在第 6 页对该问题的回答完全一致。
来自Transformer 论文的相关段落
使用 OpenAI Assistants API 的最佳实践
在项目中使用 Assistant API 时,务必遵循最佳实践,以确保性能与用户体验达标。以下是需重点考虑的要点。
结语
总之,本文探讨了 Assistants API,重点介绍了其工作机制以及在不同行业中的应用方式。我们首先介绍了该 API 及其关键功能,为深入理解奠定基础。
接着,我们考察了 Assistants API 的具体特性,并讨论了其在各业务领域的应用,展示了其广泛的实用价值。
我们还提供了入门使用 Assistants API 的分步指南,帮助您更轻松地根据自身需求完成设置。
此外,我们分享了使用该 API 时应牢记的重要最佳实践,确保您最大化其价值。
简而言之,Assistants API 是一款多功能且有价值的工具,可适配多种用途,为能够有效掌握其用法的用户带来显著收益。
想进一步提升您使用 OpenAI API 的体验并拥抱更具创意的方式吗?我们的DALL-E 3 API 全面指南将帮助您探索 DALL-E 3 API 的变革力量,涵盖其关键功能、行业应用以及释放创意潜能的使用技巧。
如果您完全是新手,不妨从我们的“使用 OpenAI API”课程开始。