feat(llm): 로컬 모델 자동 발견 — 게이트웨이 /model/info 로 카탈로그 갱신 - #705
Merged
Conversation
정적 카탈로그(local-models.ts 한 줄)가 목록의 유일한 출처라 DGX 에서 모델을 교체해도 앱이 옛 이름을 계속 표시했다(qwen3.6→3.8 교체가 alias 뒤에 가려진 사고). 이제 부팅·주기 프로브(Stage 0)가 LiteLLM /model/info 를 읽어 로컬(provider prefix 없는) 모델을 발견한다. - config/local-models-discovery.ts: 순수 선별 규칙 — provider prefix 제외, mode/id 패턴으로 이미지·음성 제외·임베딩은 role=embedding, 같은 upstream 을 가리키는 alias(gpt-3.5-turbo)는 정식 이름 하나로 접음, 이전 카탈로그의 프로브 실측치 보존 (+ fetch, fail-open) - local-models.ts: discoverLocalModels() 가 _cached 갱신, probeLocalModelAvailability 앞단에 배선. LLM_LOCAL_MODELS_JSON(명시 override) 우선, LLM_LOCAL_MODELS_DISCOVERY=false 로 끔. LLM_DEFAULT_MODEL 이 발견 목록에 없으면 경고. - 정적 DEFAULT_LOCAL_MODELS 는 게이트웨이 불달 시 폴백으로만 잔존. - 단위 테스트 6건 (운영 /model/info 형태 그대로) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BtAjkS2BAQ7JxMsidkdYQD
Contributor
평가 회귀 리포트 (
|
| 평가 | 통과율 | 통과/전체 | 베이스라인 | 상태 |
|---|---|---|---|---|
| Routing (Gate 5) | 100.0% | 120/120 | 50.0% | ✅ |
| Response (Gate 6) | 100.0% | 30/30 | 50.0% | ✅ |
- 데이터셋 버전: routing=
0.8.3, response=0.8.3 - 베이스라인은
OMK_EVAL_PASS_THRESHOLD/OMK_EVAL_RESPONSE_THRESHOLD환경변수 기준 (이력 비교 아님) - 상세 결과: Actions 실행의
evaluation-results-aa806c3a65db5cec672cb26fad01f5e055a51c8e아티팩트 참조
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
배경
로컬 모델 목록의 유일한 출처가 `config/local-models.ts` 의 정적 카탈로그 한 줄이라, DGX 에서 모델을 교체해도(qwen3.6→3.8, PR #704) 앱은 옛 이름을 계속 표시했다. 게이트웨이 `/v1/models` 대조는 가용/불가 표시에만 쓰였다.
변경
검증
참고
vLLM 측 alias(`--served-model-name` 두 번째 이름 `qwen3.6-35b-a3b`)는 LiteLLM upstream 이름이 달라 게이트웨이 정보만으로는 접지 못한다 — DGX `env/chat.env` 에서 제거하면 자연히 사라진다.
🤖 Generated with Claude Code
https://claude.ai/code/session_01BtAjkS2BAQ7JxMsidkdYQD