HOME 자유게시판

자유게시판

자유게시판 상세
자.. 이제 소회를 좀 써보자... 삽질이 실패한 결과로 끝난게 하루이틀도 아니고...

onionmixer 2025-09-25 21:19:15 60

case : lm studio...

lm studio 는 model 과 사용자 api 사이에 위치한다. 그래서 웬만해서는 client 에서 원하는대로 나온다. 이게 어떤 의미인거냐면...

* REQ1 : hello - 이건 chat 으로 처리되어야 한다. lm studio 에서 값이 반환될때 tool 로 날아오는게 아니라 그냥 쳥문으로 날아와야 맞는 경우라는거..

* REQ2 : 뭐뭐 해주세요 - 이건 tool 로 날아와야 한다. LLM 에서 연산된 명령 순서대로 client 에게 일을 시키기 위한.. 일종의 worksheet 이기 때문이다. 이게 이상하게 날아오면 안되는데, 날아온다면 일정한 형식을 갖춰서 http-stream 으로 날려야 한다.


case : ollama

ollama 는 lm studio 와는 다르게 모델에 그냥 던지고, 모델에서 받은걸 그냥 전달하는 정도만 한다. 그래서 model 에 끼는 잡음은 없지만.. 동작이 좀 미묘하다... 이건 이 아래 부분에서 적도록 하고...

* REQ1 : hello - tool 형식이기는 한데 stream 이 아니라 JSON 으로 던진다

* REQ2 : 뭐뭐 해주세요 - JSON 으로 던진다. Openapi 형식인거 같기는 한데... stream 형식이 아니라서 그런지 JSON 인데 평문 취급이 된다. 고로 cli 에서는 화면에 JSON 이 출력된다는 의미.


자.. 이제 좀 얘기를 해보자면, 요 며칠 cli 와 상관없이 qwen3-coder 를 비롯한 code 모델을 open webui 에서 사용해봤는데.. code 모델은 대부분 tool 을 지원한다. 그런데 웃긴건 open webui 에서 tool 로 code 모델과 대화하는 순간부터 일반 chat 모드로 잘 넘어가지 못한다. 넘어가도 금방 tool 형태로 답변을 시작해버린다.

일반 대화모델은, 일반적으로 discussion 하기에는 좋지만 tool mode 로 진입하기가 어렵다. 고로 다루기가 쉽지 않다는 의미.


이런면에서 LM studio 는 대단한거다. 개인적인 생각이지만 openai api 로 들어온 요청이 chat 인지 tool 인지를 내부에서 LLM 에게 물어서 한번 판단하고, 그걸 기준으로 들어오는 요청을 chat 으로 처리할지, tool 로 처리할지를 판단해서 LLM 에게 한번 더 요청을 넣는 로직이 아닌가 싶다. 그게 아니라면 이건 말이 안됨. 어차피 ollama 나 lm studio 나 완전히 동일한 model 을 사용하고, qwen-code cli 에서는 동일한 요청을 넣는데 다른 return type 이 나오는건.. 이거 외에는 설명이 안된다. 적어도 LM studio 자체로 소형 model 을 내장해서 쓰던가... 등의 상황이 아니라면 이건 도저히 말이 안된다.

 

어제부터 작업하던게.. ollama 환경을 만들어놓고.. continue 동작도 때에따라 이상하길래 아예 잡고 가야겠다 싶어서 liteLLM 처럼 broker 를 하나 만들고 client 에서 들어가는 요청을 다듬어서 ollama 쪽에 넣고 return 을 살펴본다음 chat 인거같으면 평문으로, tool 인거같으면 tool 로 처리해주는.. 중간 전처리기를 작업해보고 있었는데.. 답이 안나옴....... 그냥 string 만으로는 안되는 수준인거라.... 왜냐하면 ollama 에서 반환하는게 tool 과는 상관없이 open webui 에서나 쓸법한 결과물로 반환되는데..(이게 정상이기는 하지) 이걸 도저히 후처리를 못하겠다.

어디까지 해봤냐면, 혹시나 싶어서 LM studio 에서 사용한 model 을 허깅페이스에서 받아서, qwen3-code 의 450b model 의 tool 을 개선하하는데 사용된 ninja templete 을 가져와서 ollama 의 go TEMPLETE 으로 변환한다음 Modelfile 로 모델 생성까지 해봤는데.. 안된다. 글렀어.


코딩용으로 쓸거라면 LM Studio 를 추천한다. ollama 환경을 좋아하기는 하고, 지금도 뭐 그럭저럭? 이라는 생각은 들지만.... 이 노력이라면 걍 LM Studio 를 추천하고 말겠다. broker 로 원하는 포매팅을 AI 에 맡길수 있는.. 그런걸 만들면 해결은 다 될거같은데.. 여튼 못해먹겠음... 현실 시간으로 이틀을 말아먹었네....

댓글 0개

이전글/다음글 목록
이전 글 작성 해봅니다.
다음 gdb 를 이용한 디버그 과정의 기록