OpenAI发布Assistants API更新:最多可检索10000个文件
原标题:OpenAI发布Assistants API更新:最多可检索10000个文件
导读:
一名微软工程师近日向美国监管机构和公司董事会发出警报指称公司的人工智能图像生成器工具存在潜在的冒犯和有害图像生成风险工程师称自己是一名举报者并在腾讯科技讯月日消息据国外媒体报道...
一名微软工程师近日向美国监管机构和公司董事会发出警报,指称公司的人工智能图像生成器工具存在潜在的冒犯和有害图像生成风险。工程师ShaneJones称自己是一名举报者,并在
腾讯科技讯 4月18日消息,据国外媒体报道,美国当地时间周三,人工智能初创公司OpenAI发布了Assistants API更新,为这种专门帮助构建人工智能助手的工具新增了不少功能,比如更快更准确的文件搜索工具、矢量存储和工具选择参数。
Assistants API测试版于2023年11月推出,新版本被称为OpenAI-Beta: assistants=v2。这款工具旨在帮助开发者为各种软件任务构建助手。它可以用特定的指令调用OpenAI模型,并行访问多个工具,支持持久线程,访问多种格式的文件。
每个Assistant可检索10000个文件
在最更新中,OpenAI推出了一款名为file_search的改进检索工具。现在,每个Assistant最多能够检索高达10000个文件,相较于之前的版本,检索能力提升了500倍。同时,这款工具的检索速度也得到了显著提升,支持多线程搜索并行查询,从而大大提高了检索效率。此外,file_search还具备增强的重新排序和查询重写功能,使得搜索结果更加精准和符合用户需求。
除了file_search,OpenAI还在Assistants API中引入了vector_store对象功能。当文件被添加到矢量存储中时,它们会被自动解析、分块和嵌入,从而准备好进行高效的搜索。这一功能不仅简化了文件管理和计费过程,还使得矢量存储能够跨Assistant和线程使用,为用户提供了更加灵活和便捷的使用体验。
管理线程和消息
线程与消息共同构成了助手与用户之间的会话流。在OpenAI的Assistants API中,线程可以存储的消息数量是不受限制的,这意味着用户可以进行长时间的、深入的对话。然而,当消息的总大小超过了模型能够处理的上下文窗口时,线程会智能地截断消息,优先删除那些它认为相对不那么重要的消息。
创建线程时,您可以附带一个初始的消息列表,这些消息可以包含文本、图像或文件附件等多种形式。为了更便捷地添加文件到线程中,OpenAI提供了tool_resources这一辅助方法。当然,用户也可以直接通过thread.tool_resources添加文件。需要注意的是,目前用户创建的消息尚不支持包含图像文件,但OpenAI正计划在未来增加这一功能。
Assistants API会自动管理消息的截断,确保它们始终保持在模型能够处理的最大上下文长度之内。
控制最大token使用数量
OpenAI赋予了用户更多的控制权,允许他们在Assistants API中设定每次运行所使用token的最大数量。这一功能不仅有助于用户更好地管理token的使用成本,还能有效优化资源的利用。此外,用户还可以灵活设置每次运行中使用的以前或最近消息的数量限制,以满足不同的使用场景和需求。
为了实现对单个运行中(Run)tokens使用的精准控制,用户在创建Run时,可以设定max_prompt_tokens和max_completion_tokens两个参数。这些限制将作用于整个运行生命周期中所使用的tokens总数,确保每次运行都在预定的资源范围内进行。
以实际操作为例,假设我们初始化一个Run,将max_prompt_tokens设置为500,max_completion_tokens设置为1000。这意味着第一次完成将会把线程截断到500个tokens,并将输出限制在1000个tokens以内。如果在第一次完成中仅使用了200个提示tokens和300个完成tokens,那么第二次完成将拥有剩余的300个提示tokens和700个完成tokens的可用限制。
如果完成过程达到了max_completion_tokens的限制,那么该运行将以不完整状态终止。
轮询助手
为了保持运行状态的实时更新,用户需要定期检索运行对象。每次检索时,用户都可以检查运行状态,进而决定应用程序的下一步操作。为了简化这一过程,OpenAI在Node和Python SDK中提供了轮询助手功能。
这些助手能够自动为用户轮询运行对象,并在运行对象达到终端状态时将其返回给用户。这极大地减轻了用户的工作负担,让他们能够更专注于应用程序的核心逻辑。
当运行处于in_progress状态(即非终端状态)时,线程将被锁定。这意味着:用户将无法向该线程添加新的消息,也无法在该线程上创建新的运行实例。这一机制确保了线程在处理运行时任务的连续性和一致性,避免了因并发操作而可能引发的冲突和错误。
此外,OpenAI还进行了以下更新:
OpenAI增加了对tool_choice参数的支持,该参数可用于在特定运行(Run)中强制使用特定工具,如file_search、code_interpreter或函数。
现在,用户也可以使用角色助手创建消息,以便在线程中创建自定义对话历史记录。
Assistant和运行对象现在支持流行的模型配置参数,如温度、response_format (JSON模式)和top_p等。
此外,用户可以在Assistants API中使用微调过的模型。目前,只支持GPT-3.5-turbo-0125的微调版本。
- 版权所属:王牌阁
- 本文地址:http://face.uexe.cn/18880.html
- 版权声明:原创文章,转载时必须以链接形式注明原始出处及本声明。