ingest whole textbooks chapter by chapter, resumably
نقشهی فیزیکیِ کتابها (افستِ صفحه، بازهی هر فصل، درسهای داخلِ فصل از فهرستِ خودِ کتاب) در rag/services/textbooks.py ثبت شد تا عنوانِ فصل از کتاب بیاید نه از حدسِ مدل — رشتهی فصل باید دقیقاً بینِ ingest و retrieval یکی باشد وگرنه نتیجه بیسروصدا خالی برمیگردد. rag_ingest_book کتاب را فصلبهفصل ingest میکند و قابلِ ازسرگیری است: rag.IngestedPage نشانهی «این صفحه پردازش شد» را نگه میدارد حتی وقتی صفحه chunkی نساخته، وگرنه هر بار اجرای دوباره بابتِ صفحههای بیمسئله دوباره پول میگرفت. --plan هزینه را رایگان برآورد میکند. rag_import_collection نقاطِ موجودِ Qdrant را در LessonChunk میریزد — فقط میخواند، رایگان و idempotent، برای پایههایی که تیمِ دیگر ingest کرده بود. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -19,7 +19,14 @@ def rag_is_configured() -> bool:
|
||||
|
||||
|
||||
def resolve_grade_title(grade_id, fallback: str = '') -> str:
|
||||
"""gradeId → عنوانِ گرید همانطور که در نامِ collectionِ تیمِ دیگه اومده."""
|
||||
"""
|
||||
gradeId → عنوانِ گرید همانطور که در نامِ collectionِ تیمِ دیگه اومده.
|
||||
|
||||
⚠️ عنوانِ Grade در دیتابیسِ ما «پایه نهم» است ولی نامِ collection «ریاضی
|
||||
نهم»؛ بدونِ نرمالسازی، build_collection_name رشتهی «ریاضی پایه نهم» را
|
||||
میساخت که وجود ندارد و کلِ retrieval از مسیرِ gradeId بیسروصدا خالی
|
||||
برمیگشت. مسیرِ lessonId خودش نرمال میکرد، این یکی نه.
|
||||
"""
|
||||
overrides = getattr(settings, 'RAG_GRADE_TITLE_OVERRIDES', {}) or {}
|
||||
if grade_id in overrides:
|
||||
return str(overrides[grade_id])
|
||||
@@ -27,9 +34,11 @@ def resolve_grade_title(grade_id, fallback: str = '') -> str:
|
||||
try:
|
||||
from content.models import Grade
|
||||
|
||||
from .lesson_context import normalize_grade_title
|
||||
|
||||
grade = Grade.objects.filter(pk=grade_id).only('title').first()
|
||||
if grade is not None:
|
||||
return grade.title
|
||||
return normalize_grade_title(grade.title)
|
||||
except Exception:
|
||||
pass
|
||||
return fallback
|
||||
|
||||
Reference in New Issue
Block a user