trustgraph/docs/tech-specs/document-embeddings-chunk-id.ru.md
Alex Jenkins 8954fa3ad7 Feat: TrustGraph i18n & Documentation Translation Updates (#781)
Native CLI i18n: The TrustGraph CLI has built-in translation support
that dynamically loads language strings. You can test and use
different languages by simply passing the --lang flag (e.g., --lang
es for Spanish, --lang ru for Russian) or by configuring your
environment's LANG variable.

Automated Docs Translations: This PR introduces autonomously
translated Markdown documentation into several target languages,
including Spanish, Swahili, Portuguese, Turkish, Hindi, Hebrew,
Arabic, Simplified Chinese, and Russian.
2026-04-14 12:08:32 +01:00

5.8 KiB
Raw Blame History

layout title parent
default Идентификатор фрагмента встраиваний документов Russian (Beta)

Идентификатор фрагмента встраиваний документов

Beta Translation: This document was translated via Machine Learning and as such may not be 100% accurate. All non-English languages are currently classified as Beta.

Обзор

В настоящее время хранилище встраиваний документов хранит текст фрагментов непосредственно в полезной нагрузке векторного хранилища, дублируя данные, которые существуют в Garage. Данная спецификация заменяет хранение текста фрагментов ссылками на chunk_id.

Текущее состояние

@dataclass
class ChunkEmbeddings:
    chunk: bytes = b""
    vectors: list[list[float]] = field(default_factory=list)

@dataclass
class DocumentEmbeddingsResponse:
    error: Error | None = None
    chunks: list[str] = field(default_factory=list)

Структура данных для хранения векторов:

payload={"doc": chunk}  # Duplicates Garage content

Дизайн

Изменения схемы

ChunkEmbeddings - заменить "chunk" на "chunk_id":

@dataclass
class ChunkEmbeddings:
    chunk_id: str = ""
    vectors: list[list[float]] = field(default_factory=list)

DocumentEmbeddingsResponse - возвращать chunk_ids вместо фрагментов:

@dataclass
class DocumentEmbeddingsResponse:
    error: Error | None = None
    chunk_ids: list[str] = field(default_factory=list)

Структура данных для векторного хранилища

Все хранилища (Qdrant, Milvus, Pinecone):

payload={"chunk_id": chunk_id}

Изменения в системе извлечения информации (RAG)

Модуль обработки документов RAG извлекает содержимое фрагментов из системы Garage:

# Get chunk_ids from embeddings store
chunk_ids = await self.rag.doc_embeddings_client.query(...)

# Fetch chunk content from Garage
docs = []
for chunk_id in chunk_ids:
    content = await self.rag.librarian_client.get_document_content(
        chunk_id, self.user
    )
    docs.append(content)

Изменения API/SDK

DocumentEmbeddingsClient возвращает chunk_ids:

return resp.chunk_ids  # Changed from resp.chunks

Формат данных (DocumentEmbeddingsResponseTranslator):

result["chunk_ids"] = obj.chunk_ids  # Changed from chunks

Изменения в CLI

Инструмент CLI отображает идентификаторы фрагментов (пользователи могут извлекать контент отдельно, если это необходимо).

Файлы для изменения

Схема

trustgraph-base/trustgraph/schema/knowledge/embeddings.py - ChunkEmbeddings trustgraph-base/trustgraph/schema/services/query.py - DocumentEmbeddingsResponse

Сообщения/Переводчики

trustgraph-base/trustgraph/messaging/translators/embeddings_query.py - DocumentEmbeddingsResponseTranslator

Клиент

trustgraph-base/trustgraph/base/document_embeddings_client.py - возвращать идентификаторы фрагментов

Python SDK/API

trustgraph-base/trustgraph/api/flow.py - document_embeddings_query trustgraph-base/trustgraph/api/socket_client.py - document_embeddings_query trustgraph-base/trustgraph/api/async_flow.py - если применимо trustgraph-base/trustgraph/api/bulk_client.py - импорт/экспорт векторных представлений документов trustgraph-base/trustgraph/api/async_bulk_client.py - импорт/экспорт векторных представлений документов

Сервис векторных представлений

trustgraph-flow/trustgraph/embeddings/document_embeddings/embeddings.py - передавать идентификатор фрагмента

Модули записи в хранилище

trustgraph-flow/trustgraph/storage/doc_embeddings/qdrant/write.py trustgraph-flow/trustgraph/storage/doc_embeddings/milvus/write.py trustgraph-flow/trustgraph/storage/doc_embeddings/pinecone/write.py

Сервисы запросов

trustgraph-flow/trustgraph/query/doc_embeddings/qdrant/service.py trustgraph-flow/trustgraph/query/doc_embeddings/milvus/service.py trustgraph-flow/trustgraph/query/doc_embeddings/pinecone/service.py

Шлюз

trustgraph-flow/trustgraph/gateway/dispatch/document_embeddings_query.py trustgraph-flow/trustgraph/gateway/dispatch/document_embeddings_export.py trustgraph-flow/trustgraph/gateway/dispatch/document_embeddings_import.py

Document RAG

trustgraph-flow/trustgraph/retrieval/document_rag/rag.py - добавить клиент librarian trustgraph-flow/trustgraph/retrieval/document_rag/document_rag.py - извлекать из Garage

CLI

trustgraph-cli/trustgraph/cli/invoke_document_embeddings.py trustgraph-cli/trustgraph/cli/save_doc_embeds.py trustgraph-cli/trustgraph/cli/load_doc_embeds.py

Преимущества

  1. Единый источник истины - текст фрагментов только в Garage
  2. Уменьшение объема хранимых векторных представлений
  3. Обеспечивает отслеживание происхождения данных в момент запроса с помощью идентификатора фрагмента.