Skip to content

Latest commit

 

History

History
169 lines (142 loc) · 6.71 KB

File metadata and controls

169 lines (142 loc) · 6.71 KB

📊 Структура данных

🎯 Обзор

Проект создает структурированные данные с разделением на content (краткое описание) и metadata (детальная информация) для оптимального использования с LLM.

📋 Основная структура

JSON Context Item

{
  "id": "objects_38",
  "title": "ДанныеФормыКоллекцияЭлементовДерева (FormDataTreeItemCollection)",
  "category": "objects",
  "content": "Коллекция элементов дерева.",
  "metadata": {
    "filename": "objects/catalog1649/catalog1614/FormDataTreeItemCollection.html",
    "syntax": "",
    "syntax_variants": [],
    "parameters": [],
    "parameters_by_variant": {},
    "return_value": "",
    "example": "",
    "links": [],
    "collection_elements": {},
    "methods": [],
    "availability": [],
    "version": ""
  }
}

🔍 Детальное описание полей

Content

  • Тип: string
  • Описание: Краткое описание объекта для быстрого понимания
  • Пример: "Коллекция элементов дерева."

Metadata

Основная информация

  • filename: Путь к исходному HTML файлу
  • syntax: Основной синтаксис (устаревшее поле)
  • syntax_variants: Массив вариантов синтаксиса
  • parameters: Массив параметров (устаревшее поле)
  • parameters_by_variant: Параметры, сгруппированные по вариантам синтаксиса
  • return_value: Возвращаемое значение
  • example: Пример использования

Ссылки и связи

  • links: Массив ссылок на связанные объекты
    {
      "text": "ДанныеФормыЭлементДерева",
      "href": "v8help://SyntaxHelperContext/objects/catalog1649/catalog1614/FormDataTreeItem.html"
    }

Информация о коллекциях

  • collection_elements: Информация об элементах коллекции
    {
      "description": "ДанныеФормыЭлементДерева",
      "usage": "Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл"
    }

Методы объекта

  • methods: Массив методов объекта
    {
      "name": "Вставить",
      "english_name": "Insert",
      "full_name": "Вставить (Insert)"
    }

Доступность и версии

  • availability: Массив платформ, где доступен объект
    ["Тонкий клиент", "веб-клиент", "мобильный клиент", "сервер"]
  • version: Версия 1С, в которой доступен объект
    "8.2."

🎯 Преимущества структуры

Для LLM

  1. Быстрое понимание: content содержит краткое описание
  2. Детальная информация: metadata содержит структурированные данные
  3. Программный доступ: Легко извлекать конкретные поля
  4. Гибкость: Можно комбинировать разные поля

Для разработчиков

  1. Структурированность: Четкое разделение типов данных
  2. Расширяемость: Легко добавлять новые поля
  3. Поиск: Эффективный поиск по специализированным полям
  4. Фильтрация: Возможность фильтровать по категориям

🔧 Примеры использования

Поиск методов объекта

# Получить все методы объекта
methods = item['metadata']['methods']
for method in methods:
    print(f"{method['name']} ({method['english_name']})")

Проверка доступности

# Проверить доступность на сервере
if "сервер" in item['metadata']['availability']:
    print("Доступен на сервере")

Информация о коллекции

# Получить информацию об использовании коллекции
if item['metadata']['collection_elements'].get('usage'):
    print(item['metadata']['collection_elements']['usage'])

Поиск по версии

# Найти объекты для версии 8.2
if "8.2" in item['metadata']['version']:
    print(f"Объект {item['title']} доступен в версии 8.2")

📈 Статистика полей

Частота заполнения полей

  • content: 100% (всегда заполнено)
  • methods: ~80% (для объектов)
  • availability: ~90%
  • version: ~70%
  • collection_elements: ~20% (только для коллекций)
  • syntax_variants: ~30% (для функций и методов)
  • parameters_by_variant: ~25% (для функций и методов)

Категории объектов

  • objects: 466 элементов
  • properties: 8 элементов
  • methods: 0 элементов (извлекаются как часть objects)
  • functions: 0 элементов
  • operators: 0 элементов
  • keywords: 0 элементов

🚀 Рекомендации по использованию

Для RAG систем

  1. Используйте content для семантического поиска
  2. Используйте metadata для точного поиска
  3. Комбинируйте поля для комплексных запросов

Для чат-ботов

  1. Начинайте ответ с content
  2. Дополняйте деталями из metadata
  3. Используйте methods для списков методов
  4. Используйте availability для проверки совместимости

Для документации

  1. Используйте syntax_variants для отображения синтаксиса
  2. Используйте parameters_by_variant для параметров
  3. Используйте collection_elements для информации о коллекциях