Skip to content

rmtadmin/ai-chat-analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ai-chat-analysis

📡 Анализ клиентских чатов с помощью LLM (Ollama, локальные модели)


📌 Описание

Этот проект предназначен для:

  • подключения к локальной модели через Ollama
  • анализа клиентских чатов (в формате Telegram/JSON)
  • построения кастомных промптов под разные задачи
  • сохранения результатов анализа в базу данных и Google Sheets

Идея проекта — выделить структурированные данные из реальных чатов (например, с Меты или Telegram) и подготовить систему для глубокого анализа намерений, жалоб, офферов и тональности.


🧱 Структура проекта

ai-chat-analysis/
├── client_chat_processor.py     # 🔁 Основной скрипт: загрузка чатов, генерация промпта, вызов модели, сохранение
├── export_to_gsheets.py         # 📤 Экспорт результатов в Google Таблицу
├── db.py                        # 🗄️  Работа с MySQL (вставка результатов анализа)
├── query_ollama.py              # 🔌 Проверка соединения с Ollama через SSH-туннель
├── .env.ssh                     # ⚙️  Переменные окружения (пример с SSH)
├── credentials.json             # 🔐 Ключ для доступа к Google Sheets API

├── data/                        # 📥 Входные чаты (Telegram JSON, массивы чатов)
│   └── chat.json                #     Пример файла чата

├── output/                      # 📦 Результаты обработки
│   ├── *_analysis.json          #     JSON с извлечёнными полями (has_order, summary и т.д.)
│   └── history.jsonl            #     История обработанных чатов (hash + мета)

├── prompts/                     # 🧠 (в разработке) Коллекция промптов для разных задач анализа
│   └── *.txt                    #     Индивидуальные инструкции для LLM

└── README.md                    # 📘 Документация проекта

🔌 Используемые технологии

  • Python 3.10+
  • Ollama (локальные LLM: gemma3n, deepseek и др.)
  • Google Sheets API (через gspread)
  • MySQL (через mysql-connector-python)
  • SSH + sshpass для проброса порта к хост-машине

🚀 Как использовать

1. Запусти анализ чатов

⚙️ Настройки окружения (.env.ssh)

Создай файл .env.ssh в корне проекта, чтобы задать переменные окружения:

##################################
# 📁 Файлы
CHAT_FILE=data/chat.json          # Путь до исходного файла с чатами
OUTPUT_DIR=output                 # Папка для сохранения результатов

##################################
# 🔐 SSH-подключение к хосту с Ollama
SSH_HOST=192.168.1.42             # IP-адрес хост-машины с Ollama
SSH_USER=                         # SSH-пользователь
SSH_PORT=22                      # Порт подключения по SSH
REMOTE_PORT=11434                # Порт Ollama на хосте
LOCAL_PORT=11434                 # Порт, проброшенный на клиент
SSH_PASS=                        # Пароль SSH (можно заменить на SSH-ключ)

##################################
# 🤖 Модель
LLM_MODEL=gemma3n                # Название модели Ollama (например: gemma3n, deepseek, mistral и т.д.)
  1. Для запуска:
set -a && source .env.ssh && set +a
python3 client_chat_processor.py
  1. Экспорт в Google Sheets

Убедись, что файл credentials.json рядом.

python3 export_to_gsheets.py

🧠 Что делает анализатор?

Для каждого чата:

извлекает текст сообщений

подаёт в LLM с промптом, содержащим инструкцию

ожидает структурированный JSON:

    has_order

    total_sum

    complaint

    summary

сохраняет результат в output/*.json и базу данных

🧰 План расширения

Разделить промпты по задачам (prompts/*.txt)

Генерация до 10–15 задач на чат (тональность, метки, эмоции, оффер)

Вывод результатов в Telegram или Slack

Поддержка других форматов (.eml, .msg)

Веб-интерфейс для ручного анализа и подтверждения

🧷 Пример результата (output/1_chat_analysis.json)

{ "has_order": true, "total_sum": 2150, "complaint": "Клиент жалуется на брак пластика", "summary": "Обсуждался заказ на печать из PLA. Итоговая сумма — 2150 руб. Есть жалоба на качество." }

📎 Контакты / Автор

Проект разработан для собственного изучения AI-интеграции в бизнес-процессы
github.com/rmtadmin

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages