[Bug fix] Fix issue of missing user directory (#975)

This commit is contained in:
Deshraj Yadav
2023-11-24 09:26:59 -08:00
committed by GitHub
parent 58f72e1ffe
commit 1df46b2bb3
6 changed files with 14 additions and 19 deletions

View File

@@ -6,3 +6,6 @@ from embedchain.apps.app import App # noqa: F401
from embedchain.client import Client # noqa: F401
from embedchain.pipeline import Pipeline # noqa: F401
from embedchain.vectordb.chroma import ChromaDB # noqa: F401
# Setup the user directory if doesn't exist already
Client.setup_dir()

View File

@@ -2,9 +2,7 @@ from typing import Optional
import yaml
from embedchain.client import Client
from embedchain.config import (AppConfig, BaseEmbedderConfig, BaseLlmConfig,
ChunkerConfig)
from embedchain.config import AppConfig, BaseEmbedderConfig, BaseLlmConfig, ChunkerConfig
from embedchain.config.vectordb.base import BaseVectorDbConfig
from embedchain.embedchain import EmbedChain
from embedchain.embedder.base import BaseEmbedder
@@ -68,9 +66,6 @@ class App(EmbedChain):
:type system_prompt: Optional[str], optional
:raises TypeError: LLM, database or embedder or their config is not a valid class instance.
"""
# Setup user directory if it doesn't exist already
Client.setup_dir()
# Type check configs
if config and not isinstance(config, AppConfig):
raise TypeError(
@@ -134,9 +129,6 @@ class App(EmbedChain):
:return: An instance of the App class.
:rtype: App
"""
# Setup user directory if it doesn't exist already
Client.setup_dir()
with open(yaml_path, "r") as file:
config_data = yaml.safe_load(file)

View File

@@ -16,8 +16,7 @@ from embedchain.embedder.base import BaseEmbedder
from embedchain.helpers.json_serializable import JSONSerializable
from embedchain.llm.base import BaseLlm
from embedchain.loaders.base_loader import BaseLoader
from embedchain.models.data_type import (DataType, DirectDataType,
IndirectDataType, SpecialDataType)
from embedchain.models.data_type import DataType, DirectDataType, IndirectDataType, SpecialDataType
from embedchain.telemetry.posthog import AnonymousTelemetry
from embedchain.utils import detect_datatype, is_valid_json_string
from embedchain.vectordb.base import BaseVectorDB

View File

@@ -24,6 +24,10 @@ from embedchain.vectordb.base import BaseVectorDB
from embedchain.vectordb.chroma import ChromaDB
# Setup the user directory if doesn't exist already
Client.setup_dir()
@register_deserializable
class Pipeline(EmbedChain):
"""
@@ -64,9 +68,6 @@ class Pipeline(EmbedChain):
:type auto_deploy: bool, optional
:raises Exception: If an error occurs while creating the pipeline
"""
# Setup user directory if it doesn't exist already
Client.setup_dir()
if id and yaml_path:
raise Exception("Cannot provide both id and config. Please provide only one of them.")
@@ -357,9 +358,6 @@ class Pipeline(EmbedChain):
:return: An instance of the Pipeline class.
:rtype: Pipeline
"""
# Setup user directory if it doesn't exist already
Client.setup_dir()
with open(yaml_path, "r") as file:
config_data = yaml.safe_load(file)

View File

@@ -10,7 +10,7 @@ from typing import cast
from openai import OpenAI
from openai.types.beta.threads import MessageContentText, ThreadMessage
from embedchain import Pipeline
from embedchain import Client, Pipeline
from embedchain.config import AddConfig
from embedchain.data_formatter import DataFormatter
from embedchain.models.data_type import DataType
@@ -19,6 +19,9 @@ from embedchain.utils import detect_datatype
logging.basicConfig(level=logging.WARN)
# Setup the user directory if doesn't exist already
Client.setup_dir()
class OpenAIAssistant:
def __init__(