diff --git a/.DS_Store b/.DS_Store index 442bece..7f444fb 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/services/es_vecDB_save.py b/services/es_vecDB_save.py index 1c59237..ff9d7a7 100644 --- a/services/es_vecDB_save.py +++ b/services/es_vecDB_save.py @@ -13,35 +13,88 @@ # 자서전 데이터 예시 biographies = [ { - "title": "나의 교직 생활", + "title": "선생님으로서의 하루", "content": """ - 나는 1980년대에 교직에 들어서면서 처음으로 초등학교 교사로 근무를 시작했습니다. - 학생들과의 첫 만남은 잊을 수 없는 경험이었고, 그들의 눈빛 속에서 호기심과 열정을 보았습니다. - 교사로서의 삶은 항상 도전적이었지만, 학생들의 성장을 직접 목격하며 보람을 느꼈습니다. - 특히, 나는 과학 교육에 많은 관심을 가지고 있어 학생들에게 실험과 탐구 학습을 적극적으로 도입하려 노력했습니다. - 30년 동안의 교직 생활 동안, 수많은 제자들이 사회에서 훌륭한 성과를 내는 것을 볼 수 있었습니다. - 이 경험은 교사로서의 삶이 단순한 직업이 아닌 소명의 길이라는 것을 깨닫게 해주었습니다. + 새벽의 고요 속에서 눈을 뜬다. 오늘도 수업 준비를 위해 머릿속에서 교안과 학생들의 얼굴을 떠올리며 아침을 맞이한다. 학교로 가는 길, 차창 밖으로 스쳐 지나가는 풍경이 익숙하지만 매일이 새로운 느낌이다. + 교실에 들어서면 아이들의 웃음소리와 함께 오늘 하루가 시작된다. 내가 맡은 교과목은 국어. 그러나 단순한 지식 전달이 아닌, 그들의 마음속에 질문을 심어주고 세상을 이해하는 방법을 가르치고 싶다. + 수업 중, 학생들이 적극적으로 손을 들며 질문을 던질 때면 내 가슴이 뛴다. 그들의 호기심을 자극하고, 스스로 답을 찾아가는 과정을 돕는 것이 나의 역할임을 깨닫는다. + 때로는 수업이 계획대로 흘러가지 않을 때도 있지만, 그런 순간에도 유연하게 대응하며 더 나은 배움의 기회를 제공하려고 노력한다. + 점심시간이 되면 교무실에서 다른 선생님들과 짧은 대화를 나눈다. 학생들에 대한 걱정, 새로운 수업 방법에 대한 고민, 혹은 교육의 방향에 대한 논의가 오간다. 이 시간은 내게도 소중한 재충전의 순간이다. + 오후 수업이 끝나고 나면 남은 시간은 상담 시간으로 채워진다. 힘들어하는 학생이 찾아오면, 그들의 이야기를 들어주고 작은 해결책이라도 함께 찾아준다. + 학교를 떠나기 전, 나는 내일의 수업을 준비하며 책상에 앉는다. 매일의 피로가 쌓이지만, 학생들이 성장해가는 모습을 볼 때면 모든 노력이 보상받는 기분이 든다. + 퇴근 후에도 가끔은 남겨진 숙제를 확인하거나, 다음 학기에 가르칠 새로운 내용을 연구하며 시간을 보낸다. 선생님으로서의 하루는 끝없이 배우고, 가르치며, 소통하는 과정의 연속이다. + 그 속에서 아이들과 함께 성장하는 것이 가장 큰 보람이자 동력이다. """ }, { - "title": "나의 의사 생활", + "title": "배움의 동반자, 선생님", "content": """ - 나는 1990년대에 의학을 전공하고 처음으로 병원에서 근무를 시작했습니다. - 환자들을 치료하는 과정에서 생명을 다루는 책임감을 크게 느꼈으며, 그들이 회복하는 모습을 보면서 보람을 느꼈습니다. - 특히, 나는 내과 진료에 관심이 많아 다양한 환자의 질병을 진단하고 치료하는 데 집중했습니다. - 또한, 나는 의학 연구에도 참여하여 새로운 치료법 개발에 기여하려고 노력했습니다. - 25년간의 의사 생활 동안 수많은 환자들을 만나고 그들의 삶의 질을 향상시키는 데 도움을 줄 수 있었습니다. - 이 경험은 나의 인생에서 가장 중요한 가치 중 하나가 되었고, 의료 분야에서 계속 발전하고자 하는 동기가 되었습니다. + 아침 공기가 차갑게 느껴지는 시간에 하루가 시작된다. 교사로서의 삶은 일찍이 규칙적으로 흘러가지만, 마음속에는 늘 새로움이 깃든다. + 아이들의 얼굴을 떠올리며 준비한 교재를 챙기고 학교로 향하는 길, 오늘도 어떤 배움을 나눌 수 있을까 기대가 된다. 교실에 들어서면 밝은 미소와 인사로 나를 맞이하는 학생들이 내게 활력을 준다. + 국어 수업이 시작되면 단순히 글자를 가르치는 것이 아니라, 그 속에 담긴 생각과 감정을 함께 나눈다. 글은 그들의 사고를 넓히고, 세상을 이해하는 창구가 된다. + 그래서 수업 중에도 일방적으로 지식을 주입하기보다는, 질문을 던지고 그들이 스스로 답을 찾을 수 있도록 유도한다. 아이들이 자신의 의견을 펼치고, 서로의 생각을 존중하는 모습을 볼 때마다 뿌듯함을 느낀다. + 점심시간에는 잠시 교무실에서 숨을 돌린다. 동료 교사들과 나누는 짧은 대화 속에서도 교육의 방향과 아이들의 성장이 화제가 된다. + 오후에는 학업 상담이나 진로 지도 시간을 보내며, 학생 개개인에게 맞춤형 조언을 제공한다. 그들이 나와 함께 더 나은 미래를 그려나갈 수 있다는 생각에 보람을 느낀다. + 학교 밖을 나와 집으로 돌아가는 길, 하루의 피로가 몰려오지만 마음은 가벼워진다. 아이들에게 무언가를 가르쳤다는 것보다, 함께 성장했다는 사실이 교사로서의 삶을 의미 있게 만든다. + 내일은 또 어떤 배움을 함께 나눌지 기대하며 하루를 마무리한다. """ }, { - "title": "무역가의 길", + "title": "환자의 삶을 지키는 의사로서의 하루", "content": """ - 2000년에 나는 국제 무역 회사에서 일을 시작하며 처음으로 무역 업계에 발을 들였습니다. - 세계 각국과의 거래를 통해 다양한 문화와 경제적 이해를 넓혔고, 이를 바탕으로 나는 점점 더 큰 프로젝트를 맡게 되었습니다. - 특히, 나는 아시아와 유럽 시장 간의 무역 관계를 주도하며 회사의 성장을 이끌었습니다. - 20년 동안의 무역가 생활은 매우 도전적이었지만, 동시에 보람찬 경험이었습니다. - 다양한 국가와의 협상을 통해 얻은 인사이트는 내가 계속해서 이 분야에서 성공할 수 있는 기반이 되었습니다. + 새벽 6시, 첫 알람이 울리면 하루가 시작된다. 오늘도 많은 환자들이 나를 기다리고 있다는 생각에 피곤함을 털어내고 병원으로 향한다. 병원에 도착하자마자 환자 차트를 훑어보며 하루 일정을 머릿속에 그린다. + 외래 진료, 수술, 그리고 응급 환자 대기까지. 내게 주어진 시간은 늘 부족하지만, 한 명 한 명의 생명이 달려있기에 신중함을 잃지 않는다. + 외래 진료실에 들어서면 환자들의 상태를 묻고, 그들의 이야기를 경청한다. 환자들이 겪는 고통을 해결해주기 위해 나의 지식과 경험을 최대한 활용해야 한다. + 간단한 진료에서 시작해, 정밀 검사를 지시하거나 약 처방을 하며 다음 단계를 준비한다. 환자들의 눈 속에는 때로는 불안함이 가득하지만, 나는 그들에게 신뢰를 주고 안심시킬 수 있어야 한다. + 수술이 잡힌 날은 긴장감이 더욱 고조된다. 수술실로 들어서면 모든 것이 완벽하게 준비되어 있어야 한다. 여러 번 연습하고 예측한 상황이지만, 언제나 예상치 못한 상황이 발생할 수 있다. + 환자의 생명을 책임지고 있는 만큼, 수술 중에는 내가 가진 모든 집중력을 쏟아부어야 한다. 수술이 성공적으로 끝난 뒤, 환자가 회복하는 모습을 볼 때 비로소 안도의 한숨을 내쉰다. + 하루가 끝나갈 무렵, 병원을 떠나기 전 마지막으로 응급실을 들른다. 응급환자들을 돌보는 의사로서의 역할은 언제나 긴장 상태를 유지하게 한다. + 예기치 못한 상황에 빠르게 대응해야 하며, 순간적인 판단력이 환자의 생명을 좌우할 수 있다. 병원을 나서는 길, 피로가 몰려오지만 환자들이 조금씩 나아지는 모습을 떠올리며 뿌듯함을 느낀다. + 의사로서의 삶은 끝없는 긴장의 연속이지만, 그 속에서 누군가의 삶을 지키고 있다는 사실이 나를 계속 앞으로 나아가게 만든다. 내일도 또 다른 환자를 만나고, 그들의 삶에 도움을 줄 생각을 하며 하루를 마무리한다. + """ + }, + { + "title": "치료의 길을 걷는 의사", + "content": """ + 새벽 5시 반, 알람 소리가 들리면 잠에서 깨어나 하루를 준비한다. 의사로서 매일 같은 시간에 일어나지만, 그날그날의 진료와 치료 과정은 예측할 수 없다. + 병원에 도착하면, 가장 먼저 해야 할 일은 밤새 응급실에서 일어난 일들을 확인하는 것이다. 새로 접수된 환자들이나 긴급한 상황이 있었는지를 파악한 후, 나는 오늘의 진료 일정을 차분히 준비한다. + 진료실에서 환자들을 만나는 순간, 나는 의사의 책임감을 다시금 되새긴다. 그들이 겪는 육체적 고통뿐 아니라, 마음속 불안을 해소하는 것도 나의 역할이다. 환자의 이야기를 듣고 증상을 분석하며 최적의 치료 방법을 찾는다. + 가벼운 진료가 끝나는 환자도 있지만, 더 복잡한 검사가 필요한 경우, 그들의 눈빛 속에는 두려움이 엿보인다. 나는 그들의 손을 잡으며, 치료에 대한 신뢰와 희망을 전하려 노력한다. + 한편, 수술이 예정된 날은 특별한 긴장이 감돈다. 수술실에 들어서면 모두가 자신의 역할을 준비하고, 나는 수술이 계획대로 진행될 수 있도록 모든 것을 점검한다. + 긴 시간 동안 집중하며 수술을 끝내고 나면, 환자가 안정적인 상태로 회복 중이라는 소식을 듣고서야 긴장이 풀린다. + 수술의 성패는 나뿐만 아니라 팀 전체의 협력이기에, 환자가 회복하는 모습을 볼 때마다 팀워크의 중요성을 실감한다. + 오후가 되면 진료를 마치고 응급 환자들을 다시 한 번 점검한다. 이 과정에서 빠르게 판단하고 결정해야 하는 순간들이 많다. + 시간이 흐를수록 육체적인 피로가 몰려오지만, 환자의 안위를 책임지는 의사로서 언제나 정신을 바짝 차려야 한다. + 병원을 떠날 때쯤, 환자들이 조금씩 나아지고 있다는 사실에 안도하며, 다시 내일을 준비한다. + """ + }, + { + "title": "길 위에서 찾는 자유, 여행자의 하루", + "content": """ + 해가 뜨기 전 조용한 새벽, 짐을 꾸리고 집을 나선다. 새로운 곳을 향하는 설렘은 늘 이른 시간부터 나를 깨운다. 공항으로 가는 길은 익숙하지만, 목적지는 언제나 새롭다. + 여행은 늘 낯선 곳으로의 떠남과 동시에 나 자신을 다시 발견하는 시간이다. 비행기가 이륙할 때 창밖을 바라보며, 앞으로 펼쳐질 풍경과 만날 사람들에 대한 기대감이 차오른다. + 목적지에 도착하자마자 낯선 공기와 풍경이 나를 반긴다. 여행지의 첫걸음은 언제나 조심스럽지만, 발길이 닿는 곳곳에서 새로운 경험을 마주할 생각에 마음은 가벼워진다. + 지도나 인터넷에 의존하지 않고 발길이 가는 대로 걷는다. 골목길을 지나며 만난 현지 사람들과의 짧은 인사, 시장에서의 흥정, 길거리 음식에서 느껴지는 현지의 맛. 이런 작은 순간들이 나의 여행을 특별하게 만든다. + 여행 중간, 잠시 카페에 들러 현지 커피를 마시며 일상의 피로를 잊는다. 이곳의 문화와 사람들이 살아가는 방식을 눈으로 보고 몸으로 느끼는 것이야말로 여행의 참된 매력이다. + 사진으로 남길 수 없는 감정들, 눈앞에 펼쳐지는 풍경을 온전히 내 것으로 만들기 위해 순간을 깊이 음미한다. + 해가 질 무렵, 숙소로 돌아가는 길에 여행 중 얻은 작은 기념품들을 다시 한 번 살펴본다. 그 안에 담긴 기억과 이야기들이 나를 미소 짓게 한다. + 여행은 단순한 일탈이 아니다. 나 자신을 돌아보고, 새로운 세상을 만나는 과정이다. 하루를 마무리하며 내일 또 다른 모험을 기대하며 잠자리에 든다. + 이렇게 여행은 끝없이 이어지는 발견과 배움의 연속이다. 낯선 길 위에서 느끼는 자유는 일상에서 벗어나 진정한 나를 찾는 시간이다. + """ + }, + { + "title": "발길 닿는 대로 떠나는 여행", + "content": """ + 아침 햇살이 비추기 전, 나는 짐을 챙기고 집을 나선다. 목적지는 정해져 있지만, 그곳에서 어떤 경험을 하게 될지는 알 수 없다. 공항에서의 대기 시간조차 설레는 마음으로 가득하다. + 비행기를 타고 떠나는 순간, 나는 이미 일상에서 벗어나 새로운 세계로 향하는 여정에 들어선다. 바삐 흘러가는 일상과는 달리, 여행은 시간을 느긋하게 누릴 수 있는 기회다. + 도착한 여행지에서는 익숙하지 않은 언어와 문화가 나를 반긴다. 현지의 소음, 냄새, 사람들의 활기찬 목소리가 어우러져 이국적인 분위기를 자아낸다. + 숙소에 짐을 풀고 나는 계획에 얽매이지 않고 발길 닿는 대로 거리를 걸어 나간다. + 화려한 관광지가 아닌, 골목 깊숙한 곳에서 만난 작은 상점들, 거리의 예술가들, 그리고 현지인들의 일상적인 모습을 지켜보는 것에서 나는 여행의 진정한 즐거움을 느낀다. + 점심은 현지 시장에서 간단히 해결한다. 이곳의 음식은 낯설지만, 새로운 맛을 시도하는 것도 여행의 묘미다. + 길을 걷다 보면 예기치 않게 마주치는 풍경이나 우연히 들른 작은 박물관에서의 발견이 특별한 기억을 남긴다. 여행은 그런 작은 우연들이 모여 나만의 이야기를 만들어 준다. + 해가 질 무렵, 오늘 하루 동안 겪었던 다양한 경험을 되새기며 한적한 카페에 앉아 여유를 즐긴다. 여행은 단지 장소를 이동하는 것이 아니라, 내 마음 속에 새로운 시야를 열어주는 과정임을 깨닫는다. + 내일은 또 어떤 길이 나를 기다리고 있을지 기대하며, 잠시 고단한 몸을 쉬인다. 여행은 나를 세상과 연결해주는 통로다. + 매일의 반복에서 벗어나, 진정한 자유를 느끼고 세상을 다른 시각으로 바라볼 수 있는 귀중한 시간이다. """ } ] diff --git a/services/llm_service.py b/services/llm_service.py index 535e5d8..5184723 100644 --- a/services/llm_service.py +++ b/services/llm_service.py @@ -12,33 +12,29 @@ # 1. 초기 단계 프롬프트 템플릿 (기) initial_template = PromptTemplate.from_template(""" -당신은 66세 여성이며, 당신의 직업은 {job}입니다. 어릴 적 선생님이 되고 싶었지만, 이루지 못한 꿈에 아쉬움을 느끼고 있습니다. -현재 혼자 지내며 외로움을 느끼고 있는 당신, 과거의 꿈을 다시 생각하며 변화를 원합니다. -'{text}'와 같은 경험이 있었는데, 이에 대해 이야기해 주세요. +너는 오랫동안 {job}가 되고 싶었어 +드디어 내일이면 처음으로 근무를 하게 되었어 너는 어떤 상황에 놓여있고 해당 상황에 어떤 생각 중인지 딱딱하지 않게 일기처럼 이야기 해줘 """) # 2. 중기 단계 프롬프트 템플릿 (승) middle_template = PromptTemplate.from_template(""" -이전까지 생성된 이야기는 다음과 같습니다: "{generated_text}" - -당신은 과거의 꿈을 되찾기 위해 노력하기로 결심했습니다. 하지만 {job}로서의 현실적인 제약과 나이로 인해 많은 도전이 앞에 있습니다. -이 어려움을 어떻게 극복하고자 하시나요? 그리고 '{text}'와 같은 상황에서 새로운 기회를 어떻게 찾아가고 있나요? +"{generated_text}" +위의 이야기에서 자연스럽게 이어지게 +시간이 꽤 지나고 {job}에 조금은 능숙해진 너는 어떤 상황에 놓여있고 해당 상황에 어떤 생각 중인지 딱딱하지 않게 일기처럼 이야기 해줘 """) # 3. 후기 단계 프롬프트 템플릿 (전) pre_final_template = PromptTemplate.from_template(""" -이전까지 생성된 이야기는 다음과 같습니다: "{generated_text}" - -당신은 {job}로서 새로운 도전을 맞이하고 있으며, 이전보다 훨씬 더 깊은 이해와 배움을 얻고 있습니다. -새로운 인연과 기회 속에서 어떤 변화가 일어났나요? 특히 '{text}'와 같은 경험이 어떻게 당신을 성장시켰나요? +"{generated_text}" +위의 이야기에서 자연스럽게 이어지게 +이제는 선배 축에 속할만큼 {job}에 능숙해진 너는 어떤 상황에 놓여있고 해당 상황에 어떤 생각 중인지 딱딱하지 않게 일기처럼 이야기 해줘 """) # 4. 마무리 단계 프롬프트 템플릿 (결) final_template = PromptTemplate.from_template(""" -이전까지 생성된 이야기는 다음과 같습니다: "{generated_text}" - -당신은 과거의 아쉬움을 극복하고, {job}로서 새로운 길을 찾았습니다. 당신의 경험과 결단이 어떤 결과를 만들어냈나요? -그리고 '{text}'와 같은 경험을 통해 어떤 교훈을 얻었나요? +"{generated_text}" +위의 이야기에서 자연스럽게 이어지게 +{job}에서 은퇴를 앞둔 너는 어떤 상황에 놓여있고 해당 상황에 어떤 생각 중인지 딱딱하지 않게 일기처럼 이야기 해줘 """) # Runnable을 사용하여 프롬프트와 모델 실행을 체인으로 연결