무엇을 수행했는가
discuss.rabkesov.ru 포럼의 자료를 위한 “포럼 검색” AI 에이전트(ID=5)를 생성했습니다. 이 에이전트는 의미 기반 검색을 지원하며, 인터넷에서 결과를 보강할 수 있습니다.
에이전트
- 봇 사용자:
Поиск_по_форуму_bot(user_id=-1202) - LLM: qwen3-VL-8b (로컬, vanill.ddns.net:54321)
- 관리자 페이지: ai-agents/5/edit
도구
| 도구 | 목적 | 파라미터 |
|---|---|---|
| Search | 의미 기반 + 키워드 검색 | max_results=20, search_private=true |
| Read | 토론 게시물 전체 내용 읽기 | read_private=true |
| Researcher | 여러 토론 게시물에 대한 심층 분석/합성 | max_results=10, LLM=qwen3-VL-8b |
| WebBrowser | 웹 페이지 보기 (인터넷 정보 보강용) | - |
행동
- 각 요청에 대해 포럼 내부에서만 검색 (Search + Read + Researcher)
- 각 사실은 토론 게시물/포스트 링크로 인용
- 답변 마지막에 질문: “인터넷에서 정보를 추가로 보강하시겠습니까?”
- 확인 시 WebBrowser를 사용해 우선순위 있는 사이트를 방문:
- 질문 언어로 답변
사용 방법
- 어떤 토론 게시물에서
@Поиск_по_форуму_bot을 언급 - 봇에게 개인 메시지 보내기
- AI-봇 대화를 통해 이용
임베딩 모델 변경: nomic v1.5 → v2-moe
문제
nomic-embed-text-v1.5 모델은 텍스트를 언어별로 그룹화하며, 의미에 따라 그룹화하지 않습니다. 테스트 결과:
| 쌍 | 코사인 유사도 |
|---|---|
| RU “vLLM 설정” ←→ EN “vLLM 설정” (같은 주제) | 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). 모델 변경 후에는 Sidekiq가 자동으로 임베딩을 다시 생성합니다.
제한 사항: 웹 검색
Google 검색(완전한 웹 검색)은 사용 불가능합니다. ai_google_custom_search_api_key가 설정되지 않았기 때문입니다. 에이전트는 WebBrowser를 사용해 특정 URL을 방문합니다. 완전한 인터넷 검색을 위해서는:
- Google Custom Search Engine에 등록하고 API 키 + CX를 획득
- AI 설정에 입력
LLM 서버 로그
경로: ~/.lmstudio/server-logs/YYYY-MM/YYYY-MM-DD.N.log
- 월별로 폴더를 나누고, 그 안에 날짜별로 분류
- N은 하루 동안의 로그 회전 번호
- 예시:
~/.lmstudio/server-logs/2026-03/2026-03-30.1.log