Token-Meter

https://github.com/cornpip/TokenMeter

 

GitHub - cornpip/TokenMeter: Local ChatGPT

Local ChatGPT. Contribute to cornpip/TokenMeter development by creating an account on GitHub.

github.com

 

주요 업데이트

- System Instruction

instruction prompt 는 msg history에 role: system 으로 항상 포함되며, 전반적인 응답 지침을 가이드한다.

 

- Create Edit Image API, SAM2 Mask

https://platform.openai.com/docs/api-reference/images/createEdit

inPaint image generation api 가 있길래 사용해 보았다.

 

마스크 이미지가 필요하다. ai_server 를 만들어 sam2 를 띄워놓았다.

// main.py
predictor = SAM2ImagePredictor.from_pretrained("facebook/sam2-hiera-base-plus")

token-meter-ai 도커 이미지를 최초 실행하면 허깅페이스에서 sam2 모델을 다운로드하는 시간이 소요된다. (300MB 정도) 

 

마우스 왼쪽은 포함하고 싶은 영역, 오른쪽은 제외하고 싶은 영역이다.

 

 

결과가 별로다. Create Edit 는 OpenAI 에서 집중하는 기능은 아닌 것 같다.

 

- Github Page, MSW(Mock Service Worker)

https://cornpip.github.io/TokenMeter/

TokenMeter 예시 사이트를 깃헙 페이지에 호스팅 해두었다.

이제 TokenMeter 를 설치하기 전에, 서비스의 흐름과 사용 방식을 확인할 수 있다.

 

TokenMeter는 서버/클라이언트로 분리되어 있고, 정적 결과물을 호스팅 하려면 서버 없이 mock 데이터를 구성해야 한다.

하지만 클라이언트 API 처리 로직은 상태 관리와 깊게 결합되어 있어 mock 데이터 로직을 코드에 추가하고 관리하는 것이 번거로웠다.

 

그렇다면 기존 코드와 최대한 결합하지 않은 채로 mock 데이터를 사용하려면 어떻게 할까?

 

MSW 패키지를 사용하면 브라우저에 프록시를 띄우고 응답을 가로채 mock 데이터를 제공할 수 있다.

그래서 클라이언트의 요청/응답 로직은 그대로 유지하면서도, 서비스 코드와 분리된 구조로 mock 데이터를 사용할 수 있었다.

 

추후 업데이트

- 로컬 LLM

로컬에서 LLM 구동( OpenAI API와 선택 사용 가능하도록 )

 

- 로컬 이미지 생성

로컬에서 이미지 생성 ( OpenAI API와 선택 사용 가능하도록 )

 

특히, 일관된 품질이 나오는 특정 플로우는 별도 메뉴(서비스)로 제공하기.

이미지 생성 품질은 모델에 적합한 전처리 과정과 프롬프트를 포함한 다양한 파라미터들을 제한함으로써 일관성을 확보할 수 있다.