mirror of
https://github.com/trustgraph-ai/trustgraph.git
synced 2026-04-25 08:26: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
210
docs/tech-specs/more-config-cli.ru.md
Normal file
210
docs/tech-specs/more-config-cli.ru.md
Normal file
|
|
@ -0,0 +1,210 @@
|
|||
---
|
||||
layout: default
|
||||
title: "Техническая спецификация CLI для конфигурации"
|
||||
parent: "Russian (Beta)"
|
||||
---
|
||||
|
||||
# Техническая спецификация CLI для конфигурации
|
||||
|
||||
> **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.
|
||||
|
||||
## Обзор
|
||||
|
||||
Эта спецификация описывает расширенные возможности конфигурации через командную строку для TrustGraph, позволяя пользователям управлять отдельными элементами конфигурации с помощью команд CLI с гранулярным уровнем доступа. Интеграция поддерживает четыре основных сценария использования:
|
||||
|
||||
1. **Перечисление элементов конфигурации**: Отображение ключей конфигурации определенного типа
|
||||
2. **Получение элемента конфигурации**: Получение конкретных значений конфигурации
|
||||
3. **Установка элемента конфигурации**: Установка или обновление отдельных элементов конфигурации
|
||||
4. **Удаление элемента конфигурации**: Удаление конкретных элементов конфигурации
|
||||
|
||||
## Цели
|
||||
|
||||
- **Детализированный контроль**: Обеспечение управления отдельными элементами конфигурации, а не пакетными операциями
|
||||
- **Список по типу**: Предоставление пользователям возможности исследовать элементы конфигурации по типу
|
||||
- **Операции для отдельных элементов**: Предоставление команд для получения/установки/удаления отдельных элементов конфигурации
|
||||
- **Интеграция с API**: Использование существующего API для конфигурации для всех операций
|
||||
- **Единый шаблон CLI**: Соблюдение установленных норм и шаблонов CLI для TrustGraph
|
||||
- **Обработка ошибок**: Предоставление понятных сообщений об ошибках для некорректных операций
|
||||
- **Вывод в формате JSON**: Поддержка структурированного вывода для программного использования
|
||||
- **Документация**: Включение подробной справки и примеров использования
|
||||
|
||||
## Предыстория
|
||||
|
||||
TrustGraph в настоящее время предоставляет управление конфигурацией через API для конфигурации и один командный интерфейс `tg-show-config`, который отображает всю конфигурацию. Хотя это работает для просмотра конфигурации, оно не обеспечивает возможности детального управления.
|
||||
|
||||
Текущие ограничения включают:
|
||||
- Отсутствие возможности перечисления элементов конфигурации по типу через командную строку
|
||||
- Отсутствие командной строки для получения конкретных значений конфигурации
|
||||
- Отсутствие командной строки для установки отдельных элементов конфигурации
|
||||
- Отсутствие командной строки для удаления отдельных элементов конфигурации
|
||||
|
||||
Эта спецификация решает эти проблемы, добавляя четыре новые команды CLI, которые обеспечивают детальное управление конфигурацией. Предоставляя отдельные операции API через команды CLI, TrustGraph может:
|
||||
- Обеспечить управление конфигурацией через скрипты
|
||||
- Предоставить пользователям возможность исследовать структуру конфигурации по типу
|
||||
- Обеспечить целевые обновления конфигурации
|
||||
- Обеспечить детальный контроль над конфигурацией
|
||||
|
||||
## Техническое проектирование
|
||||
|
||||
### Архитектура
|
||||
|
||||
Для расширенного CLI необходимо следующее техническое:
|
||||
|
||||
1. **tg-list-config-items**
|
||||
- Перечисление ключей конфигурации для указанного типа
|
||||
- Вызов API-метода Config.list(type)
|
||||
- Вывод списка ключей конфигурации
|
||||
|
||||
Модуль: `trustgraph.cli.list_config_items`
|
||||
|
||||
2. **tg-get-config-item**
|
||||
- Получение конкретного элемента конфигурации(й)
|
||||
- Вызов API-метода Config.get(keys)
|
||||
- Вывод значений конфигурации в формате JSON
|
||||
|
||||
Модуль: `trustgraph.cli.get_config_item`
|
||||
|
||||
3. **tg-put-config-item**
|
||||
- Установка или обновление элемента конфигурации
|
||||
- Вызов API-метода Config.put(values)
|
||||
- Прием параметров type, key и value
|
||||
|
||||
Модуль: `trustgraph.cli.put_config_item`
|
||||
|
||||
4. **tg-delete-config-item**
|
||||
- Удаление элемента конфигурации
|
||||
- Вызов API-метода Config.delete(keys)
|
||||
- Прием параметров type и key
|
||||
|
||||
Модуль: `trustgraph.cli.delete_config_item`
|
||||
|
||||
### Модели данных
|
||||
|
||||
#### ConfigKey и ConfigValue
|
||||
|
||||
Команды используют существующие структуры данных из `trustgraph.api.types`:
|
||||
|
||||
```python
|
||||
@dataclasses.dataclass
|
||||
class ConfigKey:
|
||||
type : str
|
||||
key : str
|
||||
|
||||
@dataclasses.dataclass
|
||||
class ConfigValue:
|
||||
type : str
|
||||
key : str
|
||||
value : str
|
||||
```
|
||||
|
||||
Это обеспечивает:
|
||||
- Последовательную обработку данных в CLI и API
|
||||
- Типобезопасное управление конфигурацией
|
||||
- Структурированные форматы ввода/вывода
|
||||
- Интеграцию с существующим API для конфигурации
|
||||
|
||||
### Спецификации команд CLI
|
||||
|
||||
#### tg-list-config-items
|
||||
```bash
|
||||
tg-list-config-items --type <config-type> [--format text|json] [--api-url <url>]
|
||||
```
|
||||
- **Назначение**: Отобразить все ключи конфигурации для данного типа
|
||||
- **API-вызов**: `Config.list(type)`
|
||||
- **Вывод**:
|
||||
- `text` (по умолчанию): Ключи конфигурации, разделенные новыми строками
|
||||
- `json`: Массив строк JSON с ключами конфигурации
|
||||
|
||||
#### tg-get-config-item
|
||||
```bash
|
||||
tg-get-config-item --type <type> --key <key> [--format text|json] [--api-url <url>]
|
||||
```
|
||||
- **Назначение**: Получить конкретный элемент конфигурации
|
||||
- **API-вызов**: `Config.get([ConfigKey(type, key)])`
|
||||
- **Вывод**:
|
||||
- `text` (по умолчанию): Сырая текстовая строка
|
||||
- `json`: JSON-кодированная строка значения
|
||||
|
||||
#### tg-put-config-item
|
||||
```bash
|
||||
tg-put-config-item --type <type> --key <key> --value <value> [--api-url <url>]
|
||||
tg-put-config-item --type <type> --key <key> --stdin [--api-url <url>]
|
||||
```
|
||||
- **Назначение**: Установить или обновить элемент конфигурации
|
||||
- **API-вызов**: `Config.put([ConfigValue(type, key, value)])`
|
||||
- **Варианты ввода**:
|
||||
- `--value <строка>`: Строковое значение, указанное непосредственно в командной строке
|
||||
- `--stdin`: Чтение всего ввода как значения конфигурации
|
||||
- **Вывод**: Подтверждение успеха
|
||||
|
||||
#### tg-delete-config-item
|
||||
```bash
|
||||
tg-delete-config-item --type <type> --key <key> [--api-url <url>]
|
||||
```
|
||||
- **Назначение**: Удалить элемент конфигурации
|
||||
- **API-вызов**: `Config.delete([ConfigKey(type, key)])`
|
||||
- **Вывод**: Подтверждение успеха
|
||||
|
||||
### Детали реализации
|
||||
|
||||
Все команды следуют установленной схеме CLI для TrustGraph:
|
||||
- Использование `argparse` для разбора командной строки
|
||||
- Импорт и использование `trustgraph.api.Api` для взаимодействия с backend
|
||||
- Соблюдение тех же схем обработки ошибок, что и у существующих CLI
|
||||
- Поддержка стандартного параметра `--api-url` для настройки URL API
|
||||
- Предоставление описательного справки и примеров использования
|
||||
|
||||
#### Обработка форматов вывода
|
||||
|
||||
**Текст:**
|
||||
```bash
|
||||
tg-list-config-items --type prompt
|
||||
template-1
|
||||
template-2
|
||||
system-prompt
|
||||
```
|
||||
|
||||
**JSON:**
|
||||
```bash
|
||||
tg-list-config-items --type prompt --format json
|
||||
["template-1", "template-2", "system-prompt"]
|
||||
```
|
||||
|
||||
**Текст:**
|
||||
```bash
|
||||
tg-get-config-item --type prompt --key template-1
|
||||
You are a helpful assistant. Please respond to: {query}
|
||||
```
|
||||
|
||||
**JSON:**
|
||||
```bash
|
||||
tg-get-config-item --type prompt --key template-1 --format json
|
||||
"You are a helpful assistant. Please respond to: {query}"
|
||||
```
|
||||
|
||||
**Текст:**
|
||||
```bash
|
||||
tg-put-config-item --type prompt --key new-template --value "Custom prompt: {input}"
|
||||
```
|
||||
|
||||
**JSON:**
|
||||
```bash
|
||||
tg-put-config-item --type prompt --key complex-template --stdin < ./prompt-template.txt
|
||||
```
|
||||
|
||||
**Текст:**
|
||||
```bash
|
||||
tg-delete-config-item --type prompt --key old-template
|
||||
```
|
||||
|
||||
## Открытые вопросы
|
||||
|
||||
- Следует ли командам поддерживать пакетные операции (несколько ключей) помимо отдельных элементов?
|
||||
- Какой формат вывода следует использовать для подтверждений успеха?
|
||||
- Как следует документировать и узнавать пользователями типы конфигурации?
|
||||
|
||||
## Ссылки
|
||||
|
||||
- Существующий API для конфигурации: `trustgraph/api/config.py`
|
||||
- Шаблоны CLI: `trustgraph-cli/trustgraph/cli/show_config.py`
|
||||
- Типы данных: `trustgraph/api/types.py`
|
||||
Loading…
Add table
Add a link
Reference in a new issue