Новый раг

This commit is contained in:
2026-03-01 14:21:33 +03:00
parent 2728c07ba9
commit 1ef0b4d68c
95 changed files with 3145 additions and 927 deletions
@@ -0,0 +1,22 @@
from __future__ import annotations
from app.modules.rag.contracts import RagDocument, RagLayer, RagSource, RagSpan
from app.modules.rag.indexing.code.code_text.chunker import CodeChunk
class CodeTextDocumentBuilder:
def build(self, source: RagSource, chunk: CodeChunk, *, chunk_index: int) -> RagDocument:
return RagDocument(
layer=RagLayer.CODE_SOURCE_CHUNKS,
lang="python",
source=source,
title=chunk.title,
text=chunk.text,
span=RagSpan(chunk.start_line, chunk.end_line),
metadata={
"chunk_index": chunk_index,
"chunk_type": chunk.chunk_type,
"module_or_unit": source.path.replace("/", ".").removesuffix(".py"),
"artifact_type": "CODE",
},
)