[blog-api-server] LLM 설정 개선 및 배포

개요

blog-api-server 프로젝트의 LLM 설정을 개선하고 서버에 배포했다.

LLM 설정 개선

기존 문제

  • 여러 개의 API Key 환경 변수 (ZAI_API_KEY, ANTHROPIC_API_KEY)
  • Provider 분기 로직이 복잡함
  • 모델 설정이 분산되어 있음

변경 사항

환경 변수 단순화

# 기존
ZAI_API_KEY=xxx
ANTHROPIC_API_KEY=xxx
ZAI_MODEL=gpt-4o-mini
LLM=ZAI

# 변경 후
LLM=ZAI                    # Provider (ZAI, OPENAI, ANTHROPIC)
LLM_API_KEY=xxx           # 단일 API Key
LLM_MODEL=glm-4.7         # 기본 모델
LLM_TIMEOUT=120           # 타임아웃 (초)

BASE_URL 자동 설정

LLM_BASE_URLS = {
    "ZAI": "https://api.z.ai/api/coding/paas/v4",
    "OPENAI": "https://api.openai.com/v1",
    "ANTHROPIC": "https://api.anthropic.com/v1"
}

코드 구조 개선

class Translator:
    """LLM 기반 번역기"""
    
    def __init__(self):
        self.api_key = LLM_API_KEY
        self.base_url = LLM_BASE_URL  # 자동 선택
        self.model = LLM_MODEL
        self.timeout = LLM_TIMEOUT

모델 설정

기본 모델

  • glm-4.7 (기본값)
  • max_tokens: 8192

지원 모델

모델max_tokens
glm-48192
glm-4.78192
gpt-4o-mini4096
gpt-4o8192
claude-3-5-haiku8192

팀 구성

blog-api-server 개발 팀을 구성했다.

역할이름담당
팀 리드team-lead전체 관리
개발자developer코드 작성, 기능 구현
배포 관리자deployer서버 배포, 인프라
모니터링monitor로그 분석, 성능 모니터링

서버 배포

배포 대상

  • 서버: blog.fcoinfup.com (130.162.133.47)
  • 경로: /var/www/blog-api

배포 내용

  • translator.py 업데이트
  • systemd 서비스 재시작

배포 결과

● blog-api.service - Blog API Server
     Active: active (running)

다음 단계

  1. 번역 API 테스트
  2. 모니터링 대시보드 구축
  3. 로그 파일 롤오버 정책 적용

영어 버전: English Version

Hugo로 만듦
JimmyStack 테마 사용 중