MCPcopy Create free account
hub / github.com/clockworknowledge/menome_processor / AppConfig

Class AppConfig

config.py:4–61  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2from decouple import Config, RepositoryEnv
3
4class AppConfig:
5 DOTENV_FILE = '/code/config/.env'
6 config = Config(RepositoryEnv(DOTENV_FILE))
7
8 # Database Configurations
9 NEO4J_URI = config.get('NEO4J_URI', default='bolt://localhost:7687')
10 NEO4J_USER = config.get('NEO4J_USER', default='neo4j')
11 NEO4J_PASSWORD = config('NEO4J_PASSWORD')
12 NEO4J_INDEX_NAME = config('NEO4J_INDEX_NAME', default='typical_rag')
13 NEO4J_CHUNK_LABEL = config('NEO4J_CHUNK_LABEL', default='Child')
14 NEO4J_CHUNK_TEXT_PROPERTY = config('NEO4J_CHUNK_TEXT_PROPERTY', default='text')
15 NEO4J_CHUNK_EMBEDDING_PROPERTY = config('NEO4J_CHUNK_EMBEDDING_PROPERTY', default='embedding')
16
17 # DEFAULT USER:
18 DEFAULT_USER_UUID = config('DEFAULT_USER_UUID', default='00000000-0000-0000-0000-000000000000')
19 DEFAULT_USER_USERNAME = config('DEFAULT_USER_USERNAME', default='admin')
20 DEFAULT_USER_EMAIL = config('DEFAULT_USER_EMAIL',
21 default='test@test.com')
22 DEFAULT_USER_NAME = config('DEFAULT_USER_NAME', default='Admin')
23 DEFAULT_USER_PASSWORD = config('DEFAULT_USER_PASSWORD', default='test')
24
25 # OpenAI Configuration
26 OPENAI_API_KEY = config('OPENAI_API_KEY')
27 EMBEDDING_DIMENSION = config('EMBEDDING_DIMENSION', cast=int, default=1536)
28 OPENAI_CHAT_MODEL = config('OPENAI_CHAT_MODEL', default='gpt-4-1106-preview')
29
30 RABBITMQ_HOST = config('RABBMITMQ_HOST', default='localhost')
31 RABBITMQ_PORT = config('RABBMITMQ_PORT', cast=int, default=5672)
32 RABBITMQ_USER = config('RABBITMQ_USER', default='admin')
33 RABBITMQ_PASSWORD = config('RABBITMQ_PASSWORD', default='brier23glrefy!')
34
35 # Celery Configuration
36 CELERY_BROKER_URL = config.get('CELERY_BROKER_URL', default='amqp://guest:guest@rabbit:5672//')
37 CELERY_RESULT_BACKEND_URL = config.get('CELERY_RESULT_BACKEND_URL', default='rpc://')
38
39
40 # State processing messages:
41 # Task states and celery configuration
42 PROCESSING_DOCUMENT = 'PROCESSING_DOCUMENT'
43 PROCESSING_QUESTIONS = 'PROCESSING_QUESTIONS'
44 PROCESSING_SUMMARY = 'PROCESSING_SUMMARY'
45 PROCESSING_DONE = 'PROCESSING_DONE'
46 PROCESSING_FAILED = 'PROCESSING_FAILED'
47 PROCESSING_PAGES = 'PROCESSING_PAGES'
48
49 # Other Configurations
50 MAX_QUESTIONS_PER_PAGE = config('MAX_QUESTIONS_PER_PAGE', cast=int, default=2)
51 SECRET_KEY=config('SECRET_KEY')
52 ALGORITHM=config('ALGORITHM')
53 TEST_DOCUMENT_URL = "https://en.wikipedia.org/wiki/As_We_May_Think"
54 ACCESS_TOKEN_EXPIRE_MINUTES = config('ACCESS_TOKEN_EXPIRE_MINUTES', cast=int, default=30)
55
56 @staticmethod
57 def initialize_environment_variables():
58 os.environ["OPENAI_API_KEY"] = AppConfig.OPENAI_API_KEY
59 os.environ["NEO4J_URI"] = AppConfig.NEO4J_URI
60 os.environ["NEO4J_USERNAME"] = AppConfig.NEO4J_USER
61 os.environ["NEO4J_PASSWORD"] = AppConfig.NEO4J_PASSWORD

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected