PebbloRetrievalAPIWrapper#

class langchain_community.chains.pebblo_retrieval.utilities.PebbloRetrievalAPIWrapper[源代码]#

基础类:BaseModel

Pebblo 检索 API 的封装器。

验证环境中的API密钥。

param api_key: str | None [Required]#

Pebblo云的API密钥

param classifier_location: str = 'local'#

分类器的位置,本地或云端。默认为‘local’

param classifier_url: str | None [Required]#

Pebblo分类器的URL

param cloud_url: str | None [Required]#

Pebblo云的URL

async acheck_prompt_validity(question: str) Tuple[bool, Dict[str, Any]][来源]#

使用远程分类服务检查给定提示的有效性。

此方法向远程分类器服务发送提示,并返回提示中是否存在实体。

Parameters:

问题 (str) – 需要验证的提示问题。

Returns:

如果提示有效(不包含拒绝列表实体),则为True,否则为False。 dict: 提示中存在的实体

Return type:

布尔

async static amake_request(method: str, url: str, headers: dict, payload: dict | None = None, timeout: int = 20) Any[source]#

向Pebblo服务器/云API发出异步请求。

Parameters:
  • method (str) – HTTP 方法 (GET, POST, PUT, DELETE, 等).

  • url (str) – 请求的URL。

  • headers (dict) – 请求的头部信息。

  • payload (可选[字典]) – 请求的有效载荷(用于POST、PUT等)。

  • timeout (int) – 请求的超时时间,单位为秒。

Returns:

如果请求成功,返回的json。

Return type:

任何

async asend_prompt(app_name: str, retriever: VectorStoreRetriever, question: str, answer: str, auth_context: AuthContext | None, docs: List[Document], prompt_entities: Dict[str, Any], prompt_time: str, prompt_gov_enabled: bool = False) None[source]#

将提示发送到Pebblo服务器进行分类。 然后发送提示到Daxa云(如果存在api_key)。

Parameters:
  • app_name (str) – 应用程序的名称。

  • retriever (VectorStoreRetriever) – 检索器实例。

  • question (str) – 提示中提出的问题。

  • answer (str) – 模型生成的答案。

  • auth_context (可选[AuthContext]) – 认证上下文。

  • docs (List[Document]) – 检索到的文档列表。

  • prompt_entities (Dict[str, Any]) – 提示中存在的实体。

  • prompt_time (str) – 提示生成的时间。

  • prompt_gov_enabled (bool) – 是否启用了提示治理。

Return type:

build_prompt_qa_payload(app_name: str, retriever: VectorStoreRetriever, question: str, answer: str, auth_context: AuthContext | None, docs: List[Document], prompt_entities: Dict[str, Any], prompt_time: str, prompt_gov_enabled: bool = False) dict[source]#

为提示构建QA负载。

Args:

app_name (str): 应用程序的名称。 retriever (VectorStoreRetriever): 检索器实例。 question (str): 提示中提出的问题。 answer (str): 模型生成的答案。 auth_context (Optional[AuthContext]): 认证上下文。 docs (List[Document]): 检索到的文档列表。 prompt_entities (Dict[str, Any]): 提示中存在的实体。 prompt_time (str): 提示生成的时间。 prompt_gov_enabled (bool): 是否启用了提示治理。

Returns:

提示的QA负载。

Return type:

字典

Parameters:
  • app_name (str)

  • retriever (VectorStoreRetriever)

  • 问题 (str)

  • answer (str)

  • auth_context (AuthContext | None)

  • 文档 (列表[文档])

  • prompt_entities (Dict[str, Any])

  • prompt_time (str)

  • prompt_gov_enabled (bool)

check_prompt_validity(question: str) Tuple[bool, Dict[str, Any]][source]#

使用远程分类服务检查给定提示的有效性。

此方法向远程分类器服务发送提示,并返回提示中是否存在实体。

Parameters:

问题 (str) – 需要验证的提示问题。

Returns:

如果提示有效(不包含拒绝列表实体),则为True,否则为False。 dict: 提示中存在的实体

Return type:

布尔

static make_request(method: str, url: str, headers: dict, payload: dict | None = None, timeout: int = 20) Response | None[source]#

向Pebblo服务器/云API发出请求。

Parameters:
  • method (str) – HTTP 方法 (GET, POST, PUT, DELETE, 等).

  • url (str) – 请求的URL。

  • headers (dict) – 请求的头部信息。

  • payload (可选[字典]) – 请求的有效载荷(用于POST、PUT等)。

  • timeout (int) – 请求的超时时间,单位为秒。

Returns:

如果请求成功,返回响应对象。

Return type:

可选[响应]

send_app_discover(app: App) None[source]#

发送应用程序发现请求到Pebblo服务器和云。

Parameters:

app (App) – 要发现的应用程序实例。

Return type:

send_prompt(app_name: str, retriever: VectorStoreRetriever, question: str, answer: str, auth_context: AuthContext | None, docs: List[Document], prompt_entities: Dict[str, Any], prompt_time: str, prompt_gov_enabled: bool = False) None[来源]#

将提示发送到Pebblo服务器进行分类。 然后发送提示到Daxa云(如果存在api_key)。

Parameters:
  • app_name (str) – 应用程序的名称。

  • retriever (VectorStoreRetriever) – 检索器实例。

  • question (str) – 提示中提出的问题。

  • answer (str) – 模型生成的答案。

  • auth_context (可选[AuthContext]) – 认证上下文。

  • docs (List[Document]) – 检索到的文档列表。

  • prompt_entities (Dict[str, Any]) – 提示中存在的实体。

  • prompt_time (str) – 提示生成的时间。

  • prompt_gov_enabled (bool) – 是否启用了提示治理。

Return type:

static update_cloud_payload(payload: dict, pebblo_resp: dict | None) None[source]#

使用来自Pebblo响应的响应、提示和上下文更新有效负载。

Parameters:
  • payload (dict) – 要更新的有效载荷。

  • pebblo_resp (可选[字典]) – 来自Pebblo服务器的响应。

Return type: