🔀 merge(MetalRetriever.py): merge changes from langchain/retrievers to langchain/schema to keep codebase up to date
🔀 merge(MetalRetriever.py): merge changes from metal_sdk/metal to langchain/schema to keep codebase up to date 🐛 fix(MetalRetriever.py): change BaseRetriever import from langchain.schema.retriever to langchain.schema to match updated codebase ✨ feat(MetalRetriever.py): add error handling to MetalRetriever build method to raise ValueError if connection to Metal API fails
This commit is contained in:
parent
d2c23945ea
commit
b3b0f63a1f
1 changed files with 7 additions and 2 deletions
|
|
@ -1,7 +1,8 @@
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
from langflow import CustomComponent
|
from langflow import CustomComponent
|
||||||
from langchain.retrievers import MetalRetriever
|
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):
|
class MetalRetrieverComponent(CustomComponent):
|
||||||
|
|
@ -20,4 +21,8 @@ class MetalRetrieverComponent(CustomComponent):
|
||||||
def build(
|
def build(
|
||||||
self, api_key: str, client_id: str, index_id: str, params: Optional[dict] = None
|
self, api_key: str, client_id: str, index_id: str, params: Optional[dict] = None
|
||||||
) -> BaseRetriever:
|
) -> 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 {})
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue