본문 바로가기
개발/ETC

[LiteLLM] OpenAI format 커스텀 LLM Agent 만들기

by 무아몽중 2024. 4. 17.
728x90

안녕하세요?

 

오늘은 LiteLLM을 사용해서 OpenAI format의 커스텀 LLM Agent를 만들어 보겠습니다. 

 

LiteLLM?

 

LiteLLM은 이미 존재하는 100+ 이상의 LLM들에 대한 Client 패키지와 Proxy를 지원해주는 패키지 입니다. 

LiteLLM을 사용하게 되면 쉽게 다양한 LLM들을 사용할 수 있습니다. 저는 UI에서 다양한 LLM 이외에도, 자체적으로 개발한 Custom LLM을 연결하는 Proxy 기능으로 활용을 하게 됐습니다.

 

https://litellm.vercel.app/ 

 

LiteLLM - Getting Started | liteLLM

https://github.com/BerriAI/litellm

litellm.vercel.app

 

 

Custom OpenAI Proxy

 

LiteLLM에서는 아래 나오는 것 처럼 Custom Agent에서 Open AI format으로 Response 형식만 맞춰주면, LIteLLM 패키지를 클라이언트로 사용할 수 있습니다. 

 

https://litellm.vercel.app/docs/providers/custom_openai_proxy

 

Custom API Server (OpenAI Format) | liteLLM

LiteLLM allows you to call your custom endpoint in the OpenAI ChatCompletion format

litellm.vercel.app

 

뿐만 아니라, LiteLLM Proxy를 활용하게 되면 다양한 LLM을 Proxy 하거나, Custom Agent로도 Proxy를 하도록 설정할 수 있습니다.

 

https://litellm.vercel.app/docs/proxy/configs

 

Proxy Config.yaml | liteLLM

Set model list, apibase, apikey, temperature & proxy server settings (master-key) on the config.yaml.

litellm.vercel.app

 

Custom Agent의 경우에는, 아래 처럼 추가하여 사용할 수 있습니다. 

아래 주소는 example endpoint 입니다.

 

- litellm_params:
    api_base: https://exampleopenaiendpoint-production.up.railway.app/
    api_key: fake-key
    model: openai/fake
  model_name: fake-openai-endpoint

 

또한, 분당 리퀘스트를 제한할 수도 있으니 필요에 따라 설정을 하면 됩니다. 

Proxy UI는 현재 베타버전이네요..

 

* LiteLLM Proxy는 Python 3.9 이상에서만 동작이 됩니다. 오늘(24. 4 17) 기준으로 Python require 가 3.8>= 로 잘 못 되어 있어서 이 점 참고 부탁 드립니다.

'개발 > ETC' 카테고리의 다른 글

[Protobuf] symbol not found in flat namespace '_CFRelease'  (0) 2024.02.05
Budibase - No Code Platform  (0) 2024.01.30