이 adapter가 하는 일
Ollama NDJSON streaming을 universal StreamChunk로 번역. Message content, tool call, timing 가진 final done frame 처리. Health check (/api/version에서 HTTP 200) 구현, model listing (/api/tags) 구현.
번역 map
| Ollama 필드 | StreamChunk 필드 |
|---|---|
message.content | content |
message.tool_calls | tool_calls (그대로 통과; 이미 parsed dict) |
done: true | done = True + tokens_per_sec |
| (없음) | thinking (emit하는 reasoning 모델만 사용) |
에러 어디서 처리?
Adapter의 stream() 안에서. Connection refused → OllamaUnavailable (orchestrator가 잡아서 fallback trigger). Read timeout → ModelLoadingTimeout. Malformed JSON 줄 → OllamaProtocolError. 각각 의미 있게 로깅할 만한 context 가짐.