Fix import errors and type annotations
This commit is contained in:
parent
d258e0faea
commit
5cf56ca7a8
13 changed files with 63 additions and 103 deletions
|
|
@ -1,7 +1,8 @@
|
|||
from langflow import CustomComponent
|
||||
from langchain.embeddings.base import Embeddings
|
||||
from langchain_community.embeddings import AzureOpenAIEmbeddings
|
||||
|
||||
from langflow import CustomComponent
|
||||
|
||||
|
||||
class AzureOpenAIEmbeddingsComponent(CustomComponent):
|
||||
display_name: str = "AzureOpenAIEmbeddings"
|
||||
|
|
@ -53,9 +54,9 @@ class AzureOpenAIEmbeddingsComponent(CustomComponent):
|
|||
try:
|
||||
embeddings = AzureOpenAIEmbeddings(
|
||||
azure_endpoint=azure_endpoint,
|
||||
deployment=azure_deployment,
|
||||
openai_api_version=api_version,
|
||||
openai_api_key=api_key,
|
||||
azure_deployment=azure_deployment,
|
||||
api_version=api_version,
|
||||
api_key=api_key,
|
||||
)
|
||||
|
||||
except Exception as e:
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
from typing import Optional
|
||||
|
||||
from langchain_community.embeddings.cohere import CohereEmbeddings
|
||||
|
||||
from langflow import CustomComponent
|
||||
|
||||
|
||||
|
|
@ -27,7 +26,7 @@ class CohereEmbeddingsComponent(CustomComponent):
|
|||
truncate: Optional[str] = None,
|
||||
user_agent: str = "langchain",
|
||||
) -> CohereEmbeddings:
|
||||
return CohereEmbeddings(
|
||||
return CohereEmbeddings( # type: ignore
|
||||
max_retries=max_retries,
|
||||
user_agent=user_agent,
|
||||
request_timeout=request_timeout,
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
from typing import Any, Callable, Dict, List, Optional, Union
|
||||
|
||||
from langchain_openai.embeddings.base import OpenAIEmbeddings
|
||||
|
||||
from langflow import CustomComponent
|
||||
from langflow.field_typing import NestedDict
|
||||
from typing import List, Optional, Dict, Any, Union, Callable
|
||||
from langchain_openai.embeddings.base import OpenAIEmbeddings
|
||||
|
||||
|
||||
class OpenAIEmbeddingsComponent(CustomComponent):
|
||||
|
|
@ -102,13 +104,13 @@ class OpenAIEmbeddingsComponent(CustomComponent):
|
|||
max_retries=max_retries,
|
||||
model=model,
|
||||
model_kwargs=model_kwargs,
|
||||
openai_api_base=openai_api_base,
|
||||
openai_api_key=openai_api_key,
|
||||
base_url=openai_api_base,
|
||||
api_key=openai_api_key,
|
||||
openai_api_type=openai_api_type,
|
||||
openai_api_version=openai_api_version,
|
||||
openai_organization=openai_organization,
|
||||
api_version=openai_api_version,
|
||||
organization=openai_organization,
|
||||
openai_proxy=openai_proxy,
|
||||
request_timeout=request_timeout,
|
||||
timeout=request_timeout,
|
||||
show_progress_bar=show_progress_bar,
|
||||
skip_empty=skip_empty,
|
||||
tiktoken_model_name=tiktoken_model_name,
|
||||
|
|
|
|||
|
|
@ -1,8 +1,10 @@
|
|||
from pydantic import SecretStr
|
||||
from langflow import CustomComponent
|
||||
from typing import Optional
|
||||
from langflow.field_typing import BaseLanguageModel, NestedDict
|
||||
|
||||
from langchain_community.llms.anthropic import Anthropic
|
||||
from pydantic.v1 import SecretStr
|
||||
|
||||
from langflow import CustomComponent
|
||||
from langflow.field_typing import BaseLanguageModel, NestedDict
|
||||
|
||||
|
||||
class AnthropicComponent(CustomComponent):
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
from langflow import CustomComponent
|
||||
from typing import Dict, Optional
|
||||
|
||||
from langchain_community.llms.ctransformers import CTransformers
|
||||
from typing import Optional, Dict
|
||||
|
||||
from langflow import CustomComponent
|
||||
|
||||
|
||||
class CTransformersComponent(CustomComponent):
|
||||
|
|
@ -28,4 +30,4 @@ class CTransformersComponent(CustomComponent):
|
|||
}
|
||||
|
||||
def build(self, model: str, model_file: str, model_type: str, config: Optional[Dict] = None) -> CTransformers:
|
||||
return CTransformers(model=model, model_file=model_file, model_type=model_type, config=config)
|
||||
return CTransformers(model=model, model_file=model_file, model_type=model_type, config=config) # type: ignore
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ from typing import Optional, Union
|
|||
|
||||
from langchain.llms import BaseLLM
|
||||
from langchain_community.chat_models.openai import ChatOpenAI
|
||||
|
||||
from langflow import CustomComponent
|
||||
from langflow.field_typing import BaseLanguageModel, NestedDict
|
||||
|
||||
|
|
@ -78,8 +77,8 @@ class ChatOpenAIComponent(CustomComponent):
|
|||
return ChatOpenAI(
|
||||
max_tokens=max_tokens,
|
||||
model_kwargs=model_kwargs,
|
||||
model_name=model_name,
|
||||
openai_api_base=openai_api_base,
|
||||
openai_api_key=openai_api_key,
|
||||
model=model_name,
|
||||
base_url=openai_api_base,
|
||||
api_key=openai_api_key,
|
||||
temperature=temperature,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
from langflow import CustomComponent
|
||||
from langchain_core.language_models.base import BaseLanguageModel
|
||||
from langchain_community.llms.cohere import Cohere
|
||||
from langchain_core.language_models.base import BaseLanguageModel
|
||||
from langflow import CustomComponent
|
||||
|
||||
|
||||
class CohereComponent(CustomComponent):
|
||||
|
|
@ -21,4 +21,4 @@ class CohereComponent(CustomComponent):
|
|||
max_tokens: int = 256,
|
||||
temperature: float = 0.75,
|
||||
) -> BaseLanguageModel:
|
||||
return Cohere(cohere_api_key=cohere_api_key, max_tokens=max_tokens, temperature=temperature)
|
||||
return Cohere(cohere_api_key=cohere_api_key, max_tokens=max_tokens, temperature=temperature) # type: ignore
|
||||
|
|
|
|||
|
|
@ -1,60 +0,0 @@
|
|||
from typing import Dict, Optional
|
||||
|
||||
from langchain_openai.llms.base import OpenAI
|
||||
|
||||
from langflow import CustomComponent
|
||||
|
||||
|
||||
class OpenAIComponent(CustomComponent):
|
||||
display_name = "OpenAI"
|
||||
description = "OpenAI large language models."
|
||||
|
||||
def build_config(self):
|
||||
return {
|
||||
"max_tokens": {"display_name": "Max Tokens", "default": 256},
|
||||
"model_kwargs": {"display_name": "Model Kwargs", "advanced": True},
|
||||
"model_name": {
|
||||
"display_name": "Model Name",
|
||||
"value": "text-davinci-003",
|
||||
"options": [
|
||||
"text-davinci-003",
|
||||
"text-davinci-002",
|
||||
"text-curie-001",
|
||||
"text-babbage-001",
|
||||
"text-ada-001",
|
||||
],
|
||||
},
|
||||
"openai_api_base": {
|
||||
"display_name": "OpenAI API Base",
|
||||
"info": (
|
||||
"The base URL of the OpenAI API. Defaults to https://api.openai.com/v1.\n"
|
||||
"You can change this to use other APIs like JinaChat, LocalAI and Prem."
|
||||
),
|
||||
},
|
||||
"openai_api_key": {
|
||||
"display_name": "OpenAI API Key",
|
||||
"value": "",
|
||||
"password": True,
|
||||
},
|
||||
"temperature": {"display_name": "Temperature", "value": 0.7},
|
||||
}
|
||||
|
||||
def build(
|
||||
self,
|
||||
max_tokens: Optional[int] = 256,
|
||||
model_kwargs: Optional[Dict] = None,
|
||||
model_name: str = "text-davinci-003",
|
||||
openai_api_base: Optional[str] = "",
|
||||
openai_api_key: str = "",
|
||||
temperature: Optional[float] = 0.7,
|
||||
) -> OpenAI:
|
||||
if not openai_api_base:
|
||||
openai_api_base = "https://api.openai.com/v1"
|
||||
return OpenAI(
|
||||
max_tokens=max_tokens,
|
||||
model_kwargs=model_kwargs or {},
|
||||
model_name=model_name,
|
||||
openai_api_base=openai_api_base,
|
||||
openai_api_key=openai_api_key,
|
||||
temperature=temperature,
|
||||
)
|
||||
|
|
@ -1,11 +1,8 @@
|
|||
from langflow import CustomComponent
|
||||
from typing import Callable, Optional, Union
|
||||
|
||||
from langchain.retrievers import MultiQueryRetriever
|
||||
from typing import Optional, Union, Callable
|
||||
from langflow.field_typing import (
|
||||
PromptTemplate,
|
||||
BaseLLM,
|
||||
BaseRetriever,
|
||||
)
|
||||
from langflow import CustomComponent
|
||||
from langflow.field_typing import BaseLLM, BaseRetriever, PromptTemplate
|
||||
|
||||
|
||||
class MultiQueryRetrieverComponent(CustomComponent):
|
||||
|
|
@ -46,4 +43,7 @@ class MultiQueryRetrieverComponent(CustomComponent):
|
|||
prompt: Optional[PromptTemplate] = None,
|
||||
parser_key: str = "lines",
|
||||
) -> Union[Callable, MultiQueryRetriever]:
|
||||
return MultiQueryRetriever(llm=llm, retriever=retriever, prompt=prompt, parser_key=parser_key)
|
||||
if not prompt:
|
||||
return MultiQueryRetriever.from_llm(llm=llm, retriever=retriever, parser_key=parser_key)
|
||||
else:
|
||||
return MultiQueryRetriever.from_llm(llm=llm, retriever=retriever, prompt=prompt, parser_key=parser_key)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
from langflow import CustomComponent
|
||||
from typing import Callable, Union
|
||||
|
||||
from langchain_community.utilities.serpapi import SerpAPIWrapper
|
||||
from langflow import CustomComponent
|
||||
|
||||
|
||||
class SerpAPIWrapperComponent(CustomComponent):
|
||||
|
|
@ -24,7 +25,7 @@ class SerpAPIWrapperComponent(CustomComponent):
|
|||
serpapi_api_key: str,
|
||||
params: dict,
|
||||
) -> Union[SerpAPIWrapper, Callable]: # Removed quotes around SerpAPIWrapper
|
||||
return SerpAPIWrapper(
|
||||
return SerpAPIWrapper( # type: ignore
|
||||
serpapi_api_key=serpapi_api_key,
|
||||
params=params,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
from langflow import CustomComponent
|
||||
from typing import Union, Callable
|
||||
from typing import Callable, Union
|
||||
|
||||
from langchain_community.utilities.wikipedia import WikipediaAPIWrapper
|
||||
from langflow import CustomComponent
|
||||
|
||||
# Assuming WikipediaAPIWrapper is a class that needs to be imported.
|
||||
# The import statement is not included as it is not provided in the JSON
|
||||
|
|
@ -14,5 +15,16 @@ class WikipediaAPIWrapperComponent(CustomComponent):
|
|||
def build_config(self):
|
||||
return {}
|
||||
|
||||
def build(self) -> Union[WikipediaAPIWrapper, Callable]:
|
||||
return WikipediaAPIWrapper()
|
||||
def build(
|
||||
self,
|
||||
top_k_results: int = 3,
|
||||
lang: str = "en",
|
||||
load_all_available_meta: bool = False,
|
||||
doc_content_chars_max: int = 4000,
|
||||
) -> Union[WikipediaAPIWrapper, Callable]:
|
||||
return WikipediaAPIWrapper( # type: ignore
|
||||
top_k_results=top_k_results,
|
||||
lang=lang,
|
||||
load_all_available_meta=load_all_available_meta,
|
||||
doc_content_chars_max=doc_content_chars_max,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
from langflow import CustomComponent
|
||||
from typing import Callable, Union
|
||||
|
||||
from langchain_community.utilities.wolfram_alpha import WolframAlphaAPIWrapper
|
||||
from langflow import CustomComponent
|
||||
|
||||
# Since all the fields in the JSON have show=False, we will only create a basic component
|
||||
# without any configurable fields.
|
||||
|
||||
|
|
@ -13,4 +15,4 @@ class WolframAlphaAPIWrapperComponent(CustomComponent):
|
|||
return {"appid": {"display_name": "App ID", "type": "str", "password": True}}
|
||||
|
||||
def build(self, appid: str) -> Union[Callable, WolframAlphaAPIWrapper]:
|
||||
return WolframAlphaAPIWrapper(wolfram_alpha_appid=appid)
|
||||
return WolframAlphaAPIWrapper(wolfram_alpha_appid=appid) # type: ignore
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ from langflow.field_typing import (
|
|||
)
|
||||
from langchain.schema import BaseRetriever
|
||||
from langchain.vectorstores.base import VectorStore
|
||||
import pinecone
|
||||
import pinecone # type: ignore
|
||||
|
||||
|
||||
class PineconeComponent(CustomComponent):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue