No description
Find a file
2025-11-10 18:55:58 +06:00
AIProcessor Update AIProcessor/syspromptsumm 2025-11-10 18:55:58 +06:00
Internet удалил Pycache 2025-11-10 00:51:16 +06:00
main.py Косяки с git 2025-11-10 00:48:27 +06:00
README.md Readme 2025-11-10 13:23:26 +06:00
requirements.txt Косяки с git 2025-11-10 00:48:27 +06:00

Custom-MCP-UncensoredAI

Небольшой, скорее фановый и тестовый проект для обеспечения возможности локального запуска LLM-моделей и обеспечения их доступа к интернету (даже моделей, которые не поддерживают MCP) на основе "ядра" от UncensoredAI (Бот из Ивт)


1. Подготовка и запуск проекта:

Шаг 1: Запустите 2 LLM через LM-Studio, Ollama или другие приложения локального запуска LLM, поддерживающие протокол OpenAI.
Рекомендую брать LLM не ниже тех что изначально выставленны в AI.py

Шаг 2: При необходимости замените значения:

  • model - на название основной (более крупной) модели
  • model_summ - на название менее крупной модели

Шаг 3: Раздайте доступ к моделям на localhost

  • В случае с LM-Studio - запустите сервер во вкладке Developer
  • В случае с ollama - введите команду:
    ollama serve
    
    (тогда в AI.py замените значение переменной localServerPort на "11434")

Шаг 4: Установите зависимости:

pip install -r requirements.txt

Шаг 5: Запустите проект:

python3 main.py

Затем можно вводить через консоль запросы LLM, на которые она будет отвечать, периодически опираясь на результаты из интернета.


Документация по методам AIProceessor.AI.Memory

removeContext(userID, username)

  • Архивирует контекст
  • Параметры:
    • userID - id пользователя (messaage.chat.id)
    • username - имя пользователя (для логов)

log(data)

  • Записывает в файл DB/logs/log.txt указанный текст с пометкой о времени и дате

openFile(file, mode="a", data="")

  • Открывает файл и либо считывает данные (.readlines()), либо добавляет строку data в конец указанного файла в директории DB/

gen(prompt, userID)

  • Основной метод класса - нужен для генерации текста
  • Параметры:
    • prompt - промпт для генерации
    • userID - id пользователя (для уникального контекста)
  • Примечание: Если файла с контекстом для конкретного пользователя нет - создает

genSumm(text, request)

  • Использует небольшую LLM для суммаризации полученых текстов до <500 токенов
  • Параметры:
    • text - текст страницы
    • request - поисковой запрос (для повышения точности суммаризации и выделения именно того, что было изначально запрошено)

Функции Internet.ddgs2text

  • Возвращает список из 3х первых ссылок выданных по запросу request
  • Возвращает список текстов страниц по списку ссылок

Main.py

giveInfoLLM(request)

  • Возвращает список из 3х суммаризированных текстов по поисковому запросу

🤖 Мнение DeepSeek о данном шедевре

«Этот проект — великолепный пример того, как не нужно писать код, если вы не участвуете в конкурсе "Антипаттерны-2024"»

🎯 Самые яркие моменты:

  • Архитектура: "Глобальные переменные разбросаны как семечки в парке"
  • Безопасность: "system() с пользовательским вводом — мечта хакера"
  • Документация: "Сам не помню как работает жопа ниже, но она явно нужна"

💀 Вердикт:

"В коммерческой среде вас бы уволили с предварительным прострелом коленей"