[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..
[LangChain] 시작하기
·
ML_DL/MUJAKJUNG (무작정 시리즈)
LangChain 이란?LLM을 활용한 어플리케이션 개발을 위한 오픈소스 프레임워크DB, File System 지원LangChain 설치가상환경 설정conda create -n langchain python=3.11langchain 설치pip install -U langchainopenai 설치pip install langchain-openai입출력 확인from dotenv import load_dotenvfrom langchain_openai import ChatOpenAIload_dotenv()llm = ChatOpenAI()question = "100을 10으로 나눈 몫과 나머지를 알려줘."result = llm.invoke(question)print(result.content)# 나눈 몫은 10이..
Elasticsearch, Airflow 활용하기 - 3. Airflow 환경설정
·
ML_DL/MUJAKJUNG (무작정 시리즈)
Airflow 설치windows 환경에서는 Airflow 사용이 쉽지 않기 때문에, Docker를 활용 Airflow 실행Docker 설치 : https://www.docker.com/products/docker-desktop/yml 파일 링크 : https://airflow.apache.org/docs/apache-airflow/2.10.5/docker-compose.yaml초기 ID와 Password는 airflow이며, 내부에서 비밀번호 변경이 가능하다.cd /airflow/docker-compose upDAG 파일 생성FastAPI의 서버와 Docker로 실행한 Airflow는 localhost라도 기본적으로 통신할 수 없기 때문에,  host.docker.internal:8000으로 해야 api..