База знаний компании на локальной ИИ-модели создаётся через три этапа: развёртывание модели на сервере, загрузка корпоративных документов в векторную базу данных и настройка интерфейса доступа для сотрудников. Это позволяет получить приватный поисковый движок без облачных сервисов, который работает с внутренней информацией компании.
Необходимые инструменты и причины внедрения
- Ollama — лёгкий инструмент для локального запуска больших языковых моделей без GPU-серверов
- LlamaIndex (ранее GPT Index) — фреймворк для индексирования и поиска по документам через ИИ
- PostgreSQL или Milvus — векторная база данных для хранения встроек документов
- FastAPI — веб-приложение для создания REST API и веб-интерфейса
- Python 3.10+ — язык программирования для написания скриптов интеграции
- Приватность данных — документы не отправляются в облако третьих лиц
- Экономия на API-запросах — отсутствие платежей за использование облачных сервисов ИИ
- Контроль версий знаний — возможность обновления базы под текущие процессы компании
Пошаговая инструкция по созданию базы знаний
- Установите Ollama с официального сайта ollama.ai для вашей операционной системы.
- Откройте терминал и загрузите модель командой
ollama pull llama2(илиmistralдля более быстрой работы). - Запустите модель в фоне командой
ollama serve— она будет доступна по адресуhttp://localhost:11434. - Установите Python-зависимости через
pip install llama-index fastapi uvicorn python-dotenv. - Создайте папку проекта
company_knowledge_baseи инициализируйте Python-окружение черезpython -m venv venv. - Активируйте виртуальное окружение командой
source venv/bin/activate(Linux/Mac) илиvenv\Scripts\activate(Windows). - Создайте файл
config.pyс параметрами подключения к локальной модели Ollama. - Напишите скрипт
index_documents.pyдля загрузки PDF, DOCX и TXT файлов из папки/documents. - Используйте LlamaIndex для создания индекса: импортируйте
VectorStoreIndexи методfrom_documents(). - Сохраните созданный индекс на диск в формате JSON или сериализованном виде для быстрой загрузки.
- Создайте файл
app.pyс FastAPI приложением и эндпоинтомPOST /queryдля обработки запросов сотрудников. - Реализуйте аутентификацию через простую проверку API-ключа или интеграцию с LDAP для корпоративных учётных записей.
- Разверните приложение на внутреннем сервере командой
uvicorn app:app --host 0.0.0.0 --port 8000. - Создайте простой веб-интерфейс на HTML+JavaScript или используйте готовое решение типа Streamlit для быстрого развёртывания.
- Настройте регулярное обновление индекса через крон-задачу
0 2 * * * /path/to/update_index.shдля ежедневной переиндексации новых документов. - Протестируйте систему на группе пилотных пользователей перед полным развёртыванием.
- Документируйте процесс добавления новых документов для IT-команды компании.
Часто задаваемые вопросы
Какую модель выбрать для компании из 100 человек? Используйте mistral или neural-chat — они быстрее работают на CPU серверах и требуют 8-16 ГБ оперативной памяти.
Как защитить базу знаний от несанкционированного доступа? Разместите сервер во внутренней сети компании (не в интернете), используйте VPN для удалённого доступа и требуйте аутентификацию через корпоративный Active Directory.
Сколько времени занимает индексация 10 000 документов? В зависимости от объёма текста в документах — от 30 минут до 2 часов на среднем сервере; процесс можно запустить в ночное время через crond.