Spaces:
Build error
Build error
Commit
·
b0f8541
1
Parent(s):
be9a762
RAG
Browse files- app/main.py +11 -2
app/main.py
CHANGED
@@ -12,7 +12,8 @@ from pydantic import BaseModel, ValidationError
|
|
12 |
from app.services.message import generate_reply, send_reply
|
13 |
import logging
|
14 |
from datetime import datetime
|
15 |
-
import
|
|
|
16 |
from contextlib import asynccontextmanager
|
17 |
# from app.db.database import create_indexes, init_db
|
18 |
from app.services.webhook_handler import verify_webhook
|
@@ -22,6 +23,7 @@ from app.handlers.media_handler import WhatsAppMediaHandler
|
|
22 |
from app.services.cache import MessageCache
|
23 |
from app.services.chat_manager import ChatManager
|
24 |
from app.api.api_prompt import prompt_router
|
|
|
25 |
from app.utils.load_env import ACCESS_TOKEN, WHATSAPP_API_URL, GEMINI_API
|
26 |
|
27 |
# Configure logging
|
@@ -49,6 +51,11 @@ async def setup_message_handler():
|
|
49 |
media_handler=media_handler,
|
50 |
logger=logger
|
51 |
)
|
|
|
|
|
|
|
|
|
|
|
52 |
# Initialize FastAPI app
|
53 |
@asynccontextmanager
|
54 |
async def lifespan(app: FastAPI):
|
@@ -58,7 +65,9 @@ async def lifespan(app: FastAPI):
|
|
58 |
# await init_db()
|
59 |
|
60 |
logger.info("Connected to the MongoDB database!")
|
|
|
61 |
|
|
|
62 |
|
63 |
global message_handler, webhook_handler
|
64 |
message_handler = await setup_message_handler()
|
@@ -80,7 +89,7 @@ app.add_middleware(SlowAPIMiddleware)
|
|
80 |
|
81 |
# app.include_router(users.router, prefix="/users", tags=["Users"])
|
82 |
app.include_router(prompt_router, prefix="/prompts", tags=["Prompts"])
|
83 |
-
|
84 |
# Prometheus metrics
|
85 |
webhook_requests = Counter('webhook_requests_total', 'Total webhook requests')
|
86 |
webhook_processing_time = Histogram('webhook_processing_seconds', 'Time spent processing webhook')
|
|
|
12 |
from app.services.message import generate_reply, send_reply
|
13 |
import logging
|
14 |
from datetime import datetime
|
15 |
+
from sentence_transformers import SentenceTransformer
|
16 |
+
from app.search.rag_pipeline import RAGSystem
|
17 |
from contextlib import asynccontextmanager
|
18 |
# from app.db.database import create_indexes, init_db
|
19 |
from app.services.webhook_handler import verify_webhook
|
|
|
23 |
from app.services.cache import MessageCache
|
24 |
from app.services.chat_manager import ChatManager
|
25 |
from app.api.api_prompt import prompt_router
|
26 |
+
from app.api.api_file import file_router
|
27 |
from app.utils.load_env import ACCESS_TOKEN, WHATSAPP_API_URL, GEMINI_API
|
28 |
|
29 |
# Configure logging
|
|
|
51 |
media_handler=media_handler,
|
52 |
logger=logger
|
53 |
)
|
54 |
+
async def setup_rag_system():
|
55 |
+
embedding_model = SentenceTransformer('all-MiniLM-L6-v2') # Replace with your model if different
|
56 |
+
rag_system = RAGSystem(embedding_model)
|
57 |
+
|
58 |
+
return rag_system
|
59 |
# Initialize FastAPI app
|
60 |
@asynccontextmanager
|
61 |
async def lifespan(app: FastAPI):
|
|
|
65 |
# await init_db()
|
66 |
|
67 |
logger.info("Connected to the MongoDB database!")
|
68 |
+
rag_system = await setup_rag_system()
|
69 |
|
70 |
+
app.state.rag_system = rag_system
|
71 |
|
72 |
global message_handler, webhook_handler
|
73 |
message_handler = await setup_message_handler()
|
|
|
89 |
|
90 |
# app.include_router(users.router, prefix="/users", tags=["Users"])
|
91 |
app.include_router(prompt_router, prefix="/prompts", tags=["Prompts"])
|
92 |
+
app.include_router(file_router, prefix="/file_load", tags=["File Load"])
|
93 |
# Prometheus metrics
|
94 |
webhook_requests = Counter('webhook_requests_total', 'Total webhook requests')
|
95 |
webhook_processing_time = Histogram('webhook_processing_seconds', 'Time spent processing webhook')
|