Source code for langchain_community.retrievers.breebs

from typing import List

import requests
from langchain_core.callbacks.manager import CallbackManagerForRetrieverRun
from langchain_core.documents.base import Document
from langchain_core.retrievers import BaseRetriever


[docs]class BreebsRetriever(BaseRetriever): """为 `Breebs` 创建的检索器类。 请访问 https://www.breebs.com/ 了解更多信息。 参数: breeb_key: 触发 breeb(特定主题上的专业知识药丸)的键。 要检索所有可用的 Breebs 列表:可以调用 https://breebs.promptbreeders.com/web/listbreebs""" breeb_key: str url = "https://breebs.promptbreeders.com/knowledge" def __init__(self, breeb_key: str): super().__init__(breeb_key=breeb_key) # type: ignore[call-arg] self.breeb_key = breeb_key def _get_relevant_documents( self, query: str, *, run_manager: CallbackManagerForRetrieverRun ) -> List[Document]: """获取给定查询的上下文。 请注意,目前还没有得分。 """ r = requests.post( self.url, json={ "breeb_key": self.breeb_key, "query": query, }, ) if r.status_code != 200: return [] else: chunks = r.json() return [ Document( page_content=chunk["content"], metadata={"source": chunk["source_url"], "score": 1}, ) for chunk in chunks ]