🐛 fix(PromptRunner.py): change beta variable type from string to boolean to match expected type
🐛 fix(Metaphor.py): change beta variable type from string to boolean to match expected type 🐛 fix(GetRequest.py): change beta variable type from string to boolean to match expected type 🐛 fix(JSONDocumentBuilder.py): change beta variable type from string to boolean to match expected type 🐛 fix(PostRequest.py): change beta variable type from string to boolean to match expected type 🐛 fix(UpdateRequest.py): change beta variable type from string to boolean to match expected type 🐛 fix(Chroma.py): change beta variable type from string to boolean to match expected type 🐛 fix(Vectara.py): change beta variable type from string to boolean to match expected type 🐛 fix(component.py): change ERROR_CODE_NULL variable type from dict to string to match expected type 🐛 fix(custom_component.py): change code_class_base_inheritance variable type from dict to string to match expected type 🐛 fix(custom_component.py): change function_entrypoint_name variable type from dict to string to match expected type 🐛 fix(initialize/vector_store.py): change chromadb variable name to chromadb_instance for clarity 🐛 fix(database/manager.py): change expected_columns to use model_fields instead of __fields__ to match new SQLModel version 🐛 fix(database/models/base.py): remove unused model_config variable 🐛 fix(database/models/flow/flow.py): change validator decorator to field_validator to match new pydantic version 🐛 fix(settings.py): change root_validator decorator to model_validator to match new pydantic version
This commit is contained in:
parent
4f2a4ce13c
commit
87db2f4d0b
15 changed files with 24 additions and 29 deletions
|
|
@ -8,7 +8,7 @@ from langchain.schema import Document
|
|||
class PromptRunner(CustomComponent):
|
||||
display_name: str = "Prompt Runner"
|
||||
description: str = "Run a Chain with the given PromptTemplate"
|
||||
beta: str = True
|
||||
beta: bool = True
|
||||
field_config = {
|
||||
"llm": {"display_name": "LLM"},
|
||||
"prompt": {
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ class MetaphorToolkit(CustomComponent):
|
|||
documentation = (
|
||||
"https://python.langchain.com/docs/integrations/tools/metaphor_search"
|
||||
)
|
||||
beta: str = True
|
||||
beta: bool = True
|
||||
# api key should be password = True
|
||||
field_config = {
|
||||
"metaphor_api_key": {"display_name": "Metaphor API Key", "password": True},
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ class GetRequest(CustomComponent):
|
|||
description: str = "Make a GET request to the given URL."
|
||||
output_types: list[str] = ["Document"]
|
||||
documentation: str = "https://docs.langflow.org/components/utilities#get-request"
|
||||
beta: str = True
|
||||
beta: bool = True
|
||||
field_config = {
|
||||
"url": {
|
||||
"display_name": "URL",
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ class JSONDocumentBuilder(CustomComponent):
|
|||
display_name: str = "JSON Document Builder"
|
||||
description: str = "Build a Document containing a JSON object using a key and another Document page content."
|
||||
output_types: list[str] = ["Document"]
|
||||
beta: str = True
|
||||
beta: bool = True
|
||||
documentation: str = (
|
||||
"https://docs.langflow.org/components/utilities#json-document-builder"
|
||||
)
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ class PostRequest(CustomComponent):
|
|||
description: str = "Make a POST request to the given URL."
|
||||
output_types: list[str] = ["Document"]
|
||||
documentation: str = "https://docs.langflow.org/components/utilities#post-request"
|
||||
beta: str = True
|
||||
beta: bool = True
|
||||
field_config = {
|
||||
"url": {"display_name": "URL", "info": "The URL to make the request to."},
|
||||
"headers": {
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ class UpdateRequest(CustomComponent):
|
|||
description: str = "Make a PATCH request to the given URL."
|
||||
output_types: list[str] = ["Document"]
|
||||
documentation: str = "https://docs.langflow.org/components/utilities#update-request"
|
||||
beta: str = True
|
||||
beta: bool = True
|
||||
field_config = {
|
||||
"url": {"display_name": "URL", "info": "The URL to make the request to."},
|
||||
"headers": {
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ class ChromaComponent(CustomComponent):
|
|||
display_name: str = "Chroma"
|
||||
description: str = "Implementation of Vector Store using Chroma"
|
||||
documentation = "https://python.langchain.com/docs/integrations/vectorstores/chroma"
|
||||
beta: str = True
|
||||
beta: bool = True
|
||||
|
||||
def build_config(self):
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ class VectaraComponent(CustomComponent):
|
|||
documentation = (
|
||||
"https://python.langchain.com/docs/integrations/vectorstores/vectara"
|
||||
)
|
||||
beta: str = True
|
||||
beta: bool = True
|
||||
# api key should be password = True
|
||||
field_config = {
|
||||
"vectara_customer_id": {"display_name": "Vectara Customer ID"},
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import ast
|
||||
from typing import Any, ClassVar, Dict, Optional
|
||||
from typing import Any, ClassVar, Optional
|
||||
from pydantic import BaseModel
|
||||
from fastapi import HTTPException
|
||||
|
||||
|
|
@ -16,9 +16,9 @@ class ComponentFunctionEntrypointNameNullError(HTTPException):
|
|||
|
||||
|
||||
class Component(BaseModel):
|
||||
ERROR_CODE_NULL: ClassVar[Dict] = "Python code must be provided."
|
||||
ERROR_CODE_NULL: ClassVar[str] = "Python code must be provided."
|
||||
ERROR_FUNCTION_ENTRYPOINT_NAME_NULL: ClassVar[
|
||||
Dict
|
||||
str
|
||||
] = "The name of the entrypoint function must be provided."
|
||||
|
||||
code: Optional[str] = None
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from typing import Any, Callable, ClassVar, List, Optional, Union, Dict
|
||||
from typing import Any, Callable, ClassVar, List, Optional, Union
|
||||
from uuid import UUID
|
||||
from fastapi import HTTPException
|
||||
from langflow.field_typing.constants import CUSTOM_COMPONENT_SUPPORTED_TYPES
|
||||
|
|
@ -19,8 +19,8 @@ class CustomComponent(Component, extra="allow"):
|
|||
description = "Custom Component"
|
||||
code: Optional[str] = None
|
||||
field_config: dict = {}
|
||||
code_class_base_inheritance: ClassVar[Dict] = "CustomComponent"
|
||||
function_entrypoint_name: ClassVar[Dict] = "build"
|
||||
code_class_base_inheritance: ClassVar[str] = "CustomComponent"
|
||||
function_entrypoint_name: ClassVar[str] = "build"
|
||||
function: Optional[Callable] = None
|
||||
return_type_valid_list: List[str] = list(CUSTOM_COMPONENT_SUPPORTED_TYPES.keys())
|
||||
repr_value: Optional[Any] = ""
|
||||
|
|
|
|||
|
|
@ -196,7 +196,7 @@ def initialize_chroma(class_object: Type[Chroma], params: dict):
|
|||
params.pop("documents", None)
|
||||
params.pop("texts", None)
|
||||
params["embedding_function"] = params.pop("embedding")
|
||||
chromadb = class_object(**params)
|
||||
chromadb_instance = class_object(**params)
|
||||
else:
|
||||
if "texts" in params:
|
||||
params["documents"] = params.pop("texts")
|
||||
|
|
@ -211,10 +211,10 @@ def initialize_chroma(class_object: Type[Chroma], params: dict):
|
|||
if value is None:
|
||||
doc.metadata[key] = ""
|
||||
|
||||
chromadb = class_object.from_documents(**params)
|
||||
chromadb_instance = class_object.from_documents(**params)
|
||||
if persist:
|
||||
chromadb.persist()
|
||||
return chromadb
|
||||
chromadb_instance.persist()
|
||||
return chromadb_instance
|
||||
|
||||
|
||||
def initialize_qdrant(class_object: Type[Qdrant], params: dict):
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ class DatabaseService(Service):
|
|||
legacy_tables = ["flowstyle"]
|
||||
|
||||
for table, model in model_mapping.items():
|
||||
expected_columns = list(model.__fields__.keys())
|
||||
expected_columns = list(model.model_fields.keys())
|
||||
|
||||
try:
|
||||
available_columns = [
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
from sqlmodel import SQLModel
|
||||
import orjson
|
||||
from pydantic import ConfigDict
|
||||
|
||||
|
||||
def orjson_dumps(v, *, default=None, sort_keys=False, indent_2=True):
|
||||
|
|
@ -22,8 +21,4 @@ def orjson_dumps(v, *, default=None, sort_keys=False, indent_2=True):
|
|||
class SQLModelSerializable(SQLModel):
|
||||
# TODO[pydantic]: The following keys were removed: `json_loads`, `json_dumps`.
|
||||
# Check https://docs.pydantic.dev/dev-v2/migration/#changes-to-config for more information.
|
||||
model_config = ConfigDict(
|
||||
from_attributes=True,
|
||||
# json_loads=orjson.loads,
|
||||
# json_dumps=orjson_dumps
|
||||
)
|
||||
pass
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Path: src/backend/langflow/database/models/flow.py
|
||||
|
||||
from langflow.services.database.models.base import SQLModelSerializable
|
||||
from pydantic import validator
|
||||
from pydantic import field_validator
|
||||
|
||||
from sqlmodel import Field, JSON, Column, Relationship
|
||||
from uuid import UUID, uuid4
|
||||
|
|
@ -16,7 +16,7 @@ class FlowBase(SQLModelSerializable):
|
|||
description: Optional[str] = Field(index=True, nullable=True, default=None)
|
||||
data: Optional[Dict] = Field(default=None, nullable=True)
|
||||
|
||||
@validator("data")
|
||||
@field_validator("data")
|
||||
def validate_json(v):
|
||||
if not v:
|
||||
return v
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ from typing import Optional, List
|
|||
from pathlib import Path
|
||||
|
||||
import yaml
|
||||
from pydantic import root_validator, validator
|
||||
from pydantic import validator, model_validator
|
||||
from pydantic_settings import BaseSettings
|
||||
from langflow.utils.logger import logger
|
||||
|
||||
|
|
@ -88,7 +88,7 @@ class Settings(BaseSettings):
|
|||
extra = "ignore"
|
||||
env_prefix = "LANGFLOW_"
|
||||
|
||||
@root_validator(allow_reuse=True)
|
||||
@model_validator(mode="after")
|
||||
def validate_lists(cls, values):
|
||||
for key, value in values.items():
|
||||
if key != "dev" and not value:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue