ИИ-агент в когнитивном программировании сознания – объединяем RAG и LLM. Лэй Энстазия
Анализ структуры данных
Определение структуры:
Если данные в разных форматах (JSON, CSV, текст):
Приведите их к единому формату.
Например:
JSON: для работы с иерархически организованными данными.
CSV: для табличных данных (краткие справки, термины).
Текст: для длинных описательных данных (статьи, кейсы).
Шаги унификации:
1. Структурирование:
Определите ключевые поля:
Название текста.
Категория (теория, практика, примеры).
Ключевые слова.
Создайте единый формат для всех данных.
2. Конвертация:
Используйте Python-библиотеки, такие как `pandas` или `json`, для преобразования файлов.
Пример структуры JSON:
```json
{
"title": "Основы когнитивного программирования",
"category": "Теория",
"content": "Когнитивное программирование – это…",
"keywords": ["когнитивное программирование", "теория", "сознание"]
}
```
Практические примеры для этапа анализа структуры данных
1.3.1 Приведение данных к единому формату
Пример: Унификация форматов JSON, CSV и текста
Предположим, вы имеете три типа данных:
1. Таблицы в формате CSV с краткими определениями терминов.
2. Тексты в формате TXT с описанием кейсов.
3. Неструктурированные данные в JSON.
Для унификации все данные преобразуются в JSON с фиксированной структурой.
```python
import pandas as pd
import json
import os
def csv_to_json(csv_file, output_file):
df = pd.read_csv(csv_file)
data = df.to_dict(orient="records")
with open(output_file, "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=4)
def txt_to_json(txt_file, output_file, category):
with open(txt_file, "r", encoding="utf-8") as f:
content = f.read()
data = {
"title": os.path.basename(txt_file).replace(".txt", ""),
"category": category,
"content": content.strip()
}
with open(output_file, "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=4)
# Пример вызова функций
csv_to_json("terms.csv", "terms.json")
txt_to_json("case_description.txt", "case.json", "Кейсы")
```
Результат – преобразованные данные в едином формате 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))
```
Результат: