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

Шрифт
Интервал



Для унификации все данные преобразуются в 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))


```


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


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")), "Кейсы")