diff --git a/docs/tech/abap-indexing-with-fabrix.md b/docs/tech/abap-indexing-with-fabrix.md index 7e79bbb..f84c962 100644 --- a/docs/tech/abap-indexing-with-fabrix.md +++ b/docs/tech/abap-indexing-with-fabrix.md @@ -15,6 +15,36 @@ CodeAssist 백엔드의 `/api/ito/chat/completions` 는 OpenAI 호환 입구고, summarize.runner ──OpenAI 호환(Bearer)──▶ Django :8080/api/ito ──FabriX 헤더──▶ FabriX (x-llm-model-id=339) ``` +## 로컬(내 PC)에서 먼저 돌릴 때 — OpenRouter 직결 + +고객사 전이라 로컬에서 돌리면 게이트웨이 필요 없음. 인덱싱 클라이언트가 OpenRouter 를 그대로 지원함(`usage.include` 까지 붙임). + +```ini +# ABAP_INDEXING/.env +LLM_BASE_URL=https://openrouter.ai/api/v1 +LLM_API_KEY=sk-or-... # CodeAssist 개발에 쓰는 OpenRouter 키 그대로 +LLM_MODEL=z-ai/glm-5.2 # 텍스트 요약. CodeAssist 로컬 기본 모델과 같음 +LLM_CONCURRENCY=4 +SUMMARIZE_BACKEND=api +``` + +```bash +cd ABAP_INDEXING +python -m venv .venv && .venv/Scripts/pip install -e ".[dev]" +# data/raw/*.txt 배치 후 +.venv/Scripts/python -m ingest.normalize && .venv/Scripts/python -m parser.run && .venv/Scripts/python -m index.loader +.venv/Scripts/python -m summarize.runner --llm api --program <프로그램명> --limit 3 # 작게 먼저 +.venv/Scripts/python -m summarize.jobs stats +.venv/Scripts/python -m summarize.runner --llm api # 전량 +.venv/Scripts/python -m index.loader --force +.venv/Scripts/python -m query.api # 127.0.0.1:8100 +``` + +- 무료 티어(`:free`)는 429 로 굳는 이력 있음(`ASSUMPTIONS.md` 3). 유료 키로. +- 비용: `run-record.md` "GLM 5.2 비용 실측" 참고. 55본 기준 수치가 있음. +- 끝나면 CodeAssist 로컬은 `.env` 의 `ABAP_INDEX_URL` 기본값(127.0.0.1:8100)이라 OpenCode 재시작만 하면 `[출처: 프로그램/unit]` 붙은 답이 나옴. +- 고객사로 옮길 땐 `data/index.db` 파일 하나만(소스 원문까지 안에 있음) — 위 "-12 에서 준비" 절의 FabriX 재인덱싱은 안 해도 됨. 단 조각 설명이 GLM 산출이라 모델 표기(`PROMPT_VERSION`·모델명)를 같이 적어둘 것. + ## -12 에서 준비 전제: CodeAssist 백엔드가 -12 에 떠 있고(`curl :8080/api/ito/models` 에 모델 3개), `.env` 의 `AAF_FABRIX_*` 가 채워져 있음.