Refactor user data handling and enhance chat functionality

- Removed deprecated user_info files and paths from configuration.
- Added user soil data integration in chat context to improve response accuracy.
- Updated build_rag_context and chat_rag_stream functions to include sensor_uuid for user-specific data retrieval.
- Enhanced load_sources function to load user data from the database.
- Implemented filtering in search_with_query and QdrantVectorStore to isolate user data based on sensor_uuid.
- Introduced Celery Beat schedule for periodic user data ingestion.
This commit is contained in:
2026-02-27 20:06:46 +03:30
parent 94355af62b
commit 2c42ebe01c
13 changed files with 246 additions and 89 deletions
+6
View File
@@ -8,12 +8,17 @@ from .vector_store import QdrantVectorStore
def search_with_query(
query: str,
sensor_uuid: str,
limit: int = 5,
score_threshold: float | None = None,
config: RAGConfig | None = None,
) -> list[dict]:
"""
کوئری را embed می‌کند و در vector store جستجو می‌کند.
فقط chunks مربوط به sensor_uuid یا __global__ برمی‌گردد (ایزوله‌سازی کاربر).
Args:
sensor_uuid: شناسه سنسور کاربر — اجباری برای امنیت
Returns:
لیست نتایج با id, score, text, metadata
@@ -25,4 +30,5 @@ def search_with_query(
query_vector=query_vector,
limit=limit,
score_threshold=score_threshold,
sensor_uuid=sensor_uuid,
)