diff --git a/journey/plans/260316_임베딩_1차_로빙_Gemini2_전환_계획.md b/journey/plans/260316_임베딩_1차_로빙_Gemini2_전환_계획.md index 9efb921..d1dd199 100644 --- a/journey/plans/260316_임베딩_1차_로빙_Gemini2_전환_계획.md +++ b/journey/plans/260316_임베딩_1차_로빙_Gemini2_전환_계획.md @@ -15,7 +15,7 @@ tags: [plans, embedding, gemini, rag, robeing, 1차] ## 상태 -- planned +- completed ## 결정 확정 @@ -151,3 +151,4 @@ tags: [plans, embedding, gemini, rag, robeing, 1차] - [임베딩 2차 StarsAndI·GooseCouncil 전환 계획](./260316_임베딩_2차_StarsAndI_GooseCouncil_전환_계획.md) - [skill-embedding 서비스 구축](../troubleshooting/250805_happybell80_skill-embedding서비스구축.md) - [rb8001 메모리 ChromaDB 768/384 차원 드리프트](../troubleshooting/260312_rb8001_memory_chromadb_768_384_dimension_drift.md) +- [임베딩 1차 로빙 Gemini 2 전환 배포 및 검증 완료](../worklog/260316_임베딩_1차_로빙_Gemini2_전환_배포및검증완료.md) diff --git a/journey/research/rag/260316_임베딩_1차_로빙_현황_SSOT_리서치.md b/journey/research/rag/260316_임베딩_1차_로빙_현황_SSOT_리서치.md index 78b4f84..34262d9 100644 --- a/journey/research/rag/260316_임베딩_1차_로빙_현황_SSOT_리서치.md +++ b/journey/research/rag/260316_임베딩_1차_로빙_현황_SSOT_리서치.md @@ -4,6 +4,10 @@ tags: [research, embedding, ssot, robeing, 1차] # 임베딩 1차: 로빙 현황 및 SSOT 리서치 +## 상태 + +- completed + **작성일**: 2026-03-16 **목적**: 로빙 임베딩 전환(1차)에 필요한 현황·영향 범위·SSOT 방안 정리. 완전 닫힘 가능하도록 범위 한정. @@ -128,5 +132,6 @@ tags: [research, embedding, ssot, robeing, 1차] - [임베딩 1차 로빙 Gemini 2 전환 문제 오픈](../../troubleshooting/260316_임베딩_1차_로빙_Gemini2_전환_문제오픈.md) - [임베딩 1차 로빙 Gemini 2 전환 계획](../../plans/260316_임베딩_1차_로빙_Gemini2_전환_계획.md) +- [임베딩 1차 로빙 Gemini 2 전환 배포 및 검증 완료](../../worklog/260316_임베딩_1차_로빙_Gemini2_전환_배포및검증완료.md) - [임베딩 2차 StarsAndI·GooseCouncil 현황 리서치](./260316_임베딩_2차_StarsAndI_GooseCouncil_현황_리서치.md) - [rb8001 메모리 ChromaDB 768/384 차원 드리프트](../../troubleshooting/260312_rb8001_memory_chromadb_768_384_dimension_drift.md) diff --git a/journey/troubleshooting/260316_임베딩_1차_로빙_Gemini2_전환_문제오픈.md b/journey/troubleshooting/260316_임베딩_1차_로빙_Gemini2_전환_문제오픈.md index d2c3b6e..e18f236 100644 --- a/journey/troubleshooting/260316_임베딩_1차_로빙_Gemini2_전환_문제오픈.md +++ b/journey/troubleshooting/260316_임베딩_1차_로빙_Gemini2_전환_문제오픈.md @@ -4,6 +4,10 @@ tags: [troubleshooting, embedding, gemini, rag, robeing, 1차] # 임베딩 1차: 로빙 Gemini 2 전환 문제 오픈 +## 상태 + +- closed + ## 상위 원칙 - [0_VALUE 임베딩 정책](https://github.com/happybell80/0_VALUE/blob/main/02_Governance/embedding-policy.md) @@ -118,6 +122,7 @@ tags: [troubleshooting, embedding, gemini, rag, robeing, 1차] - [0_VALUE 임베딩 정책](https://github.com/happybell80/0_VALUE/blob/main/02_Governance/embedding-policy.md) - [임베딩 1차 로빙 Gemini 2 전환 계획](../plans/260316_임베딩_1차_로빙_Gemini2_전환_계획.md) +- [임베딩 1차 로빙 Gemini 2 전환 배포 및 검증 완료](../worklog/260316_임베딩_1차_로빙_Gemini2_전환_배포및검증완료.md) - [임베딩 2차 StarsAndI·GooseCouncil 전환 문제 오픈](./260316_임베딩_2차_StarsAndI_GooseCouncil_전환_문제오픈.md) - [rb8001 메모리 ChromaDB 768/384 차원 드리프트](./260312_rb8001_memory_chromadb_768_384_dimension_drift.md) - [skill-embedding 서비스 구축](./250805_happybell80_skill-embedding서비스구축.md) diff --git a/journey/worklog/260316_임베딩_1차_로빙_Gemini2_전환_배포및검증완료.md b/journey/worklog/260316_임베딩_1차_로빙_Gemini2_전환_배포및검증완료.md new file mode 100644 index 0000000..2430b37 --- /dev/null +++ b/journey/worklog/260316_임베딩_1차_로빙_Gemini2_전환_배포및검증완료.md @@ -0,0 +1,119 @@ +--- +tags: [worklog, embedding, gemini, rag, robeing, 1차, deploy, verification] +--- + +# 260316 임베딩 1차 로빙 Gemini2 전환 배포 및 검증 완료 + +## 상위 원칙 + +- [0_VALUE 임베딩 정책](https://github.com/happybell80/0_VALUE/blob/main/02_Governance/embedding-policy.md) +- [임베딩 1차 로빙 Gemini 2 전환 문제 오픈](../troubleshooting/260316_임베딩_1차_로빙_Gemini2_전환_문제오픈.md) +- [임베딩 1차 로빙 Gemini 2 전환 계획](../plans/260316_임베딩_1차_로빙_Gemini2_전환_계획.md) + +## 상태 + +- completed + +## 이번 작업에서 확정한 것 + +- `workspace-config`를 임베딩/DB 환경변수 SSOT로 고정하고, `rb8001/.env`, `skill-rag-file/.env`의 중복 키를 제거했습니다. +- 24 서버에서 `skill-embedding`, `skill-rag-file`, `rb8001`를 다시 배포해 모두 `healthy` 상태로 올렸습니다. +- `skill-embedding` 자동배포 워크플로우는 24 SSH fail-fast, `workspace-config` 동기화, 원격 파일 복사 안정화 기준으로 보강했습니다. +- `rb8001` 자동배포 워크플로우는 24 git pull 가정 제거, `workspace-config` 동기화, 루트 데이터 디렉토리만 보존하도록 보강했습니다. + +## 24 배포 후 확인 + +- `skill-embedding`: `healthy` +- `skill-rag-file`: `healthy` +- `rb8001`: `healthy` +- 24 `workspace-config/runtime.env` + - `EMBEDDING_SERVICE_URL=http://localhost:8515` + - `EMBEDDING_DIM=768` + - `EMBEDDING_MODEL=gemini-embedding-2-preview` +- 24 `workspace-config/secrets.env` + - `GEMINI_API_KEY` 존재 + - `DATABASE_URL=postgresql://robeings:robeings@192.168.0.100:5432/main_db` + - `TEST_DATABASE_URL=postgresql://robeings:robeings@192.168.0.100:5432/test_db` + - `METRICS_DATABASE_URL=postgresql://robeings:robeings@192.168.0.100:5432/robeing_metrics` + +## 검증 결과 + +### 1. skill-embedding 직접 검증 + +- 텍스트 `/embed` 호출 → HTTP 200, `dimensions=768`, 벡터 길이 `768` +- PDF `/embed` 호출 → HTTP 200, `dimensions=768` +- 이미지(`/home/admin/robeing/verification_assets/verification_16x16.png`) `/embed` 호출 → HTTP 200, `dimensions=768` +- 운영 로그 근거: + - `Model loaded successfully: gemini-embedding-2-preview` + - `Embedding dimensions: 768` + - `event=embedding_request status=success ... model=gemini-embedding-2-preview` + +### 2. skill-rag-file Company X RAG 검증 + +- Team UUID: `79441171-3951-4870-beb8-916d07fe8be5` (`Company-X Team`) +- TXT 업로드 성공: + - `companyx_test.txt` + - `document_id=827066cb-e464-43e2-9f4b-c2c178e8e066` + - `chunk_count=1` +- TXT 검색 성공: + - 질문: `What is the official embedding gateway for Company X RAG verification?` + - 결과 1건, `companyx_test.txt`, `relevance_score=0.8244` +- PDF 업로드 성공: + - `verification_reportlab.pdf` + - `document_id=22f433ea-875a-4416-a78e-5075b0e5b1a5` + - `chunk_count=1` +- PDF 검색 성공: + - 질문: `What does the PDF say about the embedding gateway and dimension?` + - 결과 2건 중 1순위 `verification_reportlab.pdf`, `relevance_score=0.7513` +- 운영 로그 근거: + - `event=embedding_request status=success count=1 model=gemini-embedding-2-preview dimensions=768` + +### 3. skill-rag-file ChromaDB 768 확인 + +- 컬렉션: `skill_rag_file_79441171-3951-4870-beb8-916d07fe8be5_documents` +- 문서 수: `2` +- 임베딩 길이 집합: `[768]` +- 포함 파일: + - `companyx_test.txt` + - `verification_reportlab.pdf` + +### 4. rb8001 메모리 경로 검증 + +- `POST /api/v1/memory/event` 성공 + - `event_id=fe115c2843d02de30a67e9d0a8fd0619` +- `GET /api/v1/memory/stats` 성공 + - Chroma collection: `rb8001_53529291-5050-4daa-89fb-008b546feb63_memory` + - Neo4j `event_count=1` +- rb8001 메모리 컬렉션 직접 확인 + - 컬렉션 문서 수: `613` + - 임베딩 길이 집합: `[768]` + - `skill-embedding gateway 768 dimension verification` 질의 시 최상단 문서: + - `Gemini 2 memory verification event. The official embedding gateway is skill-embedding and the dimension is 768.` +- 운영 로그 근거: + - `임베딩 서비스 URL: http://localhost:8515/embed` + +### 5. pgvector 768 확인 + +- `main_db.intent_prototypes.embedding`의 `atttypmod=768` + +## 닫힘 조건 점검 + +1. skill-embedding Gemini 2, 768d 동작: 충족 +2. rb8001·skill-rag-file 기존 `/embed` URL 참조: 충족 +3. skill-rag-file 컬렉션·intent_prototypes 768 통일 확인: 충족 +4. Company X RAG·rb8001 메모리 저장/검색 새 경로 동작: 충족 +5. PDF·이미지 직접 임베딩 동작: 충족 +6. 자동/수동 검증·운영 로그: 충족 +7. 실제 배포 후 Gemini 2 단일 경로 유지: 충족 +8. 닫힘 선언 문서화: 충족 + +## 결론 + +- 임베딩 1차 로빙 Gemini 2 전환은 24 서버 실배포와 검증까지 완료했습니다. +- 문제·리서치·계획 문서는 본 worklog를 근거로 닫을 수 있습니다. + +## 관련 문서 + +- [임베딩 1차 로빙 Gemini 2 전환 문제 오픈](../troubleshooting/260316_임베딩_1차_로빙_Gemini2_전환_문제오픈.md) +- [임베딩 1차 로빙 현황 및 SSOT 리서치](../research/rag/260316_임베딩_1차_로빙_현황_SSOT_리서치.md) +- [임베딩 1차 로빙 Gemini 2 전환 계획](../plans/260316_임베딩_1차_로빙_Gemini2_전환_계획.md)