Ollama가 0.40.14를 공개하며 OpenAI 호환 방식으로 모델을 쓰는 앱의 기본 생성 설정과 대화 입력 처리를 고쳤다. 설정을 따로 보내지 않으면 모델에 담긴 값을 따르고, 이전 답변을 다시 보내는 앱은 거절 내용을 포함한 입력을 읽을 수 있는 형태로 유지한다.

1. OpenAI 호환 경로가 모델 설정을 따른다

11월 3일 공개된 릴리스 노트에 따르면 OpenAI 호환 엔드포인트, 요청을 받아 처리하는 접점은 이제 모델에 담긴 샘플러 기본값을 덮어쓰지 않는다. 샘플러 설정은 답변을 생성할 때 다음에 나올 표현을 얼마나 다양하게 고를지 조절하는 값이다.

요청에 temperature와 top_p를 보내지 않으면 이전에 적용되던 1.0 대신 모델 자체의 값이 사용된다. 모델에 넣어 둔 생성 설정이 호환 접속을 거치면서 다른 값으로 바뀌던 지점을 고친 것이다.

릴리스 노트는 이 동작이 Ollama의 /api/chat과 일치한다고 설명한다. 같은 모델을 두 경로로 사용하는 개발자에게는 값을 생략했을 때의 기준이 맞춰진다는 의미가 있다.

2. 미지정 값은 모델 파일에서 확인한다

모델 파일에는 실행 시 사용할 파라미터, 실행 동작을 정하는 설정값을 넣을 수 있으며, 이를 확인할 때 공식 문서가 안내하는 명령은 다음과 같다.

ollama show --modelfile llama3.2

공식 문서는 temperature를 높이면 답변이 더 창의적으로 바뀐다고 설명한다. 따라서 생략한 값이 어디서 정해지는지는 단순한 설정 정리보다 답변의 생성 성향에 관계된 문제다.

업데이트를 적용할 때는 먼저 사용하는 모델의 설정을 살피고, 클라이언트, 요청을 서버에 보내는 앱이 같은 항목을 요청에 넣는지 확인하는 순서가 유용하다. 이번 변경은 값을 보내지 않는 호출에 직접 영향을 주므로, 요청에 값이 있는 경우와 없는 경우를 나눠 살펴야 원인을 좁히기 쉽다.

특정 생성 설정을 유지하려는 클라이언트는 필요한 값을 요청에 직접 지정할 수 있다. 모델 파일에서 기본값을 관리할지, 개별 요청에서 값을 정할지는 앱이 모델의 기본 성향을 따를지에 맞춰 선택할 일이다.

3. Responses가 입력 내용을 읽을 수 있게 보존한다

릴리스는 /v1/responses가 읽을 수 있는 입력 내용을 보존한다고 밝혔다. 이전 어시스턴트 메시지에 포함된 거절 내용도 보존 대상이며, 입력을 일괄적으로 펼쳐 처리하던 동작을 바꿨다.

여러 차례 대화를 주고받는 앱에는 이전 답변도 다음 요청의 재료가 된다. 이번 변경은 그 재료를 다시 보낼 때 거절 내용까지 읽을 수 있게 남기는 데 초점이 있다. 샘플러 수정이 생성 설정에 관한 것이라면, 이 수정은 전달하는 대화 내용에 관한 것이다.

공식 문서상 Responses는 서버가 이전 요청의 상태를 이어받는 방식을 지원하지 않는다. 대화를 이어갈 앱은 필요한 이력을 요청의 입력에 담아 보내는 방식으로 구성해야 한다.

4. 기본 동작을 바꾸는 이점과 점검할 비용

개발자에게 돌아오는 이익은 모델에 설정한 샘플러 값을 경로마다 따로 맞추는 부담이 줄어든다는 점이다. 반면 값을 지정하지 않던 기존 호출은 모델별 기본값을 따르면서 생성 결과가 달라질 수 있어, 업데이트 비용이 기존 테스트의 기준을 다시 맞추는 쪽으로 옮겨간다.

결과 비교에서는 모델과 입력만 맞추기보다 요청에 샘플러 값을 넣었는지도 함께 확인하는 편이 낫다. 대화 앱은 거절이 담긴 이전 답변을 다시 보내는 흐름도 점검 대상으로 삼을 수 있다. 두 수정의 영향을 생성 설정과 대화 입력으로 나눠 보면 업데이트 뒤 바뀐 동작을 찾기 쉽다.

이번 버전의 핵심은 호환 경로가 모델의 샘플러 설정을 존중하고, Responses 대화 입력의 의미 있는 형태를 지키도록 한 것이다.