File size: 1,130 Bytes
f2d60b7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8ec4610
f2d60b7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import os
from openai.types.chat import ChatCompletionMessageParam
import sys
from dotenv import load_dotenv
from pydantic import BaseModel
from loguru import logger


load_dotenv()


# Pydantic models
class Chunk(BaseModel):
    main_title: str
    chunk_title: str
    content: str


class Query(BaseModel):
    prompt: str
    doc_name: str
    context: list[ChatCompletionMessageParam]


class TableList(BaseModel):
    tables: list[str]


# CONFIG VARS
SEARCH_K_EMBEDDINGS = 3
HISTORY_LEN = 6

EMBEDDING_MODEL = "text-embedding-3-large"


# ENV VARS
DEPLOY_FE_URL = os.getenv("DEPLOY_FE_URL")
LOCAL_FE_URL = os.getenv("LOCAL_FE_URL", "http://localhost:8501")

DATABASE_URL = os.getenv("DB_URL")

OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")

LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO").upper()


# LOGGING
def setup_logging() -> None:
    logger.remove()
    logger.add(
        sys.stdout,
        format="<green>{time:YYYY-MM-DD HH:mm:ss}</green> | <level>{level: <8}</level> | <cyan>{name}</cyan>:<cyan>{function}</cyan>:<cyan>{line}</cyan> - <level>{message}</level>",
        level=LOG_LEVEL,
        enqueue=True,
    )