🤖 Локальный ИИ-ассистент для терминала с автоматической установкой Ollama
Project description
🤖 offline-ai
Локальный ИИ-ассистент для терминала, работающий без интернета.
✨ Особенности
- 🔒 Полностью оффлайн - работает без интернета
- 🚀 Быстрая установка - один pip install
- 💬 Удобный интерфейс - красивый терминальный интерфейс
- 🎨 Подсветка кода - автоматическая подсветка синтаксиса
- 🧠 Память разговора - ИИ помнит контекст беседы
- 📚 История разговоров - сохраняет все ваши диалоги
- ⚡ Режимы вывода - в реальном времени или с форматированием
- 🎯 Легкие модели - оптимизировано для слабых компьютеров
- ⚙️ Гибкая настройка - настраиваемые модели и параметры
🔧 Требования
- Python 3.8+
- 4GB+ RAM (рекомендуется 8GB)
- 5GB+ свободного места на диске
- Интернет для первоначальной установки (~3GB)
- Ollama - устанавливается автоматически
📦 Установка
pip install offline-ai
💡 Важно: При первом запуске offline-ai попытается автоматически установить Ollama и загрузить модель. Это может занять несколько минут и потребует ~3GB интернет-трафика.
🚀 Быстрый старт
🎯 Быстрая установка:
# Установить пакет
pip install offline-ai
# Автоматическая установка всего необходимого
offline-ai --setup --auto-install
Это автоматически:
- Попытается установить Ollama (если нужно)
- Загрузит рекомендуемую модель llama3.2:3b (~2.0 GB)
- Настроит все для работы
⚠️ Требования для автоматической установки:
- Интернет-соединение (~3GB трафика)
- ~5GB свободного места на диске
- Права администратора (Windows) или sudo (Linux/Mac)
Автоматическая установка Ollama:
- Windows: Через winget или скачивание установщика
- Linux/Mac: Через официальный скрипт установки
- Если автоматическая установка не сработает, будут показаны инструкции для ручной установки
🔧 Ручная настройка:
# Первый запуск с автоустановкой модели
offline-ai --setup --auto-install
# Или просто запустите - настройка произойдет автоматически
offline-ai
💬 Использование:
# Интерактивный режим
offline-ai
# Быстрый вопрос
offline-ai ask "Привет, как дела?"
📖 Использование
Основные команды
# Интерактивный режим
offline-ai
# Задать вопрос
offline-ai ask "Объясни мне что такое Python"
# Показать историю
offline-ai history
# Очистить историю
offline-ai history --clear
# Управление настройками
offline-ai config context on # включить память разговора
offline-ai config context off # выключить память разговора
offline-ai config context status # показать статус памяти
offline-ai config stream on # режим вывода в реальном времени
offline-ai config stream off # режим ожидания полного ответа
offline-ai config stream status # показать статус режима вывода
# Задать вопрос без контекста
offline-ai ask "Привет!" --no-context
# Управление моделями
offline-ai models # показать установленные модели
offline-ai models --recommended # показать рекомендуемые модели
offline-ai models --demo # загрузить рекомендуемую модель
offline-ai models --pull gemma2:2b # загрузить конкретную модель
offline-ai models --use gemma2:2b # установить модель по умолчанию
# Показать статус системы
offline-ai status
Интерактивный режим
В интерактивном режиме доступны команды:
exitилиquit- выходhistory- показать историюclear- очистить экранcontext on/off- включить/выключить память разговораstream on/off- режим вывода в реальном времениreset- очистить память разговора
🧠 Память разговора: ИИ помнит предыдущие сообщения и может отвечать в контексте беседы.
🎨 Подсветка кода
offline-ai автоматически подсвечивает код в ответах ИИ:
- Блоки кода в тройных кавычках с указанием языка
- Инлайн код в одинарных кавычках
- Нумерация строк для больших блоков кода
- Цветовые темы (по умолчанию Monokai)
Пример:
Пользователь: Покажи пример функции на Python
ИИ: Вот простая функция:
```python
def hello_world(name):
print(f"Привет, {name}!")
return True
Эта функция принимает name и выводит приветствие.
## 🎯 Рекомендуемые модели
Для компьютеров с 8GB RAM:
| Модель | Размер | Контекст | Оптимально | Описание |
|--------|--------|----------|------------|----------|
| **llama3.2:3b** | ~2.0 GB | 128K | 8 сообщений | 🏆 Лучшее качество и производительность |
| **phi3:mini** | ~2.3 GB | 128K | 6 сообщений | От Microsoft, отличная для кода |
| **qwen2.5:3b** | ~2.0 GB | 32K | 8 сообщений | Новая модель от Alibaba, очень умная |
| **gemma2:2b** | ~1.4 GB | 8K | 6 сообщений | Компактная от Google |
| **llama3.2:1b** | ~1.3 GB | 128K | 4 сообщения | Для слабых ПК |
### 🏆 Рекомендуется **llama3.2:3b**
- Отличное соотношение качества и размера (~2.0 GB)
- Превосходное понимание русского языка
- Быстрая работа на Core i5 + 8GB RAM
- Хорошо работает с контекстом разговора
## ⚙️ Конфигурация
Файл конфигурации: `~/.offline-ai/config.yaml`
```yaml
ollama:
base_url: "http://localhost:11434"
model: "llama3.2:3b"
timeout: 30
ui:
max_history: 100
show_timestamps: true
color_scheme: "auto"
models:
recommended:
- "llama3.2:3b"
- "phi3:mini"
- "gemma2:2b"
auto_download: true
🔧 Установка Ollama
💡 offline-ai попытается установить Ollama автоматически при первом запуске!
Если автоматическая установка не сработала:
Windows/Mac
Скачайте с ollama.ai
Linux
curl -fsSL https://ollama.ai/install.sh | sh
Через пакетные менеджеры:
# Windows
winget install Ollama.Ollama
# macOS
brew install ollama
# Arch Linux
yay -S ollama
🐛 Решение проблем
Автоматическая установка не работает
# Установите Ollama вручную:
# Windows: winget install Ollama.Ollama
# Linux/Mac: curl -fsSL https://ollama.ai/install.sh | sh
# Затем запустите настройку:
offline-ai --setup
Ollama не запускается
# Запустите вручную
ollama serve
# Проверьте статус
offline-ai status
Модель не найдена
# Загрузите модель
offline-ai models --pull llama3.2:3b
# Проверьте доступные модели
offline-ai models
Мало памяти
Используйте более легкие модели:
offline-ai models --pull gemma2:2b
offline-ai models --use gemma2:2b
📝 Лицензия
MIT License
🤝 Вклад в проект
Приветствуются pull requests и issues!
📞 Поддержка
Если у вас есть вопросы или проблемы, создайте issue в репозитории.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file offline_ai-2.0.0.tar.gz.
File metadata
- Download URL: offline_ai-2.0.0.tar.gz
- Upload date:
- Size: 22.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5ae3daf00f1445a53988b3da96ead2e723b2b5386f27ac429e88e5639763a11c
|
|
| MD5 |
5961d62f68a5a169e3e1e5cd67b3dfe3
|
|
| BLAKE2b-256 |
c882978783f60bc14ad7aa845788d5e0d8aa38180adce72b7f6ed2eb329c1a56
|
File details
Details for the file offline_ai-2.0.0-py3-none-any.whl.
File metadata
- Download URL: offline_ai-2.0.0-py3-none-any.whl
- Upload date:
- Size: 21.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f596cf015288473c9fa759e39dc5d7ff086b7f44864a76e80cd7138be08a6efb
|
|
| MD5 |
78d4e478a359507766e91feb02c3cc34
|
|
| BLAKE2b-256 |
01f306c3378dd05bf594141fb63cb580e871fa52ee1cce74180a485912fd8b6d
|