기본 프로바이더를 로컬 Ollama 로 전환하고, 받을 수 있는 기본 모델로 교체 - #3
Merged
Conversation
`kanana-1.5-8b` 는 Ollama 공식 라이브러리에 없다 (ollama.com/library/kanana → HTTP 404, 2026-07-29 확인). 따라서 아무 설정 없이 `ttobak web` 을 실행하면 기본 경로가 곧바로 'model not found' 로 깨졌다 — 처음 써 보는 사람이 가장 먼저 밟는 길이다. qwen2.5:7b 로 교체한다: - Ollama 공식 라이브러리에 있어 `ollama pull qwen2.5:7b` 로 바로 받힌다 - Apache-2.0 (Qwen2.5 는 3B·72B 만 NC — 7B/14B 는 Apache-2.0) - 결과보고서 붙임2 가 신고하고 시연영상이 실제로 사용한 바로 그 모델 - README 도 이미 기본 모델을 qwen2.5:7b 로 안내하고 있었다 (코드만 어긋나 있었음) Kanana-1.5 는 문서화된 대안으로 유지하되, 공식 라이브러리에 없어 Hugging Face GGUF 태그가 필요하다는 점을 명시했다. 회귀 방지: 기본 모델 태그가 `ollama pull` 가능한 형식인지 (외부 저장소 경로가 아닌지) 검사하는 테스트를 추가.
지금까지 `make_provider()` 의 기본값은 원격 `anthropic` 이었고, docstring 도 Anthropic 을 "demo default", Ollama 를 "local fallback" 으로 라벨링했다. 실제 설계는 정반대다 — 또박은 로컬 오픈웨이트 모델만으로 완결 동작하고 원격 API 는 교체 가능한 선택지다. 코드가 그 사실과 어긋나 있었다. 1) 기본값 전환: $TTOBAK_PROVIDER → "ollama" (DEFAULT_PROVIDER 상수 신설). `ollama` 분기를 make_provider() 에 추가하고, anthropic 은 이름을 명시해야 닿는 경로로 남긴다. 라벨도 뒤집었다(기본 ↔ 선택적 대안). 2) 조용한 폴백 제거: 구성 실패 시 FakeProvider 로 떨어지는 동작은 CI·데모 안전성 때문에 유지하되, 이제 stderr 경고와 웹 UI 배너로 반드시 알린다. 미리 정해진 고정 문장을 실제 변환 결과로 오인하는 것이 조용한 폴백의 진짜 위험이었다 — 특히 키·데몬 없이 실행하는 제3자에게 그렇다. 검증자는 터미널이 아니라 브라우저를 보므로 stderr 만으로는 부족하다. 오타난 프로바이더 이름도 이제 조용히 스텁으로 떨어지지 않는다. 배경: 대회 운영규정 제9조 ②-1-다는 "외부 API 호출을 통해서만 작동하는 상용 API 전용 모델을 서비스 형태로 단순 연결하는 출품작" 을 제한한다. 또박은 로컬 독립 구동이 가능해 해당하지 않지만, 그 사실이 문서 문구가 아니라 코드의 기본 동작으로 드러나야 한다. 실측: 환경변수·API 키 없는 상태로 parse → simplify 완주 확인 (OllamaProvider / qwen2.5:7b, 4.3초, K-ER 79.2, Fidelity PASS, 금액·기간·날짜·기관명·연락처 전부 보존).
- README 빠른 시작을 로컬 모델 기준으로 재구성 (ollama pull → ttobak web). `--provider fake` 는 "모델 받기 전 화면만 보기" 용도로 격하하고, 그 화면이 실제 변환이 아님을 명시. - docs/providers.md: 표 순서를 ollama(기본) → anthropic(선택) → fake 로 바꾸고, kanana 가 공식 라이브러리에 없다는 사실과 GGUF 태그 필요성을 기록. 폴백이 조용하지 않다는 계약도 문서화. - CLAUDE.md: 프로바이더 절 갱신 + 기본값을 원격으로 되돌리지 말 것, 기본 모델 태그는 Ollama 공식 라이브러리에 실재해야 한다는 제약 추가.
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.
Closes #1
Closes #2
무엇을
또박의 기본 실행 경로를 인터넷도 상용 API 도 없이 실제로 동작하는 상태로
만든다. 지금까지는 두 군데가 어긋나 있어서, 아무 설정 없이 실행하면 반드시 무언가
잘못됐다.
anthropic(원격 API)ollama(로컬)kanana-1.5-8b(pull 불가)qwen2.5:7b(공식 라이브러리)왜
kanana-1.5-8b를 Ollama 에서 받을 수 없음 #1 —kanana-1.5-8b는 Ollama 공식 라이브러리에 없다(404). 문서대로ollama pull을 치면 그 자리에서 실패한다. 처음 써 보는 사람이 가장 먼저 밟는길이 끊겨 있었다.
API 였다. 그리고 키가 없으면 아무 표시 없이 고정 문장을 내보냈다 — 그럴듯한
한국어라서 실제 변환 결과로 오인하기 쉽다.
커밋 3개
fix(providers)— 기본 모델kanana-1.5-8b→qwen2.5:7bfeat(providers)— 기본 프로바이더를 로컬로 전환 + 폴백 가시화docs(providers)— README·docs/providers.md·CLAUDE.md 정합화검증
실측 — 환경변수(
TTOBAK_PROVIDER)와ANTHROPIC_API_KEY를 모두 지운 상태에서parse()→simplify()완주:청년월세 안내문(합성)을 입력했을 때 금액(20만원)·기간(12개월)·신청기간(2026-08-03
~09-30)·기관명(강서구청)·연락처(02-2600-1234)가 모두 보존됐다. 같은 입력을 반복
실행하면
human_review판정도 나오는데, 이는 Fidelity 게이트가 보수적으로 회부하는정상 동작이다.
게이트 — 411 passed · ruff clean ·
ttobak auditPASS새 테스트 8개
ollama인가 /make_provider(None)이 실제로 그 경로를 타는가fake선택은 조용한가ollama pull가능한 형식인가 (외부 저장소 경로가 아닌지 — 기본 로컬 모델 태그kanana-1.5-8b를 Ollama 에서 받을 수 없음 #1 회귀 방지)호환성
깨지는 변경 없음.
--provider anthropic과$TTOBAK_PROVIDER는 그대로 동작하며,원격을 쓰던 사람은 환경변수 하나로 이전 동작을 유지할 수 있다.