Files
eveAI/eveai_chat_workers/__init__.py
Josako 25213f2004 - Implementation of specialist execution api, including SSE protocol
- eveai_chat becomes deprecated and should be replaced with SSE
- Adaptation of STANDARD_RAG specialist
- Base class definition allowing to realise specialists with crewai framework
- Implementation of SPIN_SPECIALIST
- Implementation of test app for testing specialists (test_specialist_client). Also serves as an example for future SSE-based client
- Improvements to startup scripts to better handle and scale multiple connections
- Small improvements to the interaction forms and views
- Caching implementation improved and augmented with additional caches
2025-02-20 05:50:16 +01:00

61 lines
1.7 KiB
Python

import logging
import logging.config
from flask import Flask
import os
from common.langchain.templates.template_manager import TemplateManager
from common.utils.celery_utils import make_celery, init_celery
from common.extensions import db, template_manager, cache_manager
from config.logging_config import LOGGING
from config.config import get_config
def create_app(config_file=None):
app = Flask(__name__)
environment = os.getenv('FLASK_ENV', 'development')
match environment:
case 'development':
app.config.from_object(get_config('dev'))
case 'production':
app.config.from_object(get_config('prod'))
case _:
app.config.from_object(get_config('dev'))
logging.config.dictConfig(LOGGING)
app.logger.info('Starting up eveai_chat_workers...')
register_extensions(app)
from . import specialists, retrievers
celery = make_celery(app.name, app.config)
init_celery(celery, app)
register_cache_handlers(app)
from eveai_chat_workers import tasks
print(tasks.tasks_ping())
return app, celery
def register_extensions(app):
db.init_app(app)
cache_manager.init_app(app)
template_manager.init_app(app)
def register_cache_handlers(app):
from common.utils.cache.config_cache import register_config_cache_handlers
register_config_cache_handlers(cache_manager)
from common.utils.cache.crewai_processed_config_cache import register_specialist_cache_handlers
register_specialist_cache_handlers(cache_manager)
from eveai_chat_workers.chat_session_cache import register_chat_session_cache_handlers
register_chat_session_cache_handlers(cache_manager)
app, celery = create_app()