From 0f9279c68d6b15768eb203bfb9a9a4bd43c6e109 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Mon, 28 Aug 2023 07:32:18 -0300 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(MetalRetriever.py):=20add=20Me?= =?UTF-8?q?talRetriever=20component=20to=20retrieve=20data=20using=20the?= =?UTF-8?q?=20Metal=20API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ✨ feat(__init__.py): add empty __init__.py file to the retrievers directory to make it a package --- .../components/retrievers/MetalRetriever.py | 23 +++++++++++++++++++ .../components/retrievers/__init__.py | 0 2 files changed, 23 insertions(+) create mode 100644 src/backend/langflow/components/retrievers/MetalRetriever.py create mode 100644 src/backend/langflow/components/retrievers/__init__.py diff --git a/src/backend/langflow/components/retrievers/MetalRetriever.py b/src/backend/langflow/components/retrievers/MetalRetriever.py new file mode 100644 index 000000000..df6c0b222 --- /dev/null +++ b/src/backend/langflow/components/retrievers/MetalRetriever.py @@ -0,0 +1,23 @@ +from typing import Optional +from langflow import CustomComponent +from langchain.retrievers import MetalRetriever +from langchain.schema.retriever import BaseRetriever + + +class MetalRetrieverComponent(CustomComponent): + display_name: str = "Metal Retriever" + description: str = "Retriever that uses the Metal API." + + def build_config(self): + return { + "api_key": {"display_name": "API Key", "password": True}, + "client_id": {"display_name": "Client ID", "password": True}, + "index_id": {"display_name": "Index ID"}, + "params": {"display_name": "Parameters", "field_type": "code"}, + "code": {"show": False}, + } + + 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) diff --git a/src/backend/langflow/components/retrievers/__init__.py b/src/backend/langflow/components/retrievers/__init__.py new file mode 100644 index 000000000..e69de29bb