RAG 天都变了!OpenAI 亲自下场,深夜发布 5 个新功能!新的原型请求接口,开发者必看!

就在今夜,OpenAI 发布了 5 个新的 Agent 功能,都已经上线 API 平台。

  • Web Search,将自家在用的联网搜索功能开发给 API 了,自带引用。
  • File Search,支持上传文件,生成向量和文档检索了,也自带引用。
  • Computer Use Agent,基于 4o 模型的多模态能力与电脑进行交互。
  • Response AI,新的 OpenAI 请求原型,以上 3 个功能都需要使用新的原型 API 请求。
  • Agents SDK,基于前期发布的 Swarm 新 SDK,支持 Agent Loop、Handoffs、Function tools 和 Tracking。

详细功能,相信大家都已经在国内三大顶刊看过了。在这里,我只想深入聊一下这些新工具可能得应用范式。我认为基于这些工具你可以实现时下大火的 Deep Research 和类似多智能体工具 Manus。

可能路径

以 Agents SDK 为基础,

  • 结合类似 DeepSeek R1 这样的推理模型,构造一个根据问题规划推理 Plan Agent
  • 使用 Web Search 构造的联网的 Web Agent
  • 使用 File Search 构造 RAG Agent
  • 使用 Computer Use Agent 构造一个支持操作电脑的 Computer Agent
  • 构造一个判定反思 Refection Agent

启动一个 Agent Loop,然后 Plan Agent 首先接受用户请求,规划需要检索的信息,然后分别调用 RAG Agent 和 Web Agent。信息获取后,调用反思 Reflection Agent 判定所需信息是否足够,是否需要再次规划信息新的信息,直到信息检索完成。最后可以使用 Computer Agent 打开 Word 文档,将报告编写进去最后输出一个文档。

File Search,官方 RAG 实现

通过以下示例,我们可以看到 Open AI 是如何实现 RAG 的。

  • 首先上传文件

支持绝大部分文件格式,诸如 txt、doc、ppt、pdf、md 以及绝大部分的编程文件格式。上传完成后,它会回传一个文件 ID。

ini 复制代码
client = OpenAI()
with open(file_path, "rb") as file_content:
    result = client.files.create(
        file=file_content,
        purpose="assistants"
    )
  return result.id
  • 创建向量库

也同样会回传一个向量库 ID

ini 复制代码
vector_store = client.vector_stores.create(
    name="knowledge_base"
)
print(vector_store.id)
  • 将文件加入到向量库中
ini 复制代码
client.vector_stores.files.create(
    vector_store_id=vector_store.id,
    file_id=file_id
)

由于入库需要时间,在检索之前需要检查状态是否 completed。

ini 复制代码
result = client.vector_stores.files.list(
    vector_store_id=vector_store.id
)
print(result)

也可以上传多个文件进入向量库中,是的你可以在一整个文档集合中搜索。

  • File Search
ini 复制代码
response = client.responses.create(
    model="gpt-4o-mini",
    input="What is deep research by OpenAI?",
    tools=[{
        "type": "file_search",
        "vector_store_ids": ["<vector_store_id>"]
    }]
)

响应结果自带引用,引用以 index 说明,并给出一引用的文件 ID 和名称,如下所示。

json 复制代码
{
  "output": [
    {
      "type": "file_search_call",
      "id": "fs_67c09ccea8c48191ade9367e3ba71515",
      "status": "completed",
      "queries": ["What is deep research?"],
      "search_results": null
    },
    {
      "id": "msg_67c09cd3091c819185af2be5d13d87de",
      "type": "message",
      "role": "assistant",
      "content": [
        {
          "type": "output_text",
          "text": "Deep research is a sophisticated capability that allows for extensive inquiry and synthesis of information across various doma...",
          "annotations": [
            {
              "type": "file_citation",
              "index": 992,
              "file_id": "file-2dtbBZdjtDKS8eqWxqbgDi",
              "filename": "deep_research_blog.pdf"
            },
            ...
          ]
        }
      ]
    }
  ]
}

除此之外,还支持修改 Chunk 大小、包含召回数据、限制召回文档数量、元数据过滤和结果重排 Rerank 等,更多的可以参考Open AI 官方 Retrieve 文档[1]。

可以看到基于 OpenAI 官方 SDK 就可以实现 RAG,除了贵之外,一点毛病没有。

联网搜索,也是在新的 API 原型中实现的,为了更好的支持用户搜索结果,还可以填入用户大概位置、限制检索上下文数量等想,相应自带引用。

lua 复制代码
completion = client.chat.completions.create(
    model="gpt-4o-search-preview",
    web_search_options={
    	 "user_location": {
            "type": "approximate",
            "approximate": {
                "country": "GB",
                "city": "London",
                "region": "London",
            }
        },
        "search_context_size": "low",
    },
    messages=[
        {
            "role": "user",
            "content": "What was a positive news story from today?",
        }
    ],
)

响应

json 复制代码
[
  {
    "index": 0,
    "message": {
      "role": "assistant",
      "content": "the model response is here...",
      "refusal": null,
      "annotations": [
        {
          "type": "url_citation",
          "url_citation": {
            "end_index": 985,
            "start_index": 764,
            "title": "Page title...",
            "url": "https://..."
          }
        }
      ]
    },
    "finish_reason": "stop"
  }
]

总结

Agents SDK 功能就不再详细复述了,大家可以自行访问 OpenAI 官方仓库。

github.com/openai/open...

总的来说,大部分功能都有一些开源实现,或者商业平台支持,比如联网搜索可以使用 Tavily,File Search 就是各种 RAG。但这两个工具 Open AI 直接集成到官方 SDK 中了,意味着各大 LLM 平台都会跟进,可能进一步压缩开发者的空间了。

而以联网搜索起家的 Perpexity 危矣,谁都可以根据 Web Search 做一个新的 Perpexity。(我实在不喜欢这家,前段时间还基于 DeepSeek R1 出个什么去除中国监管的新 R1,也不开放数据集,还不知道加了点啥东西,这玩意不就是要么中国监管要么美国监管,讲什么去除偏见,脱裤子放屁,典型的端碗吃肉放下骂娘,早点倒闭)!

基于这一整套 API 套件,开发 Manus、DeepResearch 都不再麻烦了,毕竟我们需要做的就是规划编排~

我们建立了LLM 应用交流群,关注我后台回复进群即可。

参考资料

[1] Open AI 官方Retrieve文档: platform.openai.com/docs/guides...

相关推荐
初心丨哈士奇5 分钟前
基于大模型的GitLab CodeReview 技术调研
前端·人工智能·node.js
Luis Li 的猫猫22 分钟前
基于MATLAB的冰块变化仿真
开发语言·图像处理·人工智能·算法·matlab
xiatian_win12343 分钟前
本地部署 OpenManus 保姆级教程(Windows 版)
人工智能·windows
蹦蹦跳跳真可爱5891 小时前
Python----计算机视觉处理(opencv:像素,RGB颜色,图像的存储,opencv安装,代码展示)
人工智能·python·opencv·计算机视觉
BIT_Legend1 小时前
Torch 模型 model => .onnx => .trt 及利用 TensorTR 在 C++ 下的模型部署教程
c++·人工智能·python·深度学习
蹦蹦跳跳真可爱5891 小时前
Python----计算机视觉处理(Opencv:自适应二值化,取均值,加权求和(高斯定理))
人工智能·python·opencv·计算机视觉
轻松Ai享生活2 小时前
从代码粘贴侠到优雅的Coder? - 3个大神教我的脱坑不传之秘
人工智能·面试·程序员
机器之心2 小时前
GPT4规模大模型落地,Meta提ExFM框架:万亿参数基础大模型的工业级落地成为可能
人工智能·openai
Scabbards_2 小时前
理解知识如何在大型Vision-Language Models 中演化
人工智能·语言模型·自然语言处理
机器之心2 小时前
OpenAI突然发布智能体API!支持网络和文件搜索以及computer use
人工智能·openai