콘텐츠로 이동

기능 템플릿 카탈로그

템플릿은 재사용 AI 기능입니다. 골라서 AppSpec에 넣으면 그 기능이 앱에 포함됩니다. 목록은 CLI(hasa templates list) 또는 카탈로그 API(GET /api/templates)로도 조회할 수 있습니다.

템플릿 카테고리 하는 일 입력 → 출력
llm-chat chat 시스템 프롬프트로 역할을 준 LLM과 멀티턴 대화. 모든 템플릿의 토대 message(+system·history) → answer
rag-document-qa rag 문서를 임베딩·리랭크해 근거를 찾고 출처와 함께 답변 question,documentsanswer,citations
general-assistant agent 해석→(웹)증강→추론→생성 노드 워크플로로 상용 수준 답변 question(+use_web) → answer,steps
ocr-document-structuring ocr 이미지를 OCR 해 지정 필드를 추출·JSON 구조화 image_url(+fields) → 구조화 JSON

카테고리·상태(beta 등)는 배포마다 다를 수 있습니다. 실제 가용 목록은 hasa templates list로 확인하세요.

템플릿의 구성 (manifest)

각 템플릿은 다음을 선언하는 manifest로 정의됩니다.

id: rag-document-qa
name: 문서 기반 RAG 질의응답
version: 1.0.0
category: rag
inputs:  [{ name: question, type: string, required: true }, { name: documents, type: "file[]" }]
outputs: [{ name: answer, type: text }, { name: passages, type: json }]
required_models:            # 이 템플릿이 요구하는 모델 역할
  - { role: embedding, model_hint: bge-m3 }
  - { role: reranker,  model_hint: bge-reranker-v2-m3 }
  - { role: chat,      model_hint: qwen2.5-72b }
workflow:                   # 노드 실행 순서 (선택)
  - { node: embed_search }
  - { node: rerank }
  - { node: generate }

required_models의 각 역할(role) 에 실제 엔드포인트를 바인딩하는 것이 AppSpecspec.models입니다.

실행

hasa templates show rag-document-qa           # 상세(입출력·요구모델)
hasa templates run rag-document-qa \          # 직접 실행
  --input question="환불 규정?" --input documents='["환불은 7일 이내"]'

다음: 빠른 시작 에서 템플릿으로 앱을 만듭니다.