Source code for langchain_community.utilities.rememberizer
"""Wrapper for Rememberizer APIs."""fromtypingimportAny,Dict,List,Optional,castimportrequestsfromlangchain_core.documentsimportDocumentfromlangchain_core.utilsimportget_from_dict_or_envfrompydanticimportBaseModel,model_validator
[docs]classRememberizerAPIWrapper(BaseModel):"""Wrapper for Rememberizer APIs."""top_k_results:int=10rememberizer_api_key:Optional[str]=None@model_validator(mode="before")@classmethoddefvalidate_environment(cls,values:Dict)->Any:"""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