Что сделано
Создан AI-агент “Поиск по форуму” (ID=5) для семантического поиска по материалам форума discuss.rabkesov.ru с возможностью обогащения результатов из интернета.
Агент
- Бот-пользователь:
Поиск_по_форуму_bot(user_id=-1202) - LLM: qwen3-VL-8b (локальный, vanill.ddns.net:54321)
- Админка: ai-agents/5/edit
Инструменты
| Инструмент | Назначение | Параметры |
|---|---|---|
| Search | Семантический + keyword поиск | max_results=20, search_private=true |
| Read | Чтение полного содержимого топиков | read_private=true |
| Researcher | Глубокий анализ/синтез по нескольким топикам | max_results=10, LLM=qwen3-VL-8b |
| WebBrowser | Просмотр веб-страниц (для web enrichment) | - |
Поведение
- На каждый запрос ищет только внутри форума (Search + Read + Researcher)
- Каждый факт цитирует ссылкой на топик/пост
- В конце ответа спрашивает: “Желаете обогатить результаты информацией из интернета?”
- При подтверждении использует WebBrowser для обхода приоритетных сайтов:
- Отвечает на языке вопроса
Как использовать
- Упомянуть
@Поиск_по_форуму_botв любом топике - Отправить личное сообщение боту
- Через AI-бот conversations
Замена эмбеддинг-модели: nomic v1.5 → v2-moe
Проблема
Модель nomic-embed-text-v1.5 группирует тексты по языку, а не по смыслу. Тест:
| Пара | Cosine similarity |
|---|---|
| RU “vLLM настройка” ↔ EN “vLLM config” (одна тема) | 0.634 |
| RU “vLLM настройка” ↔ RU “рецепт борща” (разные темы) | 0.650 |
| Gap (разделение по смыслу) | -0.016 |
Русский текст про vLLM оказывается ближе к русскому рецепту борща, чем к английскому тексту про vLLM. Семантический поиск на русскоязычном форуме с такой моделью работал некорректно.
Решение
Заменена на nomic-embed-text-v2-moe (MoE, 8x277M, 512 MB Q8_0, 100+ языков). Результат:
| Пара | v1.5 | v2-moe |
|---|---|---|
| RU “vLLM” ↔ EN “vLLM” (одна тема) | 0.634 | 0.924 |
| RU “vLLM” ↔ RU “борщ” (разные темы) | 0.650 | 0.163 |
| Gap | -0.016 | +0.761 |
Настройки эмбеддингов (итоговые)
| Параметр | Значение |
|---|---|
ai_embeddings_enabled |
true |
ai_embeddings_selected_model |
12 (nomic-embed-text-v2-moe) |
ai_embeddings_semantic_search_enabled |
true |
ai_embeddings_semantic_search_use_hyde |
true |
ai_embeddings_semantic_search_hyde_agent |
-32 (“Автор контента”) |
ai_embeddings_semantic_quick_search_enabled |
true |
Модель nomic-embed-text-v2-moe должна быть загружена в LM Studio постоянно (~488 MB VRAM). Backfill эмбеддингов запускается Sidekiq автоматически после смены модели.
Ограничение: web search
Инструмент Google (полноценный web search) недоступен - ai_google_custom_search_api_key не настроен. Агент использует WebBrowser для обхода конкретных URL. Для полноценного поиска по интернету нужно:
- Зарегистрировать Google Custom Search Engine и получить API key + CX
- Прописать в настройках AI
Логи LLM-сервера
Путь: ~/.lmstudio/server-logs/YYYY-MM/YYYY-MM-DD.N.log
- Ротация по месяцам в папках, внутри по дням
- N - номер ротации за день
- Пример:
~/.lmstudio/server-logs/2026-03/2026-03-30.1.log