콘텐츠로 이동

빠른 시작 — 5단계로 RAG 앱 만들기

문서에 근거해 출처와 함께 답하는 RAG 앱을, rag-document-qa 템플릿으로 만듭니다.

1. 연결

hasa login --base-url https://<gateway-host> --api-key <API_KEY>
hasa templates list          # rag-document-qa 가 보이는지 확인

2. AppSpec 작성

rag-app.yaml — 어떤 템플릿을, 어떤 모델로 채울지 선언합니다.

apiVersion: hasa.ai/v1alpha1
kind: AIApplication
metadata:
  name: contract-review-assistant
  displayName: 계약서 검토 도우미
spec:
  templates:
    - id: rag-document-qa
      version: 1.0.0
  models:                        # 템플릿의 required_models 역할에 실제 엔드포인트 바인딩
    chat: qwen2.5-72b
    embedding: bge-m3
    reranker: bge-reranker-v2-m3
  data: { source: file-upload, vectorStore: none }
  features: { citations: true, streaming: true }
  deployment: { target: docker-compose, environment: dev }

스키마: schema/app-spec.schema.json

3. 검증

hasa app validate rag-app.yaml
# ✓ 스키마 통과 · ✓ 참조 모델이 게이트웨이에 서빙 중인지 교차확인

4. 프로젝트 생성

hasa app generate rag-app.yaml -o ./contract-review-assistant
cd contract-review-assistant
python src/generated/demo.py            # 샘플로 즉시 실행(E2E)

5. 맞춤 구현 → 배포

  • 코딩 에이전트(Cursor·Claude Code·Codex)로 도메인 화면·업무 로직을 src/extensions/에 추가. 프로젝트의 AGENTS.md를 먼저 읽게 하세요.
  • 배포:
    hasa app deploy .        # Dockerfile · docker-compose.yml 생성
    docker compose up -d
    

끝입니다. AppSpec을 바꾸고 hasa app generate를 다시 돌리면, src/extensions/의 코드는 보존한 채 플랫폼 코드만 갱신됩니다.

참고: 개념 · 템플릿 카탈로그 · CLI