InfiniGPT — это чат-бот OpenAI для протокола чата Matrix. У него есть отличная подсказка, которая позволяет ему отыгрывать почти все, что вы только можете придумать. Вы можете установить любую личность по умолчанию. Ее можно изменить в любое время, и у каждого пользователя есть своя отдельная история чата с выбранными настройками личности. Пользователи могут взаимодействовать с историями чатов друг друга для совместной работы, если захотят, но в противном случае разговоры разделены для каждого канала и для каждого пользователя.
Также доступно для IRC по адресу infinigpt-irc.
Теперь с поддержкой Ollama и переключением моделей.
pip3 install matrix-nio openai
Получите ключ OpenAI API, установите его как переменную среды как OPENAI_API_KEY. В коде есть место для установки переменной среды, если вы хотите использовать ее.
Добавьте нужные модели Ollama в список моделей в config.json, если используете. Сначала вам нужно будет установить и ознакомиться с Ollama, убедиться, что вы можете запускать локальные LLM и т. д. Если вы не можете, не беспокойтесь об этом, вы можете просто исключить эти модели из конфигурации.
Вы можете установить и обновить его с помощью этой команды:
curl https://ollama.ai/install.sh | sh
После того, как все будет настроено, вам нужно будет загрузить модели, которые вы хотите использовать. Вы можете поиграть с доступными и посмотреть, что лучше всего подходит для вас. Добавьте их в файл config.json. Если вы хотите использовать те, которые я включил, просто запустите ollama pull modelname для каждого.
Настройте учетную запись Matrix для своего бота. Вам понадобится сервер, имя пользователя и пароль.
Добавьте их в файл config.json.
python3 infinigpt.py
Сообщение .ai или имя бота: message Основное использование. Личность задается оператором бота.
Сообщение пользователя .x. Это позволяет вам поговорить с историей чата другого пользователя. user — отображаемое имя пользователя, историю которого вы хотите использовать.
.persona persona Изменяет личность. Это может быть характер, тип личности, предмет, идея. Не используйте здесь пользовательскую подсказку.
.custom приглашение Позволяет использовать пользовательское системное приглашение вместо встроенного.
.reset Сбросить настройки личности
.stock Удаление индивидуальности и сброс к стандартным настройкам GPT
.model Список доступных больших языковых моделей
.model имя_модели Изменить модель
.model сброс Сбросить модель
.help Показать встроенное меню справки