ИИ-агент в когнитивном программировании сознания – объединяем RAG и LLM - страница 3




```


Результат – преобразованные данные в едином формате JSON.


1.3.2 Структурирование данных


Пример: Разделение данных по ключевым категориям


При обработке собранной информации важно выделить ключевые поля, такие как заголовок, категория и ключевые слова. Для этого создайте функцию, которая добавляет недостающие поля и унифицирует структуру.


```python


def structure_data(raw_data, category):

structured_data = []

for item in raw_data:

structured_data.append({

"title": item.get("title", "Без названия"),

"category": category,

"content": item.get("content", ""),

"keywords": item.get("keywords", [])

})

return structured_data


# Пример исходных данных

raw_data = [

{"title": "Модель командного мышления", "content": "Описание модели…"},

{"content": "Описание когнитивных процессов…"}

]

structured = structure_data(raw_data, "Теория")

print(json.dumps(structured, ensure_ascii=False, indent=4))


```


Результат: добавлены заголовки и категории, что упрощает дальнейшую обработку.


1.3.3 Конвертация данных


Пример: Автоматическая обработка всех файлов в директории


Напишите скрипт, который обрабатывает файлы разных форматов и сохраняет их в едином формате JSON.


```python


def process_directory(input_dir, output_dir):

for filename in os.listdir(input_dir):

file_path = os.path.join(input_dir, filename)

if filename.endswith(".csv"):

csv_to_json(file_path, os.path.join(output_dir, filename.replace(".csv", ".json")))

elif filename.endswith(".txt"):

txt_to_json(file_path, os.path.join(output_dir, filename.replace(".txt", ".json")), "Кейсы")

elif filename.endswith(".json"):


# Дополнительная обработка JSON (если требуется)

pass

process_directory("./raw_data", "./processed_data")


```


Этот подход обеспечивает унификацию данных на основе их типа.


1.3.4 Формирование структуры для работы с данными


Пример: Структура базы знаний для когнитивного тренажера


Создайте JSON-файл, который будет хранить данные по ключевым тематикам.


```json


[

{

"title": "Основы когнитивного программирования",

"category": "Теория",

"content": "Когнитивное программирование – это метод…",

"keywords": ["основы", "когнитивное программирование", "теория"]

},

{

"title": "Кейс: Внедрение когнитивных моделей",

"category": "Кейсы",

"content": "Этот кейс описывает, как компания…",

"keywords": ["кейсы", "внедрение", "когнитивные модели"]

}

]


```


Такая структура обеспечивает удобный доступ к информации для алгоритмов RAG.


1.3.5 Проверка данных после унификации


Пример: Тестирование корректности структуры


После конвертации проверьте, что все данные соответствуют заданному формату, используя Python:


```python


def validate_data(data):

required_keys = ["title", "category", "content", "keywords"]

for item in data:

for key in required_keys:

if key not in item:

print(f"Ошибка: отсутствует ключ '{key}' в элементе {item['title']}")

print("Все данные проверены.")


# Пример проверки

with open("processed_data.json", "r", encoding="utf-8") as f:

data = json.load(f)

validate_data(data)


```


Этот процесс гарантирует, что все данные готовы к интеграции в когнитивный тренажер.


Данные примеры позволяют систематизировать данные, обеспечивая их подготовленность для дальнейшего использования в системе RAG и языковой модели.

1.4 Создание базы знаний


Форматы базы знаний:


Таблицы: Используйте для хранения кратких фактов, терминов или определений.


Инструменты: SQLite, PostgreSQL.


Граф знаний: Постройте граф с узлами (понятия, события) и ребрами (отношения между ними).