안녕하세요, 선생님. 번역 시스템 구조에 대해 여쭙고 싶습니다. 제가 구현하고자 하는 시스템은 다음과 같습니다 특정 문장에 대해 파인튜닝 된 번역 모델 로 1차 번역을 수행합니다. (이 단계는 필수입니다.) 번역된 결과에 대해 더 큰 모델 을 사용하여, 특정 조건 하에 문맥에 맞게 번역이 잘 되었는지를 검증하려고 합니다. 이 시스템에서 최적의 구조와 전략에 대해 조언을 구하고 싶습니다. 조언 주시면 감사하겠습니다! 감사합니다. 😊
안녕하세요. 강의 내용 따라하다가 아래 에러가 발생해서 공유드립니다. 전체 소스코드는 글 맨 아래에 링크로 첨부했습니다. 위 코드를 실행했을 때, 결과가 잘 나올때도 있지만 종종 에러가 발생합니다. 에러 내용에 따르면 check_doc_relevance 함수에서 response 에 아무것도 안담겨있어서 발생했다고 나오네요. 왜인지는 모르겠지만, 문서 관련성 판단 LLM이 작동하지 않은걸로 보입니다. 그래서 저는 아래와 같이 response 에 아무것도 안담겨있다면 rewrite를 반환해서 노드를 다시 실행시키도록 했습니다. def check_doc_relevance(state: AgentState) -> Literal['generate', 'rewrite']: """ 주어진 state를 기반으로 문서의 관련성을 판단합니다. Args: state (AgentState): 사용자의 질문과 문맥을 포함한 에이전트의 현재 state. Returns: Literal['generate', 'rewrite']: 문서가 관련성이 높으면 'generate', 그렇지 않으면 'rewrite'를 반환합니다. """ query = state['query'] # state에서 사용자의 질문을 추출합니다. context = state['context'] # state에서 문맥을 추출합니다. # 문서 관련성 판단 체인을 구성합니다. doc_relevance_chain = doc_relevance_prompt | llm # 질문과 문맥을 사용하여 문서의 관련성을 판단합니다. response = doc_relevance_chain.invoke({'question': query, 'documents': context}) # ==================================== # 응답이 없는 경우에는 로그를 출력하고 'rewrite'를 반환합니다. if not response: print("No Response!!!") return 'rewrite' # ==================================== # 관련성이 높으면 'generate'를 반환하고, 그렇지 않으면 'rewrite'를 반환합니다. if response['Score'] == 1: return 'generate' return 'rewrite' 위 코드 수행 결과: check_doc_relevance 가 두 번 다시 실행되어서 원하는 결과가 나왔습니다. 참고로 저는 강의에 쓰인 OpenAI 대신 UpstageAI 모델을 사용하고 있습니다. from langchain_upstage import ChatUpstage llm = ChatUpstage() 저처럼 OpenAI 모델을 사용하지 않고 개발하다가 같은 문제를 겪는다면 도움이 되길 바랍니다. 전체 소스코드 링크: https://drive.google.com/file/d/1_WP4DM1OWFiP226WksXvjG5Em9dOaqPp/view?usp=sharing
c:\miniforge3\envs\inflearn-langgraph-lecture\Lib\site-packages\pydantic\_internal\_config.py:345: UserWarning: Valid config keys have changed in V2:* 'fields' has been removed warnings.warn(message, UserWarning)ERROR:root:Error converting PDF to images: Unable to get page count. Is poppler installed and in PATH? --> ## 추가 설치 해야 할 패키지(강사님은 안함: 애플은 필요 없는 패키지 같음) # Poppler 설치: Poppler( https://github.com/oschwartz10612/poppler-windows/releases/download/v24.08.0-0/Release-24.08.0-0.zip)를 다운로드하여 설치합니다. 운영체제에 맞는 Poppler 바이너리를 다운로드하여 압축을 풀고 적절한 위치에 저장합니다. - (Windows의 경우, bin 폴더의 경로를 기억해두세요.) # 환경 변수 설정 (Windows): (1) 시스템 환경 변수 편집기(검색창에 "환경 변수" 검색)를 엽니다. # (2) "시스템 속성" 창에서 "환경 변수" 버튼을 클릭합니다. # (3) "시스템 변수" 섹션에서 "Path" 변수를 선택하고 "편집" 버튼을 클릭합니다. # (4) "새로 만들기" 버튼을 클릭하고 Poppler bin 폴더의 경로를 추가합니다. (예: C:\path\to\poppler-x.xx.x\bin) # (5) 모든 창을 닫고 변경 사항을 저장합니다. # (6) 터미널 또는 IDE 재시작: 환경 변수 변경 사항이 적용되도록 터미널 또는 IDE를 재시작합니다.
안녕하세요~! 중요한건 아니지만 ㅎㅎ documents 폴더 밑에 income_tax.pdf 파일이 누락된것 같습니다. https://www.law.go.kr/%EB%B2%95%EB%A0%B9/%EC%86%8C%EB%93%9D%EC%84%B8%EB%B2%95%EC%8B%9C%ED%96%89%EB%A0%B9 저는 위 링크로 가서 직접 받아서 코드 실행에는 문제 없었습니다~
git clone 하는 중에 error: inavalid path '2.6 SubGraph: LangGraph Agent를 Node로 활용하는 방법.ipynb' 뜨면서 클론리포가 안되서요. 파일경로에 포함된 (:) 특수문자 때문이라고 gpt가 알려줬는데 원격저장소에서 파일 이름을 변경하기를 권장하네요..
모두를 위한 대규모 언어 모델 LLM Part 5 - LangGraph로 나만의 AI 에이전트 만들기
강사님 안녕하세요. langgraph_web_storm.ipynb 파일을 순차적으로 실행하고 있는데 IndexError : list index out of range 와 같은 에러가 나는 이유를 알고 싶습니다. 그 전에도 class editor: name 부분에서 pattern 적용에서 문제가 발생하는 것 같은데 한 번 더 검토해주시면 감사하겠습니다. 감사합니다! example_answer = await gen_answer( {"messages": [HumanMessage(content=question["messages"][0].content)]} ) example_answer["messages"][-1].content
안녕하세요. LangGraph 공부하면서 질문이 생겨 이렇게 질문을 남기게 되었습니다. add_messages를 사용하여 데이터를 append하거나, MessageState를 사용하여 append 하거나 결국 같은 결과를 얻을 것 같은데 정확한 차이가 궁금합니다. # 기본 State 초기화 방법을 사용 class GraphState(TypeDict): messages : Annotated[list[AnyMessage], add_messages] -> MemorySaver 기능도 있다. from langgraph.graph import MessageState class GraphState(MessageState): # messages 키는 기본 제공 - 다른 키를 추가하고 싶을 경우 아래 주석과 같이 적용 가능 documents : List[Document] grade : float num_generation : int create_react_agent 관련 질문 https://rudaks.tistory.com/entry/langgraph-Multi-agent-supervisor 위 URL만 보면 create_react_agent는 conditional_edge의 역할을 똑똑한 에이전트가 대체한다는 느낌인 것 같은데 맞을까요? 답변 부탁드리겠습니다. 감사합니다.
실습을 위한 환경 설정 방법 [poetry 환경 사용] 해당강의의 의존성 목록에, pip install bs4는 dummy of beautifulsoup4라고 안내되어 있고, 일반적으로 pip install beautifulsoup4로 진행해서, bs4가 무슨 패키지인지 여쭤봅니다.
모두를 위한 대규모 언어 모델 LLM Part 5 - LangGraph로 나만의 AI 에이전트 만들기
안녕하세요. 코랩에 뉴스 기사만 검색하려면 아래 코드를 실행하면 된다고 말씀 주셨는데요. 뉴스 외에 backend 또는 source로 설정 가능한 인자 값에는 어떤 것이 있나요? 독스를 찾아보아도 다른 값은 찾을 수 없어 질문 드립니다. 감사합니다. search = DuckDuckGoSearchResults(backend="news")
모두를 위한 대규모 언어 모델 LLM Part 5 - LangGraph로 나만의 AI 에이전트 만들기
안녕하세요. Llama 관련 강의 듣는 중 궁금한 점이 있어 문의 드립니다. 우선 강의 내용과 같이 Llama 3.1-8B 모델과 DDG 혹은 Tavily와 연동하여 오징어 게임 출시일에 대한 답변을 확인하였는데요. LangSmith 상으로는 DDG에서 Search 내용은 잘 가져오지만 Llama에서 답변을 완성할 때 아래와 같은 문구가 나오더라고요. 해당 이유와 관련해서는 특별하게 취해야 하는 조치가 있는 것일까요? 그리고, 다른 Llama 모델을 사용하여 tool에 연동해보려고 했는데요. ( EEVE-Korean-10.8B ) invoke 시 에러가 나면서 tool에 연동할 수 없다고 나오더라고요. 혹시 tool에 연동은 llama 공식 모델만 가능한 것일까요? 감사합니다.
모두를 위한 대규모 언어 모델 LLM Part 5 - LangGraph로 나만의 AI 에이전트 만들기
안녕하세요, 제가 잘 몰라서 그런지 확인차 물어봅니다. 강의명 "STORM(Synthesis of Topic Outlines through Retrieval and Multi-perspective Question Asking) 아키텍처 구현하기 1" 나 "2" 강의를 보아도 관련 콜랩 url 이 안보이는거 같은데, 제가 잘 못본것일까요? 다른 강의의 콜랩 url 은 잘 보이는데, 이 강의에서만 해당 콜랩 url 이 안보여 문의드립니다. 이상입니다. 감사합니다.