Source code for langchain_community.utilities.rememberizer
"""Wrapper for Rememberizer APIs."""fromtypingimportDict,List,Optional,castimportrequestsfromlangchain_core.documentsimportDocumentfromlangchain_core.pydantic_v1importBaseModel,root_validatorfromlangchain_core.utilsimportget_from_dict_or_env
[docs]classRememberizerAPIWrapper(BaseModel):"""Wrapper for Rememberizer APIs."""top_k_results:int=10rememberizer_api_key:Optional[str]=None@root_validator(pre=True)defvalidate_environment(cls,values:Dict)->Dict:"""Validate that api key in environment."""rememberizer_api_key=get_from_dict_or_env(values,"rememberizer_api_key","REMEMBERIZER_API_KEY")values["rememberizer_api_key"]=rememberizer_api_keyreturnvalues
[docs]defsearch(self,query:str)->dict:"""Search for a query in the Rememberizer API."""url=f"https://api.rememberizer.ai/api/v1/documents/search?q={query}&n={self.top_k_results}"response=requests.get(url,headers={"x-api-key":cast(str,self.rememberizer_api_key)})data=response.json()ifresponse.status_code!=200:raiseValueError(f"API Error: {data}")matched_chunks=data.get("matched_chunks",[])returnmatched_chunks