From b3b0f63a1fb75a26b74b3b76c29172a8e5eb27da Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Mon, 28 Aug 2023 07:54:59 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=80=20merge(MetalRetriever.py):=20merg?= =?UTF-8?q?e=20changes=20from=20langchain/retrievers=20to=20langchain/sche?= =?UTF-8?q?ma=20to=20keep=20codebase=20up=20to=20date=20=F0=9F=94=80=20mer?= =?UTF-8?q?ge(MetalRetriever.py):=20merge=20changes=20from=20metal=5Fsdk/m?= =?UTF-8?q?etal=20to=20langchain/schema=20to=20keep=20codebase=20up=20to?= =?UTF-8?q?=20date=20=F0=9F=90=9B=20fix(MetalRetriever.py):=20change=20Bas?= =?UTF-8?q?eRetriever=20import=20from=20langchain.schema.retriever=20to=20?= =?UTF-8?q?langchain.schema=20to=20match=20updated=20codebase=20=E2=9C=A8?= =?UTF-8?q?=20feat(MetalRetriever.py):=20add=20error=20handling=20to=20Met?= =?UTF-8?q?alRetriever=20build=20method=20to=20raise=20ValueError=20if=20c?= =?UTF-8?q?onnection=20to=20Metal=20API=20fails?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../langflow/components/retrievers/MetalRetriever.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/backend/langflow/components/retrievers/MetalRetriever.py b/src/backend/langflow/components/retrievers/MetalRetriever.py index df6c0b222..aaf9fd613 100644 --- a/src/backend/langflow/components/retrievers/MetalRetriever.py +++ b/src/backend/langflow/components/retrievers/MetalRetriever.py @@ -1,7 +1,8 @@ from typing import Optional from langflow import CustomComponent from langchain.retrievers import MetalRetriever -from langchain.schema.retriever import BaseRetriever +from langchain.schema import BaseRetriever +from metal_sdk.metal import Metal class MetalRetrieverComponent(CustomComponent): @@ -20,4 +21,8 @@ class MetalRetrieverComponent(CustomComponent): def build( self, api_key: str, client_id: str, index_id: str, params: Optional[dict] = None ) -> BaseRetriever: - return MetalRetriever(api_key, client_id, index_id, params=params) + try: + metal = Metal(api_key=api_key, client_id=client_id, index_id=index_id) + except Exception as e: + raise ValueError("Could not connect to Metal API.") from e + return MetalRetriever(client=metal, params=params or {})