LangChain 챗봇실습 데이터 파일← 이전목차다음 →MetaContents

참고 자료

실습 데이터 파일

실습에 쓰는 파일은 교안과 함께 받은 data 폴더에 있습니다. 모두 연습용으로 만든 작은 가상 데이터이고, 실제 회사나 고객의 데이터가 아닙니다. 가상의 여행사 "구름다리여행"의 이름, 상품, 규정, 대화는 모두 지어낸 것입니다. 장이 추가되면 이 목록도 함께 늘어납니다.

파일 목록

파일내용크기쓰는 곳
faq.csv구름다리여행의 자주 묻는 질문과 답10행 3열1장 실습 1, 3장 실습 1·3
user_questions.csv손님이 쓸 법한 말투의 질문과 사람이 붙인 의도20행 2열1장 실습 1, 3장 실습 1
travel_sentences.txt다음 낱말 맞히기 연습용 짧은 문장. 한 줄에 한 문장60줄1장 실습 2
chat_log.json손님과 여행 비서가 열 번 주고받은 대화(OpenAI 메시지 꼴)메시지 21개1장 프로젝트, 4장 본문·실습 5·실습 6·프로젝트
travel_spots.csv지어낸 여행지 8곳의 지역, 특징, 어울리는 손님, 추천 계절, 예산8행 6열3장 프로젝트
trip_requests.csv손님이 쓴 여행 요청 글과 사람이 정리한 조건10행 8열4장 실습 1, 실습 2
trip_products.csv구름다리여행의 가상 상품 12개(코드, 이름, 지역, 박수, 가격, 남은 자리, 출발일)12행 7열5장 본문, 실습 전체, 프로젝트
trip_notice.txt상품 예약 공지 다섯 줄5줄5장 실습 4·5, 프로젝트(MCP 서버가 읽음)
travel_terms.pdf구름다리여행 여행 약관. 4쪽, 조항 16개4쪽6장 본문·실습 전체·프로젝트, 7장 실습 5·6, 프로젝트
rag_questions.csv약관 검색을 채점할 질문과 정답 조항12행 5열6장 실습 3·5, 프로젝트
solmaru_rules.pdf가상 회사 "솔마루상사"의 복무·출장 규정. 3쪽, 조항 12개3쪽8장 프로젝트 1
rules_questions.csv규정 도우미를 채점할 질문과 정답 조항10행 4열8장 프로젝트 1
network_notes.pdf가상의 정보통신 기초 수업 노트. 3쪽, 노트 10개3쪽8장 프로젝트 2
notes_questions.csv학습 도우미를 채점할 질문과 정답 노트10행 4열8장 프로젝트 2

실습이 만드는 파일은 이름이 out_ 으로 시작합니다.

파일만드는 곳쓰는 곳
out_rule_bot_result.csv1장 실습 1(규칙 챗봇의 채점 결과)3장 실습 3(규칙 챗봇과 견주기)
out_next_word.json1장 실습 2(낱말 뒤에 온 낱말의 횟수표)1장 실습 4
out_chat_history.json1장 실습 5(가짜 모델과 주고받은 대화 기록)없음
out_ch02_requirements.txt2장 실습 1(쓰는 패키지와 판)2장 프로젝트
out_ch02_demo.env2장 실습 2(시험용 가짜 키를 담은 연습 파일)2장 실습 2
out_ch02_checklist.csv2장 프로젝트(내 PC 점검표). 키를 넣은 뒤 실행하면 생긴다없음
out_ch03_faq_prompt.txt3장 실습 1(FAQ 를 채운 프롬프트)없음
out_ch03_qa_answers.csv3장 실습 3(Q&A 체인의 답). 키를 넣은 뒤 생긴다없음
out_ch03_prompt_compare.csv3장 실습 4(프롬프트 세 가지의 답). 키를 넣은 뒤 생긴다없음
out_ch03_ticket.json3장 실습 5(요약과 키워드를 담은 문의 카드)없음
out_ch03_spot_intro.csv3장 프로젝트(여행지 소개글). 키를 넣은 뒤 생긴다없음
out_ch04_trip_schema.json4장 실습 1(여행 조건 틀의 JSON 스키마)없음
out_ch04_extracted.csv4장 실습 2(요청 글에서 뽑은 조건). 키를 넣은 뒤 생긴다없음
out_ch04_sessions.json4장 실습 3(세션별 대화 기록)없음
out_ch04_window.csv4장 실습 5(토큰 상한마다 남는 메시지와 토큰)없음
out_ch04_summary.json4장 실습 6(앞부분 요약). 키를 넣은 뒤 생긴다없음
out_ch04_strategy_compare.csv4장 프로젝트(세 메모리 전략 견주기). 키를 넣은 뒤 생긴다없음
out_ch05_tool_schema.json5장 실습 1(도구 두 개의 설명서)없음
out_ch05_tool_log.json5장 실습 2(도구 실행기의 기록)없음
out_ch05_server.py5장 실습 4(상품 자료 MCP 서버 파일)5장 실습 5, 프로젝트
out_ch05_mcp_tools.json5장 실습 4(MCP 서버의 도구 목록)없음
out_ch05_tool_usage.csv5장 프로젝트(질문마다 부른 도구). 키를 넣은 뒤 생긴다없음
out_ch06_pages.csv6장 실습 1(쪽별 글자 수)없음
out_ch06_chunks.csv6장 실습 2(조항 단위로 나눈 조각)6장 실습 3·5, 프로젝트
out_ch06_hits.csv6장 실습 3(질문마다 검색 적중)6장 실습 5
out_ch06_faiss/6장 실습 3(연습용 임베딩으로 만든 FAISS 색인 폴더)6장 실습 4
out_ch06_qa_log.json6장 실습 4(근거와 답의 기록)없음
out_ch06_faiss_openai/6장 실습 5(진짜 임베딩 색인). 키를 넣은 뒤 생긴다없음
out_ch06_embed_compare.csv6장 실습 5(두 임베딩의 적중 견주기). 키를 넣은 뒤 생긴다없음
out_ch06_bot_answers.csv6장 프로젝트(약관 챗봇의 답). 키를 넣은 뒤 생긴다없음
out_ch07_hello.py, out_ch07_chat.py, out_ch07_stream.py7장 실습 1~3(Streamlit 앱 파일)없음
out_ch07_openai_chat.py7장 실습 4(진짜 모델을 붙인 앱 파일)없음
out_ch07_docbot.py7장 실습 5(문서 챗봇 앱 파일)없음
out_ch07_deploy/7장 실습 6(배포할 폴더: 앱, requirements.txt, .gitignore, secrets 견본, 약관 복사본)7장 프로젝트
out_ch07_deploy_bad/, out_ch07_deploy_check.csv7장 프로젝트(실수를 넣은 폴더와 점검 결과)없음
out_ch08_rules_eval.csv8장 프로젝트 1(평가 질문마다 검색 적중)없음
out_ch08_rules_bot.py, out_ch08_rules_app.py8장 프로젝트 1(규정 도우미의 부품 파일과 화면 파일)8장 프로젝트 1
out_ch08_rules_demo.csv8장 프로젝트 1(시연 점검표)없음
out_ch08_notes_faiss/, out_ch08_notes_eval.csv8장 프로젝트 2(진짜 임베딩 색인과 평가). 키를 넣은 뒤 생긴다없음
out_ch08_gureum_bot.py, out_ch08_gureum_app.py, out_ch08_gureum_demo.csv8장 프로젝트 3(종합 상담 챗봇의 부품·화면 파일과 시연 점검표). 키를 넣은 뒤 생긴다없음

faq.csv

열뜻유형
의도질문의 갈래. 예약변경, 환불, 수하물, 여권, 결제, 집합, 보험, 상담시간, 단체, 반려동물글자
질문대표 질문글자
답구름다리여행이 정해 둔 답(지어낸 규정)글자

user_questions.csv

열뜻유형
질문손님이 쓸 법한 말투로 지어낸 질문글자
의도사람이 붙인 정답 의도. faq.csv 의 의도 열 가운데 하나이고, FAQ 에 없는 질문은 "없음"글자

travel_sentences.txt

"제주도 여행은 즐겁습니다"처럼 낱말 서너 개로 된 문장이 한 줄에 하나씩 있습니다. 장소(제주도, 부산, 강릉, 경주)와 문장 틀 다섯 가지를 정한 비율로 골라 만들었습니다. "제주도 바다는"으로 시작하는 문장은 한 번도 나오지 않습니다. 1장 실습 4에서 "기록에 없는 낱말은 온도를 올려도 나오지 않는다"를 보이는 데 씁니다.

chat_log.json

{"role": "…", "content": "…"} 사전의 목록입니다. 첫 메시지가 시스템 메시지이고, 그 뒤로 사용자(user)와 어시스턴트(assistant) 메시지가 번갈아 열 쌍 있습니다. 제주도 2박 3일 가족 여행을 상담하는 지어낸 대화입니다.

키뜻
role역할. system, user, assistant 가운데 하나
content메시지의 내용

travel_spots.csv

여행지 이름은 지어낸 것이고, 지역은 넓게만 적었습니다. 실제 관광지와 관계가 없습니다.

열뜻유형
여행지지어낸 여행지 이름글자
지역넓은 지역(예: 제주 동쪽 해안, 강원 산간)글자
특징그곳의 특징 한 줄글자
어울리는 손님가족, 연인, 혼자 등글자
추천 계절봄, 여름, 가을, 겨울글자
예산한 사람 1박의 대략적인 비용(만 원)정수

trip_requests.csv

손님이 쓴 요청 글과, 사람이 그 글을 읽고 정리한 정답 조건입니다. 5번(한 사람당 예산), 8번(제주), 9번(일주일 = 6박)은 헷갈리기 쉽게 일부러 넣은 행입니다.

열뜻유형
번호요청 번호정수
요청손님이 쓴 글글자
목적지가려는 곳글자
박수묵는 밤의 수정수
어른, 아이일행의 사람 수정수
예산일행 전체의 예산(만 원)정수
관심사바라는 것. 여럿이면 ; 로 잇는다글자

trip_products.csv

열뜻유형
상품코드P01~P12글자
상품명, 지역지어낸 상품 이름과 넓은 지역글자
박수묵는 밤의 수정수
가격어른 한 사람 기준(만 원)정수
남은자리남은 좌석. 0 이면 매진(P02, P08)정수
출발일출발 날짜글자

travel_terms.pdf

가상의 "구름다리여행 여행 약관" 4쪽입니다. 쪽마다 맨 위에 머리글 한 줄과 장 제목이 있고, 제1조부터 제16조까지 예약·취소·여행 중 규정·보험을 적었습니다. 내용은 faq.csv 의 답과 맞췄습니다. tools/parts/ch06_data.py 가 fpdf2 와 Windows 의 맑은 고딕 글꼴로 만듭니다.

rag_questions.csv

열뜻유형
번호질문 번호정수
질문손님 말투로 지어낸 질문글자
정답조항답이 든 조항(예: 제5조)글자
주제, 핵심어질문의 갈래와, 답에 들어가야 할 낱말글자

8차시의 문서와 평가 질문

solmaru_rules.pdf 와 network_notes.pdf 는 travel_terms.pdf 와 같은 방식(fpdf2, 맑은 고딕, 고정한 만든 날짜)으로 만든 가상 문서입니다. 솔마루상사는 지어낸 회사이고, 수업 노트는 정보통신 기초 사실(OSI 7계층, TCP, IP 주소, 포트 번호 등)을 짧게 적은 연습용 노트입니다.

열뜻유형
번호질문 번호정수
질문지어낸 질문글자
정답조항 / 정답노트답이 든 조항(예: 제2조)이나 노트(예: 노트 1)글자
핵심어답에 들어가야 할 낱말글자

파일을 다시 만들려면

데이터는 tools/make_data.py 로 만들었습니다. 2장부터의 데이터 함수는 tools/parts/chNN_data.py 에 있고, make_data.py 가 읽어 함께 만듭니다. 난수 씨앗을 고정해 두어서 다시 실행해도 같은 파일이 나옵니다.

PowerShell
python tools/make_data.py
← 이전8장 · 확인문제와 해답다음 →용어집