You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ChatGPTPluginRetriever的服务器作用、启动方式及必要性问询

关于LangChain ChatGPT Retriever Plugin的疑问解答

问题背景

我尝试使用LangChain库的ChatGPT Retriever Plugin,使用了如下示例代码:

from langchain.retrievers import ChatGPTPluginRetriever
retriever = ChatGPTPluginRetriever(url="http://0.0.0.0:8000", bearer_token="foo")
retriever.get_relevant_documents("alice's phone number")

同时有以下三个疑问:

  1. 实例化retriever时指定url的代码,是启动对应服务器还是让retriever连接该服务器?
  2. 若为连接服务器,如何启动对应的服务器?
  3. 检索所需信息存储在本地foo.json文件中,为何还需要服务器?

解答

  • 问题1:这段代码是让retriever连接到指定的服务器,并不会启动服务器。ChatGPTPluginRetriever的定位是客户端,它通过给定的URL和令牌与已经运行的Retriever Plugin服务器通信,以此获取检索结果。

  • 问题2:要启动对应的服务器,你需要部署符合ChatGPT插件规范的Retriever服务,步骤如下:

    1. 先安装langchain、fastapi、uvicorn等必要依赖
    2. 基于LangChain的插件模板创建服务文件(比如main.py),在其中加载你的本地foo.json数据,并实现符合规范的检索接口
    3. 执行命令启动服务器:
    uvicorn main:app --host 0.0.0.0 --port 8000
    

    启动完成后,服务器会在http://0.0.0.0:8000运行,此时你的retriever就能正常连接并调用接口。

  • 问题3:需要服务器是因为ChatGPT Retriever Plugin遵循OpenAI的插件规范——该规范要求检索服务必须以HTTP接口形式对外提供,这样ChatGPT或其他兼容的大模型客户端才能通过标准API调用获取结果。即便数据存在本地,也需要服务器把数据封装成符合规范的接口,让retriever客户端可以正常交互。另外,服务器还能处理权限验证(比如你设置的bearer_token)、数据预处理、检索逻辑优化等额外工作。


内容的提问来源于stack exchange,提问作者Roman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 19:42:04