Cosa è stato fatto
È stato creato l’agente AI “Cerca nel forum” (ID=5) per la ricerca semantica nei materiali del forum discuss.rabkesov.ru, con la possibilità di arricchire i risultati con informazioni provenienti da Internet.
Agente
- Utente bot:
Cerca_nel_forum_bot(user_id=-1202) - LLM: qwen3-VL-8b (locale, vanill.ddns.net:54321)
- Pannello di amministrazione: ai-agents/5/edit
Strumenti
| Strumento | Scopo | Parametri |
|---|---|---|
| Search | Ricerca semantica + keyword | max_results=20, search_private=true |
| Read | Lettura del contenuto completo dei topic | read_private=true |
| Researcher | Analisi approfondita/sintesi su più topic | max_results=10, LLM=qwen3-VL-8b |
| WebBrowser | Visualizzazione pagine web (per l’arricchimento web) | - |
Comportamento
- Per ogni richiesta cerca solo all’interno del forum (Search + Read + Researcher)
- Ogni fatto viene citato con un link al topic/post
- Alla fine della risposta chiede: “Desiderate arricchire i risultati con informazioni provenienti da Internet?”
- Se confermato, utilizza WebBrowser per visitare i siti prioritari:
- Risponde nella lingua della domanda
Come utilizzarlo
- Menzionare
@Cerca_nel_forum_botin qualsiasi topic - Invio di un messaggio privato al bot
- Attraverso AI-bot conversations
Sostituzione della modello di embedding: nomic v1.5 → v2-moe
Problema
La modello nomic-embed-text-v1.5 raggruppa i testi per lingua, non per senso. Test:
| Coppia | Similarità cosine |
|---|---|
| RU “vLLM impostazione” ←→ EN “vLLM config” (stessa tematica) | 0.634 |
| RU “vLLM impostazione” ←→ RU “ricetta di borscht” (tematiche diverse) | 0.650 |
| Gap (separazione per senso) | -0.016 |
Il testo russo su vLLM risulta più vicino al ricetta di borscht in russo che al testo inglese su vLLM. La ricerca semantica sul forum in lingua russa con questa modello funzionava in modo impreciso.
Soluzione
Sostituito con nomic-embed-text-v2-moe (MoE, 8x277M, 512 MB Q8_0, 100+ lingue). Risultato:
| Coppia | v1.5 | v2-moe |
|---|---|---|
| RU “vLLM” ←→ EN “vLLM” (stessa tematica) | 0.634 | 0.924 |
| RU “vLLM” ←→ RU “borscht” (tematiche diverse) | 0.650 | 0.163 |
| Gap | -0.016 | +0.761 |
Impostazioni degli embedding (finali)
| Parametro | Valore |
|---|---|
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 (“Autore del contenuto”) |
ai_embeddings_semantic_quick_search_enabled |
true |
La modello nomic-embed-text-v2-moe deve essere caricata in modo permanente nel LM Studio (~488 MB VRAM). Il backfill degli embedding viene avviato automaticamente da Sidekiq dopo la sostituzione della modello.
Limitazione: ricerca web
L’utente Google (ricerca web completa) non è disponibile - ai_google_custom_search_api_key non è configurato. L’agente utilizza WebBrowser per visitare URL specifici. Per una ricerca web completa è necessario:
- Registrarsi su Google Custom Search Engine e ottenere chiave API + CX
- Configurare nelle impostazioni AI
Log del server LLM
Percorso: ~/.lmstudio/server-logs/YYYY-MM/YYYY-MM-DD.N.log
- Rotazione mensile nelle cartelle, giornaliera all’interno
- N - numero di rotazione del giorno
- Esempio:
~/.lmstudio/server-logs/2026-03/2026-03-30.1.log