DevOps

[mlflow] LLM Deployments Server

brad.min 2024. 5. 14. 17:12
반응형

mlflow에 LLM Deployment Server를 사용하는 방법이 있어 실제로 실습을 진행했다.

 

Config.yaml

endpoints:
- name: completions
  endpoint_type: llm/v1/completions
  model:
      provider: openai
      name: gpt-3.5-turbo
      config:
          openai_api_key: $OPENAI_API_KEY

- name: chat
  endpoint_type: llm/v1/chat
  model:
      provider: openai
      name: gpt-4
      config:
          openai_api_key: $OPENAI_API_KEY

- name: chat_3.5
  endpoint_type: llm/v1/chat
  model:
      provider: openai
      name: gpt-3.5-turbo
      config:
          openai_api_key: $OPENAI_API_KEY

- name: embeddings
  endpoint_type: llm/v1/embeddings
  model:
      provider: openai
      name: text-embedding-ada-002
      config:
          openai_api_key: $OPENAI_API_KEY

 

$OPENAI_API_KEY 환경 변수를 입력해야하기 때문에 도커를 활용하여 환경 변수를 주입하였다.

 

 

DockerCompose

  mlflow-deployment:
    container_name: mlflow-deployment
    build:
      dockerfile: ops/deployment/Dockerfile
    env_file:
      - .env.dev
    ports:
      - "7001:7001"
    command: mlflow deployments start-server --config-path /mlflow_deployment/config.yaml --host 0.0.0.0 --port 7001

 

.env.dev 파일에 OPENAI_API_KEY 환경 변수에 값을 넣고 컨테이너를 만들때 환경변수가 주입되도록 설정하였다. 이후 서버에 접속을 하게되면 기본으로 API를 살펴볼수있는 Swagger를 제공해준다.

 

 

 

답변이 잘 나오는 것을 확인할 수 있다.

 

반응형