
1. Transformer 사용하기 1) 감성분석:- transformer로 생성된 감성분석 모델을 다운받아 사용하기classifier = pipeline(task = "sentiment-analysis", model = '")classifier = pipeline("sentiment-analysis") - 모델 사용하기# 모델 사용text = ["I've been waiting for a HuggingFace course my whole life.", "I hate this so much!", "I have a dream.", "She was so happy."]classifier(text) 2) Zero-shot classification: Target 범주를 정..
1. Vector DB 구성 1) Loader- PDF Loader: LangChain에서 PDF 문서를 불러와 RAG 시스템에 사용할 수 있도록 변환하는 도구from langchain.document_loaders import PyMuPDFLoader# PDF 파일 로드pdf_path = "2025년 사이버 위협 전망 보고서.pdf"pdf_loader = PyMuPDFLoader(path + pdf_path)# 문서 로드 실행documents_pdf = pdf_loader.load()# 출력 확인print(f"총 {len(documents_pdf)} 개의 페이지가 로드됨") - csv 로더: 각 행을 하나의 Document 객체로 변환data = pd.read_csv(path+'sample.csv')d..

1. Vector DB 구성 1) Vector DB 정의: 대규모 텍스트 데이터 및 임베딩 벡터를 저장, 검색용 2) Vector DB 과정텍스트 추출: Loader다양한 문서로부터 텍스트 추출하기 = > 텍스트 분할: Splitterchunk 단위로 분할Document 객체로 만들기 => 텍스트 벡터화: Text Embedding => Vector DB로 저장: Vector Store 2. 벡터 디비 구성과정 1) Loader다양한 소스에서 문서를 불러오고 처리하는 과정을 담당 from langchain.document_loaders import TextLoader# 텍스트 파일 경로 지정file_path = "상록수.txt"# TextLoader를 이용하여 문서 로드loader = TextLoa..

1. 기본 챗봇만들기개요:LLM은 사용자의 입력을 받아 응답을 생성 필요시 외부에서 정보를 검색, 툴을 사용하거나, 메모리를 읽고 써서 결과를 종합해 응답을 생성함 Tools: GPT나 LangGraph 에이전트는 모든 걸 직접 알지는 못해서 필요할 때 적절한 Tool을 선택하고 호출해서 문제를 해결 에이전트가 특정 작업을 수행하기위해 호출 할 수 있는 외부 기능 1) State 정의LLM 메세지 히스토리를 자동으로 관리하기 위한 방식목록이 업데이트 될 때 덮어쓰지 않고 새롭게 추가class State(TypedDict): messages: Annotated[list, add_messages] 2) Node정의언어 모델을 gpt-4o로 설정하고 응답을 다시 리스트로 감싸서 messages에 넣어 반..

리플렉션 그래프 구성: 입력 문장을 요약하고 만족하지못하면 다시 생각해봐 만족하면 END(요약 2번 반복시키기 하드코딩) 1. State 정의class State(TypedDict): input: str summary: str is_satisfied: bool log: list[str] 2. Node 정의summary ->요약됨 두번 등장하면 만족했다고 판단 # 요약 노드: 간단히 결과 요약 + 만족 여부 결정def summary_node(state: State): state["summary"] += " → 요약됨" state["log"].append("요약 수행") # 만족 여부 판단 (2회 이상 요약되면 만족했다고 가정) if state["summary"]..

라우팅: 특정 조건에 따라 노드가 분기되는 그래프 구조, 특정 입력에 따라 서로 다른 경로를 선택하여 실행 흐름을 제어하는 기능 => 특정 조건에 따라 서로 다른 노드를 실행하고 끝낼 수 있음예를들면 홀수, 짝수 체크해서 분기 1. State 정의입력은 숫자, 결과는 문자열 형태class State(TypedDict): number: int result: str 2. Node 정의# 노드: 짝/홀수 판별def check_parity(state: State): print(f"check_parity: 입력된 숫자 = {state['number']}") return state # 판단만 하고, 실제 처리는 다음 노드에서 함# 짝수 노드def even_node(state: State): ..