본문으로 건너뛰기
버전: docs v25.02

ALO-LLM 프레임워크 미사용 한 커스텀 개발

Updated 2025.08.26

이 문서는 ALO-LLM 프레임워크를 사용하지 않고 로컬 환경에서 서비스 API를 개발하는 방법을 안내합니다.

로컬 환경에서 API 개발하기

ALO-LLM을 사용하지 않는 경우, 특별한 제약사항이 존재하지 않습니다. 다만, 필수로 prerequisite_install.sh 파일에 설치 명령 어를 작성하고 config.yaml 파일에 설명 및 entry_point를 작성해야합니다.

제약사항

  • python 3.12.x 버전 사용을 권장합니다.
  • VS Code의 사용을 권장하며, Mobaxterm을 사용하시는 경우, 코드 및 주석에 한글 사용시 에러가 발생할 수 있 습니다.
  • ALO-LLM 기능을 사용하지 않더라도, CLI 명령어를 사용하기 위해서 ALO-LLM을 설치해야합니다.

LLM logic 개발자들은 아래와 같은 2단계를 진행하면서 Service API 를 Local 환경에서 개발할 수 있습니다.

1단계 : Custom 개발 Fast API 코드 작성

사용자들이 원하는 목적에 맞게 코드를 개발합니다. ALO-LLM을 사용하지 않는 경우에는 큰 제약은 없으며, 코드 정상동작 확인 후 config.yaml 파일과 prerequisite_install.sh 파일만 설정해주면 됩니다.

2단계 : config.yaml 파일 작성

ALO-LLM을 설치합니다. 설치 후 config.yaml 파일에 AI Logic Deployer 주소 및 설명을 적습니다.


주의사항

  • 커스텀 개발 버전으로 개발할 때, End point URL에 AI Pack 이름의 postfix를 추가해야합니다. 이 postfix는 환경변수 AIPACK_NAME 값 혹은 등록할 AI Pack 이름을 활용하여 설정합니다.
  • End point URL에 postfix로 AI Pack 이름이 포함되지 않았을 경우, root_path를 자동으로 인식하지 못해 FastAPI, Streamlit 등이 정상적으로 연결되지 않는 문제가 발생할 수 있습니다.
  • 아래 FastAPI와 Streamlit 개발 예시 참고 부탁드립니다.

1단계: Custom 개발 Fast API 코드 작성

사용자는 특별한 제약 없이, 원하는 목적에 맞는 코드를 작성하시면 됩니다. 다만, 필수로 prerequisite_install.sh를 작성해주셔야 합니다.

코드 예시)

main.py

주의사항

  • FastAPI의 root path를 "AIPACK_NAME" 이라는 환경 변수로 선언해주셔야 정상동작 합니다.

from fastapi import FastAPI, Response
from fastapi.routing import APIRouter
import os
router = APIRouter()

@router.get("/echo_message") # for base path
def echo_message(path: str = ""):
try:
with open("message.txt", "r") as f:
message = f.read()
return Response(content=message, media_type="text/plain")
except Exception as e:
return Response(content=f"Error reading message: {e}", status_code=500)

app = FastAPI(
root_path="/" + os.getenv("AIPACK_NAME", "")
)

app.include_router(router)

message.txt

HELLO

prerequisite_install.sh


주의사항

  • prerequisite_install.sh는 작성한 코드에 필요한 라이브러리 설치 명령어를 나열합니다.
pip install uvicorn
pip install fastapi

2단계: config.yaml 파일 작성

ALO-LLM 실행을 위한 사용자 작성 파일

ALO-LLM 패키지 설치 후, config.yaml 파일이 작업 경로에 있어야합니다. Service API는 FastAPI 프레임워크를 기반으로 구축됩니다. 각 API의 입력 형식을 규정해야 하며, URI를 명확하게 정의해야 합니 다. ALO-LLM는 이러한 규정을 바탕으로 자동으로 API를 생성합니다.

2-1. ALO-LLM를 pip 명령어로 설치

  • pip install 명령어로 설치합니다 pip install mellerikat-alm

주의사항

  • ALO-LLM CLI를 통해 등록 시 현 위치에 존재하는 모든 폴더와 파일을 압축하여 등록합니다.

2-2. config.yaml 작성

  • 작성하신 logic code를 기반으로 yaml을 작성합니다.

주의사항

  • description의 Agent명, 개발자, Documents의 내용은 비어있어도 되지만, key는 있어야 합니다.
  • description의 Codes는 필수 작성 내용입니다. (코드 git 주소)
name: survey_analysis
version: 1.0.0
entry_point: uvicorn main:app --host 0.0.0.0 --port 80
overview: A framework that easily converts Python code to FastAPI and deploys it to a production environment.
description:
Agent: ALO-LLM #
Developer: 성원준 C, 박정준 Y #
Documents: http://collab.lge.com/main/pages/viewpage.action?pageId=3035388304 #
Codes: http://mod.lge.com/hub/llmops-aibigdata/llo/llo-dev/-/tree/v1.0.2?ref_type=heads #
version: v1.2.0
etc: etc...
setting:
ai_logic_deployer_url: "https://ald.llm-dev.try-mellerikat.com"
  • name: 이 필드는 서비스 API의 이름을 지정합니다. 여기서는 simple chatbot으로 명명되었습니다.
  • version: 서비스 API의 버전을 설정합니다. 현재 버전은 1.0.0입니다
  • entry_point: 사용자가 실행할 명령어입니다. ALO-LLM을 사용하시는 경우는 'alm api'로 그 외 사용자 custom 명령어로 쓰시면됩니다. 여러 명령어 작성 시 &&로 표시해주시면됩니다.
  • overview: 전반적인 서비스 API의 설명을 적습니다.
  • description: 등록한 서비스 API의 자세한 설명을 적습니다. key: value 형태로 작성하며, 상위 4개(Agent 명, 개발자, Documents, Codes)는 필수로 그 외는 사용자가 추가/삭제하여 작성할 수 있습니다.
  • setting: 서비스 구성을 위한 설정을 나타냅니다.
  • ai_logic_deployer_uri: 등록 및 배포를 진행할 AI Logic Deployer의 주소를 적습니다.

여기까지 작성이 완료되면 다음 페이지로 진행하면 됩니다.