RAG2026-5일15차시 · 기본 RAG 앱 만들기16 / 19← 이전목차다음 →MetaContents

15차시. 기본 RAG 앱 만들기

퀴즈 1 — 답과 출처를 함께 담은 딕셔너리 돌려주기

ask가 답과 출처를 함께 반환하게 작성하세요.

빈칸 코드에서 시작합니다.

Python
def ask(answer, sources):
    pass
결과 보기 (예시 풀이)
Python
def ask(answer, sources):
    # 답만 돌려주지 않고 출처를 같은 딕셔너리에 담습니다.
    # 키 이름 answer, sources는 app.py와 web.py가 읽는 이름입니다.
    return {"answer": answer, "sources": sources}

# 출처가 있는 경우: 화면이 result["sources"]를 돌며 출처를 찍을 수 있습니다.
result = ask("환불은 7일 이내에 신청할 수 있습니다[1].",
             [{"file": "manual.pdf", "page": 2}])
print(result["answer"])
for s in result["sources"]:
    print("  출처:", s["file"], s["page"], "페이지")

# 출처가 없는 경우에도 같은 모양입니다. sources는 빈 리스트입니다.
print(ask("관련 자료를 찾지 못했습니다.", []))

실행 결과

출력
환불은 7일 이내에 신청할 수 있습니다[1].
  출처: manual.pdf 2 페이지
{'answer': '관련 자료를 찾지 못했습니다.', 'sources': []}

채점 기준: 키 이름은 answer와 sources.

관련 교안: 15차시 「5. 실습 ③ — rag.py (핵심)」

← 이전 절15차시 · 실습 1 — 기본 RAG 앱 만들기 실습 따라 하기다음 절 →15차시 · 퀴즈 2 — 빈 질문이면 검색하지 않고 안내만