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:
无