mirror of
https://github.com/trustgraph-ai/trustgraph.git
synced 2026-04-26 08:56:21 +02:00
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.
This commit is contained in:
parent
f976f1b6fe
commit
8954fa3ad7
560 changed files with 236300 additions and 99 deletions
99
docs/tech-specs/schema-refactoring-proposal.ru.md
Normal file
99
docs/tech-specs/schema-refactoring-proposal.ru.md
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
---
|
||||
layout: default
|
||||
title: "Схема: Предложение по реорганизации каталога"
|
||||
parent: "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.
|
||||
|
||||
## Текущие проблемы
|
||||
|
||||
1. **Плоская структура** - Все схемы в одном каталоге затрудняют понимание взаимосвязей
|
||||
2. **Смешанные задачи** - Ядро типов, объекты домена и контракты API смешаны вместе
|
||||
3. **Неясное наименование** - Файлы, такие как "object.py", "types.py", "topic.py", не указывают четко их назначение
|
||||
4. **Отсутствие четкого уровня** - Трудно понять, на что зависит что
|
||||
|
||||
## Предлагаемая структура
|
||||
|
||||
```
|
||||
trustgraph-base/trustgraph/schema/
|
||||
├── __init__.py
|
||||
├── core/ # Основные примитивные типы, используемые везде
|
||||
│ ├── __init__.py
|
||||
│ ├── primitives.py # Ошибка, Значение, Трипл, Поле, Схема строк
|
||||
│ ├── metadata.py # Запись метаданных
|
||||
│ └── topic.py # Утилиты для тем
|
||||
│
|
||||
├── knowledge/ # Модели домена знаний и извлечение
|
||||
│ ├── __init__.py
|
||||
│ ├── graph.py # EntityContext, EntityEmbeddings, Триплы
|
||||
│ ├── document.py # Документ, TextDocument, Chunk
|
||||
│ ├── knowledge.py # Типы извлечения знаний
|
||||
│ ├── embeddings.py # Все типы, связанные с встраиванием (перенесены из нескольких файлов)
|
||||
│ └── nlp.py # Типы Определение, Тема, Отношение, Факты
|
||||
│
|
||||
└── services/ # Контракты запросов/ответов сервисов
|
||||
├── __init__.py
|
||||
├── llm.py # TextCompletion, Embeddings, Запросы/ответы инструментов
|
||||
├── retrieval.py # Запросы/ответы GraphRAG, DocumentRAG
|
||||
├── query.py # Запросы/ответы GraphEmbeddingsRequest/Response, DocumentEmbeddingsRequest/Response
|
||||
├── agent.py # Запросы/ответы агента
|
||||
├── flow.py # Запросы/ответы потока
|
||||
├── prompt.py # Запросы/ответы сервиса подсказок
|
||||
├── config.py # Конфигурационный сервис
|
||||
├── library.py # Сервис библиотека
|
||||
└── lookup.py # Сервис поиска
|
||||
```
|
||||
|
||||
## Ключевые изменения
|
||||
|
||||
1. **Иерархическая организация** - Четкое разделение между основными типами, моделями знаний и контрактами сервисов
|
||||
2. **Улучшенное наименование:**
|
||||
- `types.py` → `core/primitives.py` (более четкое назначение)
|
||||
- `object.py` → Разделение на соответствующие файлы на основе фактического содержимого
|
||||
- `documents.py` → `knowledge/document.py` (одинаковое, согласованное)
|
||||
- `models.py` → `services/llm.py` (более четко, какие модели)
|
||||
- `prompt.py` → Разделение: части сервиса в `services/prompt.py`, типы данных в `knowledge/nlp.py`
|
||||
|
||||
3. **Логическая группировка:**
|
||||
- Все типы встраивания консолидированы в `knowledge/embeddings.py`
|
||||
- Все контракты сервисов LLM в `services/llm.py`
|
||||
- Четкое разделение пар запросов/ответов в каталоге сервисов
|
||||
- Типы извлечения знаний сгруппированы с другими моделями домена знаний
|
||||
|
||||
4. **Ясность зависимостей:**
|
||||
- Основные типы не имеют зависимостей
|
||||
- Модели знаний зависят только от основных
|
||||
- Контракты сервисов могут зависеть как от основных, так и от моделей знаний
|
||||
|
||||
## Преимущества миграции
|
||||
|
||||
1. **Легче навигация** - Разработчики могут быстро найти то, что им нужно
|
||||
2. **Улучшенная модульность** - Четкие границы между разными задачами
|
||||
3. **Проще импорт** - Более интуитивные пути импорта
|
||||
4. **Готовность к будущему** - Легко добавлять новые типы знаний или сервисы, не загромождая
|
||||
|
||||
## Пример изменений импорта
|
||||
|
||||
```python
|
||||
# Изначально
|
||||
from trustgraph.schema import Error, Triple, GraphEmbeddings, TextCompletionRequest
|
||||
|
||||
# После
|
||||
from trustgraph.schema.core import Error, Triple
|
||||
from trustgraph.schema.knowledge import GraphEmbeddings
|
||||
from trustgraph.schema.services import TextCompletionRequest
|
||||
```
|
||||
|
||||
## Заметки по реализации
|
||||
|
||||
1. Сохраняйте обратную совместимость, поддерживая импорт в корневом файле `__init__.py`
|
||||
2. Перемещайте файлы постепенно, обновляя импорты по мере необходимости
|
||||
3. Рассмотрите возможность добавления файла `legacy.py`, который импортирует всё для переходного периода
|
||||
4. Обновите документацию, чтобы отразить новую структуру
|
||||
|
||||
<function_calls>
|
||||
<invoke name="TodoWrite">
|
||||
<parameter name="todos">[{"id": "1", "content": "Оценить текущую структуру каталога схемы", "status": "completed", "priority": "high"}, {"id": "2", "content": "Проанализировать файлы схемы и их назначение", "status": "completed", "priority": "high"}, {"id": "3", "content": "Предложить улучшенное наименование и структуру", "status": "completed", "priority": "high"}]
|
||||
Loading…
Add table
Add a link
Reference in a new issue