자연어 생성 작업을 위한 LLM 소개
요약
본 글은 제품 사양을 마케팅 카피로 변환하는 생성기를 구축하는 과정을 설명합니다. Oxlo.ai의 API를 활용하여 Python 스크립트로 구현하며, 시스템 프롬프트 정의와 구조화된 JSON 출력을 통해 안정성과 재사용성을 높이는 방법을 다룹니다.
핵심 포인트
- Oxlo.ai API 사용으로 예측 가능한 비용 관리 가능
- 시스템 프롬프트를 상수로 유지하여 수정 용이성 확보
- JSON 모드(`response_format`)를 사용하여 출력의 구조적 안정성 강화
- 제품 목록 배치 처리를 통해 대용량 데이터 처리 효율화
우리는 원시 제품 사양을 게시 가능한 설명 및 소셜 포스트로 변환하는 마케팅 카피 생성기를 구축할 것입니다. 이것은 작가 고용 없이 사용 가능한 초안 카피가 필요한 1인 창업자나 소규모 팀을 위한 것입니다. 전체 과정은 단일 Python 스크립트에 포함되며 Oxlo.ai의 정액제 API를 통해 실행됩니다.
준비물
시작하기 전에, https://portal.oxlo.ai에서 Oxlo.ai API 키를 받아야 합니다. 또한 Python 3.10 이상과 OpenAI SDK가 필요합니다.
pip install openai
단계 1: Oxlo.ai 클라이언트 구성
먼저, Oxlo.ai의 OpenAI 호환 엔드포인트를 가리키는 클라이언트를 설정했습니다. 저는 llama-3.3-70b를 사용했는데, 이는 요청당 정액 비용으로 창의적인 NLG 작업을 안정적으로 처리하기 때문에, 긴 제품 브리프를 보내더라도 청구서가 예측 가능하게 유지됩니다.
from openai import OpenAI
client = OpenAI(base_url="https://api.oxlo.ai/v1", api_key="YOUR_OXLO_API_KEY")
...
단계 2: 시스템 프롬프트 정의
시스템 프롬프트는 제가 어조, 형식 및 제약 조건을 설명하는 유일한 장소입니다. 이를 하나의 상수로 유지하면 나중에 동작을 쉽게 수정할 수 있습니다.
SYSTEM_PROMPT = """당신은 다이렉트 리스폰스 카피라이터입니다.
제품 세부 정보를 받고 세 가지 카피를 반환합니다:
1. 80자 미만의 한 문장 헤드라인.
...
단계 3: 생성기 함수 구축
다음으로, API 호출을 제품 딕셔너리를 받아 생성된 텍스트를 반환하는 함수로 감쌌습니다. 저는 사용자 메시지를 간결한 브리프로 형식화하여 모델이 구조화된 컨텍스트를 얻도록 했고, 불필요한 내용에 토큰 낭비를 막았습니다.
def generate_copy(product_name, specs, audience, tone):
user_message = f"""Product: {product_name}
Specs: {specs}
...
단계 4: JSON 모드로 구조화된 출력 추가
단계 4: JSON 모드로 구조화된 출력 추가
운영 환경에서 자유 형식의 텍스트를 파싱하는 것은 취약하므로, 프롬프트를 수정하여 JSON을 요청하고 response_format에 "type": "json_object"를 설정했습니다. 이를 통해 작은 스키마 검사를 수행하여 출력을 검증할 수 있습니다. 또한 여기서는 다국어 지침과 구조화된 형식을 충실히 따르는 qwen-3-32b로 전환했습니다.
import json
SYSTEM_PROMPT_JSON = """당신은 직접 응답 카피라이터입니다...."""
단계 5: 카탈로그 배치 처리
마지막으로, 제품 목록을 순회하며 결과를 수집합니다. Oxlo.ai는 토큰당이 아닌 요청당 비용을 부과하므로, 긴 사양 시트가 각 항목의 비용을 증가시키지 않습니다. 따라서 입력 컨텍스트가 커져도 이 루프를 실행하는 것이 저렴합니다.
products = [
{
"name": "Terra Backpack",
....
실행하기
스크립트를 copygen.py로 저장하고, 키를 내보낸 다음, 실행합니다.
export OXLO_API_KEY="your-key-here"
python copygen.py
Terra Backpack의 예상 출력은 다음과 같습니다:
{
"headline": "움직임을 위해 제작되었고, 작업을 위해 설계되었습니다.",
"description": "Terra 백팩은 디지털 노마드에게 부피감 없이 40리터의 정리된 공간을 제공합니다. 방수 캔버스 쉘과 패딩 처리된 16인치 노트북 슬리브가 코워킹 스페이스부터 공항 게이트까지 장비를 안전하게 보호합니다.\n\n단지 1.2kg에 불과하여 어깨에 가볍게 느껴지지만, 무거운 작업량도 감당합니다. 깔끔한 외관은 케이블, 여권, 그리고 길이 던져주는 모든 것을 위한 스마트 포켓을 숨기고 있습니다.",
....
마무리 및 다음 단계
이제 사양을 구조화된 마케팅 카피로 변환하는 작동하는 NLG 파이프라인을 갖게 되었습니다. 더 나아가고 싶다면, 스크립트를 Google Sheets 웹훅에 연결하여 이해관계자들이 폼을 통해 제품을 제출할 수 있게 하거나, 간단한 Gradio UI를 추가하여 비기술적인 팀원들이 코드를 건드리지 않고도 톤을 조정하고 카피를 재생성할 수 있도록 할 수 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기