File size: 1,325 Bytes
c124df1
 
7aab4a8
c124df1
9e2a95f
 
 
 
 
c124df1
 
9e2a95f
 
5894c9b
7c1f337
9e2a95f
7aab4a8
7c1f337
 
391d6e2
f0ba5e1
391d6e2
 
 
7c1f337
c124df1
 
b401ec2
c124df1
 
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
from pydantic import Field
from pydantic_settings import BaseSettings
from typing import Dict, Any

class MockStatus():
    # Required for headless mode
    def update(self, *args, **kwargs):
        print("MockStatus update called with args: ", args, " and kwargs: ", kwargs)

class Config(BaseSettings):
    hf_token: str = Field(...)
    hf_model: str = Field("InvestmentResearchAI/LLM-ADE-dev") # We need this because I can't get the model template out of the ollama model
    ollama_model: str = Field("llama3")
    headless: bool = Field(False, description="Run in headless mode.")

    status: Any = MockStatus()

    az_search_endpoint: str = Field("https://analysis-bank.search.windows.net")
    az_search_api_key: str = Field(...)
    az_search_idx_name: str = Field("analysis-index-2024-05-19")
    az_search_top_k: int = Field(4, description="Max number of results to retrun")
    
    azure_openai_api_key: str = Field(...)
    azure_openai_endpoint: str = Field("https://irai-openai-eastus.openai.azure.com/")

    chat_template: str = Field("chatml", description="Chat template for prompt formatting")
    num_fewshot: int | None = Field(None, description="Option to use json mode examples")
    max_depth: int = Field(3, description="Maximum number of recursive iteration")

config = Config(_env_file=".env")