[PDF 기반 퀴즈 생성기] 개선하기 (시간 단축)
·
ML_DL/MUJAKJUNG (무작정 시리즈)
[PDF 기반 퀴즈 생성기] 구현하기 (feat. Streamlit, RAG)1. PDF 파일 업로드streamlit의 'file_uploader'를 통해 파일 업로드type 지정으로, pdf 파일만 업로드 할 수 있도록 제한uploaded_file = st.file_uploader(label="PDF 업로드", type=["pdf"])2. OpenAI API KEY 입력streamlit의 'textswwho.tistory.com embedding 모델 배치 활용현재 분할한 문장을 한 문장씩 embedding 모델에 넣어 결과를 가져오고 있음이를 100문장 단위로 embedding 모델 호출임베딩 후 퀴즈 생성까지 약 40s → 9s 로 단축# 한문장씩for text in texts: try: ..
텍스트 분할 (Text Spliter)
·
ML_DL/MUJAKJUNG (무작정 시리즈)
한문장 정리텍스트 데이터를 어떻게 분할해야 활용에 용이한지 확인한다. 라이브러리 설치LangChain의 text_spliter 활용pdf 파일은 PyMuPDF 활용spacy에서는 'ko_core_news_sm' 모델 활용pip install pymupdf langchain langchain_community spacyspacy download ko_core_news_sm문장 분할from langchain.document_loaders import PyMuPDFLoaderfrom langchain.text_splitter import CharacterTextSplitter, RecursiveCharacterTextSplitter, SpacyTextSplitter# PDF 텍스트 추출loader = PyMu..
[PDF 기반 퀴즈 생성기] 구현하기 (feat. Streamlit, RAG)
·
ML_DL/MUJAKJUNG (무작정 시리즈)
1. PDF 파일 업로드streamlit의 'file_uploader'를 통해 파일 업로드type 지정으로, pdf 파일만 업로드 할 수 있도록 제한uploaded_file = st.file_uploader(label="PDF 업로드", type=["pdf"])2. OpenAI API KEY 입력streamlit의 'text_input'으로 사용자의 OpenAI API Key 입력models.list()를 호출하여, 입력한 API Key의 유효성 검사user_api_key = st.text_input(label="Groq API키 입력", type="password", placeholder="sk-******")def api_key_check(self): try: OpenAI(api_k..
[PDF 기반 퀴즈 생성기] 구성하기
·
ML_DL/MUJAKJUNG (무작정 시리즈)
한문장 정리학습하며 정리한 글의 내용을 파일로 업로드하고, 해당 내용을 기반의 퀴즈를 풀어 복습한다. 기획 의도학습에 복습은 필수적이며, 문제 풀이를 통해 학습의 정도를 파악할 수 있다.RAG 기반의 퀴즈 생성을 통해, 내가 정리한 내용을 바탕으로 복습을 진행할 수 있도록 한다.구현해야할 기능Streamlit 화면PDF 파일 업로드LLM 기반 퀴즈 생성 및 정답 제출, 정답 확인RAGPDF 텍스트 임베딩유사도 기반 검색 (PDF 내용 가운데에 주제와 관련있는 내용)Streamlit 구현sidebar내용 안내 : API키 입력을 통해 퀴즈를 생성할 수 있고, 임베딩과 퀴즈 생성 비용이 발생한다파일 업로더 : 파일이 없는 경우 ⇒ 파일 업로드 경고API 키 입력창 : API가 올바르지 않은 경우 ⇒ Inva..
[LangChain] 모델 파라미터 설정
·
ML_DL/MUJAKJUNG (무작정 시리즈)
모델의 파라미터temperature :  0과 1사이의 값, 낮을수록 예측 가능한 답, 높을수록 창의적인 답max_tokens : 출력하는 token의 수를 지정top_p : 누적 확률 분포에 따라서, 다음 토큰의 후보를 선택 (0.8이면 확률의 합이 80%이 되도록 후보 선택)stop : 출력이 멈추는 특정 단어나 구절 설정파라미터 지정 방법모델 정의 시 설정from langchain_openai import OpenAIparams = { "temperature": 0.8, "top_p": 1.0, "max_tokens": 300,}kwargs = { "stop": ["있다."]}llm = OpenAI(model="gpt-3.5-turbo-instruct", **params, mo..
[LangChain] 챗봇 구성하기
·
ML_DL/MUJAKJUNG (무작정 시리즈)
[LangChain] 시작하기LangChain 이란?LLM을 활용한 어플리케이션 개발을 위한 오픈소스 프레임워크DB, File System 지원LangChain 설치가상환경 설정conda create -n langchain python=3.11langchain 설치pip install -U langchainopenai 설치pip installswwho.tistory.com 프로젝트 파일 구조chatbot_project/├── .env # 환경변수 저장├── main.py # 챗봇 실행 스크립트├── chatbot/│ ├── config.py # 환경변수 로드 및 설정│ ├── llm_chain.py # L..