
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): ..

1. Open API Key 불러왔는지, 라이브러리 로딩했는지 확인하기 2. Graph 구축: 간단한 그래프 1) State 정의그래프의 노드의 입력과 출력 관리하는 클래스형태의 자료형클래스는 한번 선언하면 틀을 유지해야된다. 틀을 확정하고 값들을 계속 유지하려고 딕셔너리 말고 클래스를 사용한다.클래스 형태로 확정하고 쓸거야라는 뜻 ※ Annotated[list, add_messages] 여기 list인데 메타정보가 있어 add_messagesadd_messages: gpt가 주고받은 메세지를 이어 붙여라라는 뜻 from typing import TypedDict# 그래프 전체에서 주고받는 데이터 구조를 정의class State(TypedDict): text: str extra_field: i..
노드들을 모델링하여 에이전트를 구성하고 사용자에게 적절한 답변을 생성하는 워크플로우 1. AI Agent 개념:스스로 의사 결정하며, 도구를 사용하여, 목표를 달성하는 시스템GPT + Tool 사용 능력 + 상태 유지 구성:Goal, Reasoning Engine, Toolset, Memory 예시:문서 요약 & 질의 응답 에이전트, 쇼핑 추천 에이전트, 코딩도우미/ 계산기 에이전트 에이전트와 챗봇의 차이:에이전트는 답변 생성 중간에 엔진호출, DB조회, 코드 실행 등의 도구를 호출하지만 챗봇은 고정된 사용자 입력으로 답변 생성을 수행한다. Agent 개발 프레임워크:CrewAI, AutoGen, LangGraph 2. LangGraph AI 에이전트간의 협업을 그래프 기반으로 설계하는 프레임워크그래프는..