에이전트와 개발

llama.cpp 서버, /v1/realtime 실시간 대화·전사 추가

llama.cpp 서버에 /v1/realtime 경로로 실시간 대화와 음성 전사 기능이 들어갔다. 채팅 템플릿이 지원하는 추론 강도 단계도 /props로 조회할 수 있다.

루카스 ·

llama.cpp 서버에 /v1/realtime 경로로 실시간 대화와 전사를 처리하는 기능이 들어갔다. 빌드 b11946에 포함된 변경(#31269)이다. 이보다 이른 시각에 올라온 빌드 b11944(#31271)는 서버가 채팅 템플릿의 추론 강도 단계를 읽어 API로 알려 주도록 바꿨다. 두 빌드 모두 프로젝트 릴리스 페이지에 시험판으로 표시돼 있다.1,2

b11946의 실시간 기능은 Xuan Son Nguyen과 공동으로 작성됐다. 일부 커밋에는 Claude Opus 5.5의 도움을 받았다는 Assisted-by 표기가 붙어 있고, 모든 커밋에 있는 것은 아니다. 함께 들어간 예제 클라이언트는 서버 포트 9931을 기본값으로 쓰고, 모델 카드에 실린 프롬프트를 사용한다. 실시간 관련 코드는 server-realtime으로 옮겨 독립된 모듈로 만들었다.

동시 세션에서 응답이 섞이는 문제도 같은 빌드에서 고쳤다. 슬롯들은 하나의 컨텍스트에서 차례로 응답하는데, 다음 단계가 시작될 때 샘플링하면 마지막으로 디코딩한 슬롯의 로짓을 읽게 되어 세션별 출력이 뒤섞였다. 이제 각 응답은 자기 디코딩 직후에 샘플링한다.1

b11944의 추론 강도 노출은 서버가 템플릿을 직접 시험해 알아내는 방식이다. 후보 단계인 minimal, low, medium, high, xhigh, max와 정의되지 않은 단계에 대해 각각 사용자 턴을 렌더링한다. 오류 없이 렌더링되고 결과가 미지정 단계와 다르면 템플릿이 그 단계를 지원하는 것으로 본다. 렌더링 결과가 같은 단계는 별칭으로 묶어 가장 높은 단계만 남긴다.2

결과는 /props의 chat_template_caps 아래 reasoning_effort_levels로 낮은 단계부터 높은 단계 순서로 나온다. 내부적으로는 jinja 쪽 기능 정보가 JSON 의존성을 갖지 않도록 정리했다. 두 빌드 모두 macOS, Linux, Windows, Android용 실행 파일이 CUDA와 Vulkan 등 백엔드별로 배포되며, 배포 목록은 같다.1,2

댓글

기사에 대한 의견이나 틀린 내용 제보를 남겨 주세요.

댓글을 불러오고 있습니다.