◼ Comment MiniCPM을 기반으로한 인터랙션 모델로 Gander로 부름 입력으롤 텍스트,오디오,비디오가 스트리밍으로 들어가 출력은 텍스트/오디오임 먼저 메인모델 thinker은 텍스트를 생성하고, 여기서 생성된 텍스트토큰이랑, hidden representation을 talker에 넘겨서 오디오 토큰을 생성함 오디오 토큰은 디코더 태워서 실제 음성으로 만들어짐 입력 오디오와 비디오는 사전에 학습된 encoder을 통해 continuous embedding이 들어감 생성된 오디오는 thinker에 들어가는 구조는 아님 thinker은 텍스트 토큰에서 control token까지도 생성함 컨트롤 토큰이란, Listen / Speak / Interrupt / Tool을 말하는건데 우리가 사용하는 speak_pad, listen_pad, wait_pad 같은 그런 용도임 또한 tool-call content 을 생성하는데 이것은 runtime에 보낼 토큰임 <tool_call> {"name": "tool_state", "arguments": {"key": "value"}} </tool_call> 이런 토큰을 프론트모델(thinker)에서 직접 생성한다는 것이다 tool state라고 위에선 말했지만, 여기에 대응되는게 실제로는 task_start, task_send, task_resolve가 존재한다고함 이게 담는 내용은 어떤 툴을 어떤 인자로 호출할지를 생성한지를 의미 한번의 통신으로 끝나는 상황이 아닌, 여러 번 왔다 갔다 한다는 상황에 맞게 정의한 느낌인데, 밑에 3.2.1에 예시 적어둠 그리고 사용자 audio query의 transcription + 관련 video final frames을 함께 백엔드로 넘긴다고함 백엔드는 클로드코드 같은걸 의미해서 이러한 tool-call content와 기존 대화를 받는 개념 즉 프론트가 툴관련 내용도 ...