Atualização do ChromaComponent adicionando campos que havia na versão antiga
This commit is contained in:
parent
5e7681ea09
commit
5fd3da010e
2 changed files with 46 additions and 0 deletions
6
Makefile
6
Makefile
|
|
@ -40,6 +40,12 @@ install_frontendc:
|
||||||
run_frontend:
|
run_frontend:
|
||||||
cd src/frontend && npm start
|
cd src/frontend && npm start
|
||||||
|
|
||||||
|
run_cli:
|
||||||
|
poetry run langflow --path src/frontend/build
|
||||||
|
|
||||||
|
run_cli_debug:
|
||||||
|
poetry run langflow --path src/frontend/build --log-level debug
|
||||||
|
|
||||||
setup_devcontainer:
|
setup_devcontainer:
|
||||||
make init
|
make init
|
||||||
make build_frontend
|
make build_frontend
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ from langchain.schema import Document
|
||||||
from langchain.vectorstores.base import VectorStore
|
from langchain.vectorstores.base import VectorStore
|
||||||
from langchain.schema import BaseRetriever
|
from langchain.schema import BaseRetriever
|
||||||
from langchain.embeddings.base import Embeddings
|
from langchain.embeddings.base import Embeddings
|
||||||
|
import chromadb
|
||||||
|
|
||||||
|
|
||||||
class ChromaComponent(CustomComponent):
|
class ChromaComponent(CustomComponent):
|
||||||
|
|
@ -32,15 +33,34 @@ class ChromaComponent(CustomComponent):
|
||||||
"code": {"show": False, "display_name": "Code"},
|
"code": {"show": False, "display_name": "Code"},
|
||||||
"documents": {"display_name": "Documents", "is_list": True},
|
"documents": {"display_name": "Documents", "is_list": True},
|
||||||
"embedding": {"display_name": "Embedding"},
|
"embedding": {"display_name": "Embedding"},
|
||||||
|
"chroma_server_cors_allow_origins": {
|
||||||
|
"display_name": "Server CORS Allow Origins",
|
||||||
|
"advanced": True,
|
||||||
|
},
|
||||||
|
"chroma_server_host": {"display_name": "Server Host", "advanced": True},
|
||||||
|
"chroma_server_port": {"display_name": "Server Port", "advanced": True},
|
||||||
|
"chroma_server_grpc_port": {
|
||||||
|
"display_name": "Server gRPC Port",
|
||||||
|
"advanced": True,
|
||||||
|
},
|
||||||
|
"chroma_server_ssl_enabled": {
|
||||||
|
"display_name": "Server SSL Enabled",
|
||||||
|
"advanced": True,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
def build(
|
def build(
|
||||||
self,
|
self,
|
||||||
collection_name: str,
|
collection_name: str,
|
||||||
persist: bool,
|
persist: bool,
|
||||||
|
chroma_server_ssl_enabled: bool,
|
||||||
persist_directory: Optional[str] = None,
|
persist_directory: Optional[str] = None,
|
||||||
embedding: Optional[Embeddings] = None,
|
embedding: Optional[Embeddings] = None,
|
||||||
documents: Optional[Document] = None,
|
documents: Optional[Document] = None,
|
||||||
|
chroma_server_cors_allow_origins: Optional[str] = None,
|
||||||
|
chroma_server_host: Optional[str] = None,
|
||||||
|
chroma_server_port: Optional[int] = None,
|
||||||
|
chroma_server_grpc_port: Optional[int] = None,
|
||||||
) -> Union[VectorStore, BaseRetriever]:
|
) -> Union[VectorStore, BaseRetriever]:
|
||||||
"""
|
"""
|
||||||
Builds the Vector Store or BaseRetriever object.
|
Builds the Vector Store or BaseRetriever object.
|
||||||
|
|
@ -48,13 +68,32 @@ class ChromaComponent(CustomComponent):
|
||||||
Args:
|
Args:
|
||||||
- collection_name (str): The name of the collection.
|
- collection_name (str): The name of the collection.
|
||||||
- persist_directory (Optional[str]): The directory to persist the Vector Store to.
|
- persist_directory (Optional[str]): The directory to persist the Vector Store to.
|
||||||
|
- chroma_server_ssl_enabled (bool): Whether to enable SSL for the Chroma server.
|
||||||
- persist (bool): Whether to persist the Vector Store or not.
|
- persist (bool): Whether to persist the Vector Store or not.
|
||||||
- embedding (Optional[Embeddings]): The embeddings to use for the Vector Store.
|
- embedding (Optional[Embeddings]): The embeddings to use for the Vector Store.
|
||||||
- documents (Optional[Document]): The documents to use for the Vector Store.
|
- documents (Optional[Document]): The documents to use for the Vector Store.
|
||||||
|
- chroma_server_cors_allow_origins (Optional[str]): The CORS allow origins for the Chroma server.
|
||||||
|
- chroma_server_host (Optional[str]): The host for the Chroma server.
|
||||||
|
- chroma_server_port (Optional[int]): The port for the Chroma server.
|
||||||
|
- chroma_server_grpc_port (Optional[int]): The gRPC port for the Chroma server.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
- Union[VectorStore, BaseRetriever]: The Vector Store or BaseRetriever object.
|
- Union[VectorStore, BaseRetriever]: The Vector Store or BaseRetriever object.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
# Chroma settings
|
||||||
|
chroma_settings = None
|
||||||
|
|
||||||
|
if chroma_server_host is not None:
|
||||||
|
chroma_settings = chromadb.config.Settings(
|
||||||
|
chroma_server_cors_allow_origins=chroma_server_cors_allow_origins
|
||||||
|
or None,
|
||||||
|
chroma_server_host=chroma_server_host,
|
||||||
|
chroma_server_port=chroma_server_port or None,
|
||||||
|
chroma_server_grpc_port=chroma_server_grpc_port or None,
|
||||||
|
chroma_server_ssl_enabled=chroma_server_ssl_enabled,
|
||||||
|
)
|
||||||
|
|
||||||
# If documents, then we need to create a Chroma instance using .from_documents
|
# If documents, then we need to create a Chroma instance using .from_documents
|
||||||
if documents is not None and embedding is not None:
|
if documents is not None and embedding is not None:
|
||||||
return Chroma.from_documents(
|
return Chroma.from_documents(
|
||||||
|
|
@ -62,6 +101,7 @@ class ChromaComponent(CustomComponent):
|
||||||
persist_directory=persist_directory if persist else None,
|
persist_directory=persist_directory if persist else None,
|
||||||
collection_name=collection_name,
|
collection_name=collection_name,
|
||||||
embedding=embedding,
|
embedding=embedding,
|
||||||
|
client_settings=chroma_settings,
|
||||||
)
|
)
|
||||||
|
|
||||||
return Chroma(
|
return Chroma(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue