{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "\u001b[32m2024-09-05 03:20:19.326\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mserver.rag.index.embedder.document_embedder\u001b[0m:\u001b[36m__init__\u001b[0m:\u001b[36m46\u001b[0m - \u001b[1m[DOC_EMBEDDER] init, collection_name: 'mychroma_collection', persist_directory: 'chroma_dir', llm_name: 'OpenAI'\u001b[0m\n" ] } ], "source": [ "import sys\n", "sys.path.append('../')\n", "\n", "from dotenv import load_dotenv\n", "# Load environment variables from .env file\n", "load_dotenv(override=True)\n", "\n", "from server.logger.logger_config import my_logger as logger\n", "from server.rag.pre_retrieval.query_transformation.rewrite import detect_query_lang\n", "from server.app.queries import get_recall_documents, rerank_documents\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "RECALL_TOP_K = 5" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "\u001b[32m2024-09-05 03:29:01.617\u001b[0m | \u001b[33m\u001b[1mWARNING \u001b[0m | \u001b[36m__main__\u001b[0m:\u001b[36m\u001b[0m:\u001b[36m9\u001b[0m - \u001b[33m\u001b[1mFor query: '신뢰도에 있어서 검사, 재검사는 보통 몇 개월이 권장되나요?', detect the language is 'Korean'!\u001b[0m\n" ] } ], "source": [ "# query = \"심동적 가치가 뭐야\"\n", "# query = \"오메가3 보충제에 대해서 섦여해줄래?\"\n", "# query = \"쿄바디 유튜브 영상들 제목을 알려줘.\"\n", "query = \"신뢰도에 있어서 검사, 재검사는 보통 몇 개월이 권장되나요?\"\n", "# query = \"이교운 나이는?\"\n", "\n", "# Detect the language of the query\n", "lang = detect_query_lang(query)\n", "logger.warning(f\"For query: '{query}', detect the language is '{lang}'!\")\n" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "\u001b[32m2024-09-05 03:29:03.563\u001b[0m | \u001b[33m\u001b[1mWARNING \u001b[0m | \u001b[36mserver.app.queries\u001b[0m:\u001b[36msearch_documents\u001b[0m:\u001b[36m135\u001b[0m - \u001b[33m\u001b[1msearch_documents, query: '신뢰도에 있어서 검사, 재검사는 보통 몇 개월이 권장되나요?', k: 5, the timecost is 0.3339850902557373\u001b[0m\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[(Document(page_content='385\\n02:20:04,000 --> 02:20:42,000\\n근데 왜 보통 시간적 간격을 6개월을 두냐면 한 시간 같이 단시간의 연료 검사를 하는 건 좋지 않아요. 왜냐하면 연습효과라는 게 발생하기 때문에 이런 검사 결과는 앞에 검사 결과 보다 더 좋게 나와요. 뭔가 연습해서 더 성장을 해버린 거예요. 업그레이드 된 거예요. 이러한 연습효과를 비윤해 방지하기 위해서 보통 약 6개월을 두고 검사재검사를 실시합니다. 그렇지만 6개월을 넘어 2년 같이, 2년이라는 시간이 지나서 다시 검사를 한다? 이해도 안 돼요.\\nyoutube_url: https://www.youtube.com/watch?v=CwYC3Egw4pA\\ntitle: 스포츠지도사 필기 벼락치기 강의 2일차 [ 스포츠교육학 ]\\nupload_date: 2024-03-09\\nthumbnail_url: https://i.ytimg.com/vi_webp/CwYC3Egw4pA/maxresdefault.webp\\n386\\n02:20:42,000 --> 02:21:21,000\\n왜냐하면 이거는 성숙요인이 발생하기 때문에 이러한 변인들이 너무 많아지기 때문에 검사 결과가 신뢰도가 떨어지기 때문에 보통 약 6개월이 권장이 됩니다. 내적 일반성. 이건 뭐냐면 이러한 검사는 어떤 평가냐. 검사 문항들 사이에 동일성을 평가하는 신뢰도입니다. 즉, 검사할 때 어떤 많은 문항들, 질문들이 있겠죠. 거기에 있는 동일성을 평가하는 게 얼마나 유사한지. 대표적으로 이런 평가를 할 때 크롬바르 알파 개수가 많이 사용이 돼요.\\nyoutube_url: https://www.youtube.com/watch?v=CwYC3Egw4pA\\ntitle: 스포츠지도사 필기 벼락치기 강의 2일차 [ 스포츠교육학 ]\\nupload_date: 2024-03-09\\nthumbnail_url: https://i.ytimg.com/vi_webp/CwYC3Egw4pA/maxresdefault.webp', metadata={'id': '3-3-part2', 'source': 'http://127.0.0.1:7860/web/download_dir/2024_09_05/2fd584d0-db4e-4087-8f4b-4e8046b4e888/grouped_srt_output.txt'}), 0.4400460124015808), (Document(page_content='402\\n02:26:49,000 --> 02:27:20,000\\n동일한 검사에 대해 시간 차이를 두고 이외 측정해서 측정값을 비교해 차이가 작으면 신뢰도가 높고, 차이가 많이 크면 신뢰도가 낮은 것으로 판단한다. 첫 번째와 두 번째 측정할 때 간격, 시간 차이가 너무 길거나 짧으면 신뢰도가 낮게 나올 수 있다고 말하고 있어요. 우리 이거 같이 살펴봤었는데, 가장 중요한 포인트, 시간 차이, 우리 검사, 재검사를 떠올려 주시면 되는데요.\\nyoutube_url: https://www.youtube.com/watch?v=CwYC3Egw4pA\\ntitle: 스포츠지도사 필기 벼락치기 강의 2일차 [ 스포츠교육학 ]\\nupload_date: 2024-03-09\\nthumbnail_url: https://i.ytimg.com/vi_webp/CwYC3Egw4pA/maxresdefault.webp\\n403\\n02:27:20,000 --> 02:27:40,000\\n신뢰도에 있어서 검사, 재검사는 보통 약 6개월이 권장돼서, 시간적 간격으로 보통 6개월이 권장돼요. 그것보다 긴 시간이나 짧은 시간은 신뢰도에 영향을 미친다고 우리 같이 살펴보았죠. 그래서 1번의 답은 검사, 재검사입니다. 그렇지만 여러분이 이런 보기에서 나오는 내용들 있죠.\\nyoutube_url: https://www.youtube.com/watch?v=CwYC3Egw4pA\\ntitle: 스포츠지도사 필기 벼락치기 강의 2일차 [ 스포츠교육학 ]\\nupload_date: 2024-03-09\\nthumbnail_url: https://i.ytimg.com/vi_webp/CwYC3Egw4pA/maxresdefault.webp\\n404\\n02:27:40,000 --> 02:28:06,000\\n이것도 그래도 이해하시고 넘어가시는 게 좋은 게, 이런 개념이 또 다음 시험에서 문제를 풀 때 적용해 보기 좋을 수 있겠죠. 그렇지만 1번의 1번인 걸 알아도, 동현검사, 반분신뢰도검사, 내적일관성검사의 개념도 빠르게 같이 살펴보도록 하겠습니다. 왜냐하면 문제만 맞추고 넘어가는 게 아니라 다른 개념도 같이 살펴보고 싶어서.\\nyoutube_url: https://www.youtube.com/watch?v=CwYC3Egw4pA\\ntitle: 스포츠지도사 필기 벼락치기 강의 2일차 [ 스포츠교육학 ]\\nupload_date: 2024-03-09\\nthumbnail_url: https://i.ytimg.com/vi_webp/CwYC3Egw4pA/maxresdefault.webp', metadata={'id': '3-3-part8', 'source': 'http://127.0.0.1:7860/web/download_dir/2024_09_05/2fd584d0-db4e-4087-8f4b-4e8046b4e888/grouped_srt_output.txt'}), 0.4386413097381592), (Document(page_content='383\\n02:18:39,000 --> 02:19:20,000\\n신뢰도는 큰 틀에서 보면 이렇게 되는데 페이지가 조금 짧아서 큰 틀에서 보여드리고 싶어서 이렇게 확대를 하고 같이 살펴볼게요. 신뢰도는 말했듯이 백발백중할 수 있는 정도를 말한다고 했어요. 백발백중할 수 있는 정도. 근데 얘가 갖는 그러면 중요한 의미는 뭘까요? 타당도의 필요조건이란 겁니다. 이게 무슨 말이지? 즉, 높은 타당도는 무조건 높은 신뢰도가 필요한다는 거죠. 즉, 내가 원샷원킬을 잘한다는 건 무슨 뜻이겠어요? 뭐가 뒷받침 되는 걸까요? 백발백중을 잘하는 게 뒷받침이 되어야 되겠죠.\\nyoutube_url: https://www.youtube.com/watch?v=CwYC3Egw4pA\\ntitle: 스포츠지도사 필기 벼락치기 강의 2일차 [ 스포츠교육학 ]\\nupload_date: 2024-03-09\\nthumbnail_url: https://i.ytimg.com/vi_webp/CwYC3Egw4pA/maxresdefault.webp\\n384\\n02:19:21,000 --> 02:20:04,000\\n그래서 이 타당도가 높으면 무조건 높은 신뢰도가 그 기저에 있다. 그게 무조건 바탕이 되어야 된다라는 뜻입니다. 신뢰도, 검사재검사라는 것은 신뢰도를 측정하는 방법을 쓰죠. 이건 뭐냐면 동일한 검사를 일정한 시간적 간격, 보통 약 6개월을 두고 동일한 피의검사자에게 두 번 실시하여 결과가 유사한지 분석하는 걸로 확인하는 방법입니다. 그래서 사실 이런 시간적 흐름이 개입되는 유일한 신뢰도 개념이에요. 즉, 이런 신뢰도를 평가할 때 유일하게 시간의 흐름이 개입되는 건 검사재검사 방법입니다.\\nyoutube_url: https://www.youtube.com/watch?v=CwYC3Egw4pA\\ntitle: 스포츠지도사 필기 벼락치기 강의 2일차 [ 스포츠교육학 ]\\nupload_date: 2024-03-09\\nthumbnail_url: https://i.ytimg.com/vi_webp/CwYC3Egw4pA/maxresdefault.webp', metadata={'id': '3-3-part1', 'source': 'http://127.0.0.1:7860/web/download_dir/2024_09_05/2fd584d0-db4e-4087-8f4b-4e8046b4e888/grouped_srt_output.txt'}), 0.41685962677001953), (Document(page_content='387\\n02:21:21,000 --> 02:21:55,000\\n이러한 개수는 보통 0에서 1 사이의 값을 가지는데 1에 가까울수록 이 내적 일관성이 높다고 평가를 해요. 즉, 1에 가까울수록, 구체적으로 말하자면 0.7 이상일 때 내적 일관성이 있다고 판단을 합니다. 이러한 내적 일관성 검사는 동형 검사와 반분 검사가 대개의 예시로 볼 수 있는데요. 동형 검사라는 것은 뭐냐면 한 검사의 문항들을 비교 가능한 두 가지 버전으로 만듭니다. 즉, 한 검사를 두 버전으로 만드는 거예요.\\nyoutube_url: https://www.youtube.com/watch?v=CwYC3Egw4pA\\ntitle: 스포츠지도사 필기 벼락치기 강의 2일차 [ 스포츠교육학 ]\\nupload_date: 2024-03-09\\nthumbnail_url: https://i.ytimg.com/vi_webp/CwYC3Egw4pA/maxresdefault.webp\\n388\\n02:21:55,000 --> 02:22:21,000\\n그래서 두 검사 결과가 점수가 유사한가? 이렇게 확인하는 거고, 반분 검사는 뭐냐면 한 검사의 문항들을 반분한다. 즉, 둘로 나누어서 두 개의 버전으로 만듭니다. 그러니까 동형 검사랑 달라요. 반분 검사는 문항들이 있죠. 이걸 딱 반, 반 하는 거냐면 동형 검사랑 다르면 문항들이 있으면 얘를 두 버전으로 만드는 거예요. 그래서 다릅니다.\\nyoutube_url: https://www.youtube.com/watch?v=CwYC3Egw4pA\\ntitle: 스포츠지도사 필기 벼락치기 강의 2일차 [ 스포츠교육학 ]\\nupload_date: 2024-03-09\\nthumbnail_url: https://i.ytimg.com/vi_webp/CwYC3Egw4pA/maxresdefault.webp\\n389\\n02:22:21,000 --> 02:22:48,000\\n그래서 반분 검사 지금 하고 있는 거예요. 이러한 반분 검사는 그 반분한 두 개의 문항들, 두 버전의 문항이 유사한지 확인하는 겁니다. 이 반분 검사는 같은 말로 항목 반반 분할 신뢰도 검사라고 말할 수 있고, 특히 테스트의 모든 항목이 동일한 만히도와 동일한 중요도. 많은 질문들이, 많은 문항들이 있을 때,\\nyoutube_url: https://www.youtube.com/watch?v=CwYC3Egw4pA\\ntitle: 스포츠지도사 필기 벼락치기 강의 2일차 [ 스포츠교육학 ]\\nupload_date: 2024-03-09\\nthumbnail_url: https://i.ytimg.com/vi_webp/CwYC3Egw4pA/maxresdefault.webp', metadata={'id': '3-3-part3', 'source': 'http://127.0.0.1:7860/web/download_dir/2024_09_05/2fd584d0-db4e-4087-8f4b-4e8046b4e888/grouped_srt_output.txt'}), 0.37527745962142944), (Document(page_content='27\\n00:11:55,000 --> 00:12:11,600\\n이렇게 측정을 합니다. 17세에서 49세만이 사용한다고 하네요. 생체정기저항 분석법으로 넘어가겠습니다. 센서를 피부에 부착해서 약한 전율을 흐르게 하여 체지방과 제지방을 추정한다.\\nyoutube_url: https://www.youtube.com/watch?v=c0zCRafr6-U\\ntitle: NASM cpt 7판 스터디위드미 chapter 11,12 (요약정리,문제집제공)\\nupload_date: 2023-09-01\\nthumbnail_url: https://i.ytimg.com/vi/c0zCRafr6-U/maxresdefault.jpg\\n28\\n00:12:11,600 --> 00:12:29,600\\n우리 인바디 생각하시면 돼요. 이 생체정기저항 분석법은 인바디를 말하는 건데 사진으로 보여드리자면 이 인바디 기계 텔스장, 보건소 가시면 한 번씩 보셨을 거예요. 이렇게 생체에 전율을 흘러가지고\\nyoutube_url: https://www.youtube.com/watch?v=c0zCRafr6-U\\ntitle: NASM cpt 7판 스터디위드미 chapter 11,12 (요약정리,문제집제공)\\nupload_date: 2023-09-01\\nthumbnail_url: https://i.ytimg.com/vi/c0zCRafr6-U/maxresdefault.jpg\\n29\\n00:12:29,600 --> 00:12:53,200\\n체지방과 근육량 이런 걸 측정을 하는 건데 근육세포는 지방세포에 비해 더 적은 수분을 합류해요. 특징이 그래요. 그래서 전기 흐름에 대한 저항이 낮죠. 수분이 적기 때문에 전기저항이 덜하다.\\nyoutube_url: https://www.youtube.com/watch?v=c0zCRafr6-U\\ntitle: NASM cpt 7판 스터디위드미 chapter 11,12 (요약정리,문제집제공)\\nupload_date: 2023-09-01\\nthumbnail_url: https://i.ytimg.com/vi/c0zCRafr6-U/maxresdefault.jpg', metadata={'id': '3-3-part12', 'source': 'http://127.0.0.1:7860/web/download_dir/2024_09_05/2fd584d0-db4e-4087-8f4b-4e8046b4e888/grouped_srt_output.txt'}), 0.36146295070648193)]\n" ] } ], "source": [ "results = get_recall_documents(\n", " query, \n", " query, \n", " k=RECALL_TOP_K, \n", " user_id='debug',\n", " min_relevance_score=0.3\n", ")\n", "print(results)" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[(Document(page_content='385\\n02:20:04,000 --> 02:20:42,000\\n근데 왜 보통 시간적 간격을 6개월을 두냐면 한 시간 같이 단시간의 연료 검사를 하는 건 좋지 않아요. 왜냐하면 연습효과라는 게 발생하기 때문에 이런 검사 결과는 앞에 검사 결과 보다 더 좋게 나와요. 뭔가 연습해서 더 성장을 해버린 거예요. 업그레이드 된 거예요. 이러한 연습효과를 비윤해 방지하기 위해서 보통 약 6개월을 두고 검사재검사를 실시합니다. 그렇지만 6개월을 넘어 2년 같이, 2년이라는 시간이 지나서 다시 검사를 한다? 이해도 안 돼요.\\nyoutube_url: https://www.youtube.com/watch?v=CwYC3Egw4pA\\ntitle: 스포츠지도사 필기 벼락치기 강의 2일차 [ 스포츠교육학 ]\\nupload_date: 2024-03-09\\nthumbnail_url: https://i.ytimg.com/vi_webp/CwYC3Egw4pA/maxresdefault.webp\\n386\\n02:20:42,000 --> 02:21:21,000\\n왜냐하면 이거는 성숙요인이 발생하기 때문에 이러한 변인들이 너무 많아지기 때문에 검사 결과가 신뢰도가 떨어지기 때문에 보통 약 6개월이 권장이 됩니다. 내적 일반성. 이건 뭐냐면 이러한 검사는 어떤 평가냐. 검사 문항들 사이에 동일성을 평가하는 신뢰도입니다. 즉, 검사할 때 어떤 많은 문항들, 질문들이 있겠죠. 거기에 있는 동일성을 평가하는 게 얼마나 유사한지. 대표적으로 이런 평가를 할 때 크롬바르 알파 개수가 많이 사용이 돼요.\\nyoutube_url: https://www.youtube.com/watch?v=CwYC3Egw4pA\\ntitle: 스포츠지도사 필기 벼락치기 강의 2일차 [ 스포츠교육학 ]\\nupload_date: 2024-03-09\\nthumbnail_url: https://i.ytimg.com/vi_webp/CwYC3Egw4pA/maxresdefault.webp', metadata={'id': '3-3-part2', 'source': 'http://127.0.0.1:7860/web/download_dir/2024_09_05/2fd584d0-db4e-4087-8f4b-4e8046b4e888/grouped_srt_output.txt'}),\n", " 0.4400460124015808),\n", " (Document(page_content='402\\n02:26:49,000 --> 02:27:20,000\\n동일한 검사에 대해 시간 차이를 두고 이외 측정해서 측정값을 비교해 차이가 작으면 신뢰도가 높고, 차이가 많이 크면 신뢰도가 낮은 것으로 판단한다. 첫 번째와 두 번째 측정할 때 간격, 시간 차이가 너무 길거나 짧으면 신뢰도가 낮게 나올 수 있다고 말하고 있어요. 우리 이거 같이 살펴봤었는데, 가장 중요한 포인트, 시간 차이, 우리 검사, 재검사를 떠올려 주시면 되는데요.\\nyoutube_url: https://www.youtube.com/watch?v=CwYC3Egw4pA\\ntitle: 스포츠지도사 필기 벼락치기 강의 2일차 [ 스포츠교육학 ]\\nupload_date: 2024-03-09\\nthumbnail_url: https://i.ytimg.com/vi_webp/CwYC3Egw4pA/maxresdefault.webp\\n403\\n02:27:20,000 --> 02:27:40,000\\n신뢰도에 있어서 검사, 재검사는 보통 약 6개월이 권장돼서, 시간적 간격으로 보통 6개월이 권장돼요. 그것보다 긴 시간이나 짧은 시간은 신뢰도에 영향을 미친다고 우리 같이 살펴보았죠. 그래서 1번의 답은 검사, 재검사입니다. 그렇지만 여러분이 이런 보기에서 나오는 내용들 있죠.\\nyoutube_url: https://www.youtube.com/watch?v=CwYC3Egw4pA\\ntitle: 스포츠지도사 필기 벼락치기 강의 2일차 [ 스포츠교육학 ]\\nupload_date: 2024-03-09\\nthumbnail_url: https://i.ytimg.com/vi_webp/CwYC3Egw4pA/maxresdefault.webp\\n404\\n02:27:40,000 --> 02:28:06,000\\n이것도 그래도 이해하시고 넘어가시는 게 좋은 게, 이런 개념이 또 다음 시험에서 문제를 풀 때 적용해 보기 좋을 수 있겠죠. 그렇지만 1번의 1번인 걸 알아도, 동현검사, 반분신뢰도검사, 내적일관성검사의 개념도 빠르게 같이 살펴보도록 하겠습니다. 왜냐하면 문제만 맞추고 넘어가는 게 아니라 다른 개념도 같이 살펴보고 싶어서.\\nyoutube_url: https://www.youtube.com/watch?v=CwYC3Egw4pA\\ntitle: 스포츠지도사 필기 벼락치기 강의 2일차 [ 스포츠교육학 ]\\nupload_date: 2024-03-09\\nthumbnail_url: https://i.ytimg.com/vi_webp/CwYC3Egw4pA/maxresdefault.webp', metadata={'id': '3-3-part8', 'source': 'http://127.0.0.1:7860/web/download_dir/2024_09_05/2fd584d0-db4e-4087-8f4b-4e8046b4e888/grouped_srt_output.txt'}),\n", " 0.4386413097381592),\n", " (Document(page_content='383\\n02:18:39,000 --> 02:19:20,000\\n신뢰도는 큰 틀에서 보면 이렇게 되는데 페이지가 조금 짧아서 큰 틀에서 보여드리고 싶어서 이렇게 확대를 하고 같이 살펴볼게요. 신뢰도는 말했듯이 백발백중할 수 있는 정도를 말한다고 했어요. 백발백중할 수 있는 정도. 근데 얘가 갖는 그러면 중요한 의미는 뭘까요? 타당도의 필요조건이란 겁니다. 이게 무슨 말이지? 즉, 높은 타당도는 무조건 높은 신뢰도가 필요한다는 거죠. 즉, 내가 원샷원킬을 잘한다는 건 무슨 뜻이겠어요? 뭐가 뒷받침 되는 걸까요? 백발백중을 잘하는 게 뒷받침이 되어야 되겠죠.\\nyoutube_url: https://www.youtube.com/watch?v=CwYC3Egw4pA\\ntitle: 스포츠지도사 필기 벼락치기 강의 2일차 [ 스포츠교육학 ]\\nupload_date: 2024-03-09\\nthumbnail_url: https://i.ytimg.com/vi_webp/CwYC3Egw4pA/maxresdefault.webp\\n384\\n02:19:21,000 --> 02:20:04,000\\n그래서 이 타당도가 높으면 무조건 높은 신뢰도가 그 기저에 있다. 그게 무조건 바탕이 되어야 된다라는 뜻입니다. 신뢰도, 검사재검사라는 것은 신뢰도를 측정하는 방법을 쓰죠. 이건 뭐냐면 동일한 검사를 일정한 시간적 간격, 보통 약 6개월을 두고 동일한 피의검사자에게 두 번 실시하여 결과가 유사한지 분석하는 걸로 확인하는 방법입니다. 그래서 사실 이런 시간적 흐름이 개입되는 유일한 신뢰도 개념이에요. 즉, 이런 신뢰도를 평가할 때 유일하게 시간의 흐름이 개입되는 건 검사재검사 방법입니다.\\nyoutube_url: https://www.youtube.com/watch?v=CwYC3Egw4pA\\ntitle: 스포츠지도사 필기 벼락치기 강의 2일차 [ 스포츠교육학 ]\\nupload_date: 2024-03-09\\nthumbnail_url: https://i.ytimg.com/vi_webp/CwYC3Egw4pA/maxresdefault.webp', metadata={'id': '3-3-part1', 'source': 'http://127.0.0.1:7860/web/download_dir/2024_09_05/2fd584d0-db4e-4087-8f4b-4e8046b4e888/grouped_srt_output.txt'}),\n", " 0.41685962677001953),\n", " (Document(page_content='387\\n02:21:21,000 --> 02:21:55,000\\n이러한 개수는 보통 0에서 1 사이의 값을 가지는데 1에 가까울수록 이 내적 일관성이 높다고 평가를 해요. 즉, 1에 가까울수록, 구체적으로 말하자면 0.7 이상일 때 내적 일관성이 있다고 판단을 합니다. 이러한 내적 일관성 검사는 동형 검사와 반분 검사가 대개의 예시로 볼 수 있는데요. 동형 검사라는 것은 뭐냐면 한 검사의 문항들을 비교 가능한 두 가지 버전으로 만듭니다. 즉, 한 검사를 두 버전으로 만드는 거예요.\\nyoutube_url: https://www.youtube.com/watch?v=CwYC3Egw4pA\\ntitle: 스포츠지도사 필기 벼락치기 강의 2일차 [ 스포츠교육학 ]\\nupload_date: 2024-03-09\\nthumbnail_url: https://i.ytimg.com/vi_webp/CwYC3Egw4pA/maxresdefault.webp\\n388\\n02:21:55,000 --> 02:22:21,000\\n그래서 두 검사 결과가 점수가 유사한가? 이렇게 확인하는 거고, 반분 검사는 뭐냐면 한 검사의 문항들을 반분한다. 즉, 둘로 나누어서 두 개의 버전으로 만듭니다. 그러니까 동형 검사랑 달라요. 반분 검사는 문항들이 있죠. 이걸 딱 반, 반 하는 거냐면 동형 검사랑 다르면 문항들이 있으면 얘를 두 버전으로 만드는 거예요. 그래서 다릅니다.\\nyoutube_url: https://www.youtube.com/watch?v=CwYC3Egw4pA\\ntitle: 스포츠지도사 필기 벼락치기 강의 2일차 [ 스포츠교육학 ]\\nupload_date: 2024-03-09\\nthumbnail_url: https://i.ytimg.com/vi_webp/CwYC3Egw4pA/maxresdefault.webp\\n389\\n02:22:21,000 --> 02:22:48,000\\n그래서 반분 검사 지금 하고 있는 거예요. 이러한 반분 검사는 그 반분한 두 개의 문항들, 두 버전의 문항이 유사한지 확인하는 겁니다. 이 반분 검사는 같은 말로 항목 반반 분할 신뢰도 검사라고 말할 수 있고, 특히 테스트의 모든 항목이 동일한 만히도와 동일한 중요도. 많은 질문들이, 많은 문항들이 있을 때,\\nyoutube_url: https://www.youtube.com/watch?v=CwYC3Egw4pA\\ntitle: 스포츠지도사 필기 벼락치기 강의 2일차 [ 스포츠교육학 ]\\nupload_date: 2024-03-09\\nthumbnail_url: https://i.ytimg.com/vi_webp/CwYC3Egw4pA/maxresdefault.webp', metadata={'id': '3-3-part3', 'source': 'http://127.0.0.1:7860/web/download_dir/2024_09_05/2fd584d0-db4e-4087-8f4b-4e8046b4e888/grouped_srt_output.txt'}),\n", " 0.37527745962142944),\n", " (Document(page_content='27\\n00:11:55,000 --> 00:12:11,600\\n이렇게 측정을 합니다. 17세에서 49세만이 사용한다고 하네요. 생체정기저항 분석법으로 넘어가겠습니다. 센서를 피부에 부착해서 약한 전율을 흐르게 하여 체지방과 제지방을 추정한다.\\nyoutube_url: https://www.youtube.com/watch?v=c0zCRafr6-U\\ntitle: NASM cpt 7판 스터디위드미 chapter 11,12 (요약정리,문제집제공)\\nupload_date: 2023-09-01\\nthumbnail_url: https://i.ytimg.com/vi/c0zCRafr6-U/maxresdefault.jpg\\n28\\n00:12:11,600 --> 00:12:29,600\\n우리 인바디 생각하시면 돼요. 이 생체정기저항 분석법은 인바디를 말하는 건데 사진으로 보여드리자면 이 인바디 기계 텔스장, 보건소 가시면 한 번씩 보셨을 거예요. 이렇게 생체에 전율을 흘러가지고\\nyoutube_url: https://www.youtube.com/watch?v=c0zCRafr6-U\\ntitle: NASM cpt 7판 스터디위드미 chapter 11,12 (요약정리,문제집제공)\\nupload_date: 2023-09-01\\nthumbnail_url: https://i.ytimg.com/vi/c0zCRafr6-U/maxresdefault.jpg\\n29\\n00:12:29,600 --> 00:12:53,200\\n체지방과 근육량 이런 걸 측정을 하는 건데 근육세포는 지방세포에 비해 더 적은 수분을 합류해요. 특징이 그래요. 그래서 전기 흐름에 대한 저항이 낮죠. 수분이 적기 때문에 전기저항이 덜하다.\\nyoutube_url: https://www.youtube.com/watch?v=c0zCRafr6-U\\ntitle: NASM cpt 7판 스터디위드미 chapter 11,12 (요약정리,문제집제공)\\nupload_date: 2023-09-01\\nthumbnail_url: https://i.ytimg.com/vi/c0zCRafr6-U/maxresdefault.jpg', metadata={'id': '3-3-part12', 'source': 'http://127.0.0.1:7860/web/download_dir/2024_09_05/2fd584d0-db4e-4087-8f4b-4e8046b4e888/grouped_srt_output.txt'}),\n", " 0.36146295070648193)]" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "filter_context = ''\n", "if len(results) > 1:\n", " results.sort(key=lambda x: x[1], reverse=True)\n", "\n", "if results:\n", " filter_context = \"\\n--------------------\\n\".join([\n", " f\"Citation URL: {doc.metadata['source']}\\nDocument Content: {doc.page_content}\"\n", " for doc, score in results[:RECALL_TOP_K]\n", " ])" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "print(filter_context)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "if filter_context:\n", " context = f\"\"\"\n", "Documents Information:\n", "{filter_context}\n", "\"\"\"\n", "else:\n", " # When no directly related documents are found, provide standard friendly response and guidance\n", " fallback_answer = f\"\"\"No documents found directly related to the current question!\n", "\n", "\"I'm sorry, I cannot find a specific answer about '{query}' from the information provided.\"\n", "\n", "\"\"\"\n", "\n", " context = f\"\"\"\n", "Documents Information:\n", "{fallback_answer}\n", "\"\"\"" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'\\nDocuments Information:\\nNo documents found directly related to the current question!\\n\\n\"I\\'m sorry, I cannot find a specific answer about \\'이교운 나이는?\\' from the information provided.\"\\n\\n\\n'" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "context" ] } ], "metadata": { "kernelspec": { "display_name": "aimfull", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.14" } }, "nbformat": 4, "nbformat_minor": 2 }