Fix Dockerfile build issue
This commit is contained in:
113
autorag/__init__.py
Normal file
113
autorag/__init__.py
Normal file
@@ -0,0 +1,113 @@
|
||||
import logging
|
||||
import logging.config
|
||||
import os
|
||||
import sys
|
||||
from random import random
|
||||
from typing import List, Any
|
||||
|
||||
from llama_index.core.embeddings.mock_embed_model import MockEmbedding
|
||||
from llama_index.core.base.llms.types import CompletionResponse
|
||||
from llama_index.core.llms.mock import MockLLM
|
||||
from llama_index.llms.bedrock import Bedrock
|
||||
from llama_index.embeddings.openai import OpenAIEmbedding
|
||||
from llama_index.embeddings.openai import OpenAIEmbeddingModelType
|
||||
|
||||
from llama_index.llms.openai import OpenAI
|
||||
from llama_index.llms.openai_like import OpenAILike
|
||||
from langchain_openai.embeddings import OpenAIEmbeddings
|
||||
from rich.logging import RichHandler
|
||||
|
||||
from llama_index.llms.ollama import Ollama
|
||||
|
||||
version_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "VERSION")
|
||||
|
||||
with open(version_path, "r") as f:
|
||||
__version__ = f.read().strip()
|
||||
|
||||
|
||||
class LazyInit:
|
||||
def __init__(self, factory, *args, **kwargs):
|
||||
self._factory = factory
|
||||
self._args = args
|
||||
self._kwargs = kwargs
|
||||
self._instance = None
|
||||
|
||||
def __call__(self):
|
||||
if self._instance is None:
|
||||
self._instance = self._factory(*self._args, **self._kwargs)
|
||||
return self._instance
|
||||
|
||||
def __getattr__(self, name):
|
||||
if self._instance is None:
|
||||
self._instance = self._factory(*self._args, **self._kwargs)
|
||||
return getattr(self._instance, name)
|
||||
|
||||
|
||||
rich_format = "[%(filename)s:%(lineno)s] >> %(message)s"
|
||||
logging.basicConfig(
|
||||
level="INFO", format=rich_format, handlers=[RichHandler(rich_tracebacks=True)]
|
||||
)
|
||||
logger = logging.getLogger("AutoRAG")
|
||||
|
||||
|
||||
def handle_exception(exc_type, exc_value, exc_traceback):
|
||||
logger = logging.getLogger("AutoRAG")
|
||||
logger.error("Unexpected exception", exc_info=(exc_type, exc_value, exc_traceback))
|
||||
|
||||
|
||||
sys.excepthook = handle_exception
|
||||
|
||||
|
||||
class AutoRAGBedrock(Bedrock):
|
||||
async def acomplete(
|
||||
self, prompt: str, formatted: bool = False, **kwargs: Any
|
||||
) -> CompletionResponse:
|
||||
return self.complete(prompt, formatted=formatted, **kwargs)
|
||||
|
||||
|
||||
generator_models = {
|
||||
"openai": OpenAI,
|
||||
"openailike": OpenAILike,
|
||||
"mock": MockLLM,
|
||||
"bedrock": AutoRAGBedrock,
|
||||
"ollama": Ollama,
|
||||
}
|
||||
|
||||
# embedding_models = {
|
||||
|
||||
# }
|
||||
|
||||
try:
|
||||
from llama_index.llms.huggingface import HuggingFaceLLM
|
||||
from llama_index.llms.ollama import Ollama
|
||||
|
||||
generator_models["huggingfacellm"] = HuggingFaceLLM
|
||||
generator_models["ollama"] = Ollama
|
||||
|
||||
except ImportError:
|
||||
logger.info(
|
||||
"You are using API version of AutoRAG. "
|
||||
"To use local version, run pip install 'AutoRAG[gpu]'"
|
||||
)
|
||||
|
||||
# try:
|
||||
# from llama_index.embeddings.huggingface import HuggingFaceEmbedding
|
||||
# embedding_models["hf_all_mpnet_base_v2"] = HuggingFaceEmbedding # 250312 변경 - 김용연
|
||||
# embedding_models["hf_KURE-v1"] = HuggingFaceEmbedding # 250312 변경 - 김용연
|
||||
# embedding_models["hf_snowflake-arctic-embed-l-v2.0-ko"] = HuggingFaceEmbedding # 250313 변경 - 김용연
|
||||
|
||||
# except ImportError:
|
||||
# logger.info(
|
||||
# "You are using API version of AutoRAG."
|
||||
# "To use local version, run pip install 'AutoRAG[gpu]'"
|
||||
# )
|
||||
|
||||
try:
|
||||
import transformers
|
||||
|
||||
transformers.logging.set_verbosity_error()
|
||||
except ImportError:
|
||||
logger.info(
|
||||
"You are using API version of AutoRAG."
|
||||
"To use local version, run pip install 'AutoRAG[gpu]'"
|
||||
)
|
||||
Reference in New Issue
Block a user