File size: 1,955 Bytes
9c0dccd
6d7d653
 
3e68ccf
 
 
 
 
 
 
 
 
1d82a0b
 
3e68ccf
 
da03db8
3e68ccf
724babe
c6643c7
 
469fc38
3e68ccf
 
e55d16a
1dbc12d
a42e3cf
3e68ccf
c0b5a2b
 
 
8537019
c0b5a2b
 
 
8537019
c0b5a2b
 
 
8537019
c0b5a2b
 
9c0dccd
da03db8
 
 
 
 
 
 
 
 
9c0dccd
 
 
 
 
 
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
57
58
59
import logging
import os

from dataclasses import dataclass
from dotenv import load_dotenv


load_dotenv()


@dataclass(frozen=True)
class GlobalConfig:
    HF_LLM_MODEL_NAME = 'mistralai/Mistral-7B-Instruct-v0.2'
    LLM_MODEL_TEMPERATURE: float = 0.2
    LLM_MODEL_MIN_OUTPUT_LENGTH: int = 50
    LLM_MODEL_MAX_OUTPUT_LENGTH: int = 2000
    LLM_MODEL_MAX_INPUT_LENGTH: int = 100

    HUGGINGFACEHUB_API_TOKEN = os.environ.get('HUGGINGFACEHUB_API_TOKEN', '')
    METAPHOR_API_KEY = os.environ.get('METAPHOR_API_KEY', '')

    LOG_LEVEL = 'DEBUG'
    APP_STRINGS_FILE = 'strings.json'
    PRELOAD_DATA_FILE = 'examples/example_02.json'
    SLIDES_TEMPLATE_FILE = 'langchain_templates/template_combined.txt'
    JSON_TEMPLATE_FILE = 'langchain_templates/text_to_json_template_02.txt'
    CHAT_TEMPLATE_FILE = 'langchain_templates/template_combined_chat_history.txt'

    PPTX_TEMPLATE_FILES = {
        'Blank': {
            'file': 'pptx_templates/Blank.pptx',
            'caption': 'A good start'
        },
        'Ion Boardroom': {
            'file': 'pptx_templates/Ion_Boardroom.pptx',
            'caption': 'Make some bold decisions'
        },
        'Urban Monochrome': {
            'file': 'pptx_templates/Urban_monochrome.pptx',
            'caption': 'Marvel in a monochrome dream'
        }
    }

    CHAT_USAGE_INSTRUCTIONS = (
        'Briefly describe your topic of presentation in the textbox provided below.'
        ' Subsequently, you can add follow-up instructions, e.g., "Can you add a slide on GPUs?"'
        ' You can also ask AI to refine any particular slide, e.g., "Make the slide with title'
        ' \'Examples of AI\' a bit more descriptive."'
        '\n\n'
        'SlideDeck AI generates only text content. It does not have access to the Internet.'
    )


logging.basicConfig(
    level=GlobalConfig.LOG_LEVEL,
    format='%(asctime)s - %(levelname)s - %(name)s - %(message)s',
    datefmt='%Y-%m-%d %H:%M:%S'
)