묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
query 에 대한 answer 결과값이 나오지 않습니다.
강의 모두 코드 똑같이 돌리고 db만 pinecone 을 사용하였습니다 ! 결과에 강의처럼 answer이 나오지 않는데 원인을 잘 모르겠습니다 ㅜgpt 에 검색해보면전체 코드를 꼼꼼히 검토해본 결과, 질문하신 "결과(answer)가 나오지 않는 이유"는 크게 두 가지입니다. 하나는 데이터가 유실되는 방식의 반환(return) 때문이고, 다른 하나는 무한 루프(Infinite Loop) 가능성 때문입니다.1. 가장 큰 원인: State 데이터 유실LangGraph의 각 노드 함수(retrieve, generate, rewrite 등)는 AgentState를 반환할 때, 기존의 데이터를 포함해서 돌려주어야 합니다.현재 작성하신 코드를 보면:retrieve 함수: return {'context': docs} (이때 query가 사라짐)generate 함수: return {'answer': response.content} (이때 query, context가 모두 사라짐)이렇게 나오는데 제가 봤을땐 이게 원인은 아닌것같습니다...!
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
사람과 관련된 표현이 없는데 rewrite 로 이동하지 않는경우
from langchain_core.prompts import PromptTemplate from langchain_core.output_parsers import StrOutputParser dictionary = ['사람과 관련된 표현 -> 거주자'] rewrite_propmt = PromptTemplate.from_template(f"""사용자의 질문을 보고, 우리의 사전을 참고해서 사용자의 질문을 변경해주세요 사전:{dictionary} 질문: {{query}}""") def rewrite(state: AgentState)->AgentState: query = state['query'] rewrite_chain = rewrite_propmt | llm | StrOutputParser() response = rewrite_chain.invoke({'query': query}) return {'query' : response} # Create a LangSmith API in Settings > API Keys # Make sure API key env var is set: # import os; os.environ["LANGSMITH_API_KEY"] = "<your-api-key>" from langsmith import Client from typing import Literal client = Client() relevance_prompt = client.pull_prompt("langchain-ai/rag-document-relevance") def check_doc_relevance(state: AgentState)-> Literal['generateAnswer','rewrite']: query= state['query'] context= state['context'] relevance_chain = relevance_prompt | llm response = relevance_chain.invoke({'question':query, 'documents': context}) if response['Score'] ==1: return 'generateAnswer' return 'rewrite'graph_builer.add_node('retrieveDoc', retrieveDoc) graph_builer.add_node('generateAnswer', generateAnswer) graph_builer.add_node('rewrite', rewrite) from langgraph.graph import START, END graph_builer.add_edge(START,'retrieveDoc') graph_builer.add_conditional_edges('retrieveDoc', check_doc_relevance) graph_builer.add_edge('rewrite','retrieveDoc') graph_builer.add_edge('generateAnswer', END) graph =graph_builer.compile()from IPython.display import Image, display display(Image(graph.get_graph().draw_mermaid_png()))initial_State = {'query' : '연봉 5천만원 세금'} graph.invoke(initial_State)강사님! 강의랑 똑같이 코드를 작성했는데도 'query: 연봉 5천만원 세금 ' 질문에 대한 답 score가 계속 1이 나와서 rewrite 노드로 이동하지 않습니다. 쿼리자체에 거주자나 사람을 나타내는 표현이 없는데도 문서에서 관련성을 키워드로 찾다보니 키워드가 있기만 해도 결과가 1이 나오네요ㅜㅜㅜ강사님은 결과가 0이 나와 rewrite를 하고 제가 해볼때는 1이 나오는 이유가 무엇인지 모르겠습니다.{'query': '연봉 5천만원 세금', 'context': [Document(id='15f6746f-4e63-4775-a47e-c72298375620', metadata={'source': './tax_combined_final.txt'}, page_content='소득세법'), Document(id='a6c9015f-092f-4aa3-819b-e23588bb0a0f', metadata={'source': './tax_combined_final.txt'}, page_content='소득세법\n하는 자(제119조제9호에 따른 국내원천 부동산등양도소득을 지급하는 거주자 및 비거주자는 제외한다)는 제127조\n에도 불구하고 그 소득을 지급할 때에 다음 각 호의 금액을 그 비거주자의 국내원천소득에 대한 소득세로서 원천징\n수하여 그 원천징수한 날이 속하는 달의 다음 달 10일까지 대통령령으로 정하는 바에 따라 원천징수 관할 세무서,\n한국은행 또는 체신관서에 납부하여야 한다. <개정 2013. 1. 1., 2016. 12. 20., 2018. 12. 31., 2019. 12. 31., 2020. 12.\n29.>\n1. 제119조제1호에 따른 국내원천 이자소득: 다음 각 목의 구분에 따른 금액\n가. 국가·지방자치단체 및 내국법인이 발행하는 채권에서 발생하는 이자소득: 지급금액의 100분의 14\n나. 가목 외의 이자소득: 지급금액의 100분의 20\n2. 제119조제2호에 따른 국내원천 배당소득: 지급금액의 100분의 20\n3. 제119조제4호에 따른 국내원천 선박등임대소득 및 같은 조 제5호(조세조약에 따라 국내원천 사업소득으로 과세\n할 수 있는 소득은 제외한다)에 따른 국내원천 사업소득: 지급금액의 100분의 2\n4. 제119조제6호에 따른 국내원천 인적용역소득: 지급금액의 100분의 20. 다만, 국외에서 제공하는 인적용역 중대\n통령령으로 정하는 용역을 제공함으로써 발생하는 소득이 조세조약에 따라 국내에서 발생하는 것으로 보는 소득\n에 대해서는 그 지급금액의 100분의 3으로 한다.\n5. 제119조제9호에 따른 국내원천 부동산등양도소득: 지급금액의 100분의 10. 다만, 양도한 자산의 취득가액 및 양\n도비용이 확인되는 경우에는 그 지급금액의 100분의 10에 해당하는 금액과 그 자산의 양도차익의 100분의 20에\n해당하는 금액 중 적은 금액으로 한다.\n6. 제119조제10호에 따른 국내원천 사용료소득: 지급금액의 100분의 20\n7. 제119조제11호에 따른 국내원천 유가증권양도소득: 지급금액(제126조제6항에 해당하는 경우에는 같은 항의 정\n상가격을 말한다. 이하 이 호에서 같다)의 100분의 10. 다만, 제126조제1항제1호에 따라 해당 유가증권의 취득가\n액 및 양도비용이 확인되는 경우에는 그 지급금액의 100분의 10에 해당하는 금액과 같은 호에 따라 계산한 금액\n의 100분의 20에 해당하는 금액 중 적은 금액으로 한다.\n8. 제119조제12호에 따른 국내원천 기타소득: 다음 각 목의 구분에 따른 금액\n가. 제119조제12호카목의 소득: 지급금액의 100분의 15\n나. 제119조제12호타목의 소득: 다음의 구분에 따른 금액. 다만, 가상자산을 교환하거나 인출하는 경우에는 다음\n의 구분에 상당하는 금액으로서 가상자산 단위로 표시한 대통령령으로 정하는 금액으로 한다.\n1) 제126조제1항제3호에 따라 가상자산의 필요경비가 확인되는 경우: 지급금액의 100분의 10에 해당하는 금\n액과 같은 호에 따라 계산한 금액의 100분의 20에 해당하는 금액 중 적은 금액'), Document(id='5a211886-c6db-4fd5-9e77-a4375dd2ee6d', metadata={'source': './tax_combined_final.txt'}, page_content='5. 공적연금소득에 대해서는 기본세율\n5의2.제20조의3제1항제2호나목 및 다목에 따른 연금계좌 납입액이나 운용실적에 따라 증가된 금액을 연금수령한\n연금소득에 대해서는 다음 각 목의 구분에 따른 세율. 이 경우 각 목의 요건을 동시에 충족하는 때에는 낮은 세율\n을 적용한다.\n가. 연금소득자의 나이에 따른 다음의 세율\n|나이(연금수령일 현재)| 세율 |\n| ----------- | ----------- |\n| 70세 미만 | 100분의 5 |\n| 70세 이상 80세 미만 | 100분의 4 |\n| 80세 이상 | 100분의 3 |\n나. 삭제 <2014. 12. 23.>')], 'answer': AIMessage(content='연봉 5천만원에 대한 세금은 다양한 소득세 항목에 따라 달라질 수 있습니다. 일반적으로 소득세율은 소득금액에 따라 차등 적용되며, 기본 세율은 5%에서 시작합니다. 정확한 세금액을 계산하기 위해서는 총소득, 공제 항목 등을 고려해야 합니다.', additional_kwargs={'refusal': None}, response_metadata={'token_usage': {'completion_tokens': 78, 'prompt_tokens': 1352, 'total_tokens': 1430, 'completion_tokens_details': {'accepted_prediction_tokens': 0, 'audio_tokens': 0, 'reasoning_tokens': 0, 'rejected_prediction_tokens': 0}, 'prompt_tokens_details': {'audio_tokens': 0, 'cached_tokens': 0}}, 'model_provider': 'openai', 'model_name': 'gpt-4o-mini-2024-07-18', 'system_fingerprint': 'fp_3683ee3deb', 'id': 'chatcmpl-D2psPuRb1GQcktIDJfUhfjTjYL2CO', 'service_tier': 'default', 'finish_reason': 'stop', 'logprobs': None}, id='lc_run--019c027f-916f-7c82-9b4a-00ba35551ea7-0', tool_calls=[], invalid_tool_calls=[], usage_metadata={'input_tokens': 1352, 'output_tokens': 78, 'total_tokens': 1430, 'input_token_details': {'audio': 0, 'cache_read': 0}, 'output_token_details': {'audio': 0, 'reasoning': 0}})}도와주시면 감사하겠습니다.
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
retriever 관련 질문
안녕하세요, 강사님! 강의 잘 듣고 있습니다. RAG 및 LangChain을 공부하는 도중에 기존 리트리버 방식인(dense based)에 더 자세히 공부하기 위해 Hybrid Retriever(e.g. RRF, CC)등을 더 찾아보고 있는데 이부분은 강의에서 따로 안다뤄주는 부분일까요?? 또한 현업에서는 어떤 Retriving 방식을 선호하는지 또한 궁금합니다!
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
인터룹 관련 질문
from typing import Literal from langgraph.types import interrupt, Command def human_review(state: AgentState) -> Command[Literal['tools', 'agent']]: """ human_review node는 LLM의 도구 호출에 대해 사람의 검토를 요청합니다. Args: state (AgentState): 메시지 기록을 포함하는 state. Returns: Command: 다음 node로 이동하기 위한 Command를 반환합니다. """ messages = state['messages'] last_message = messages[-1] tool_call = last_message.tool_calls[-1] human_review = interrupt({ 'question': '이렇게 진행하면 될까요?', 'tool_call': tool_call }) review_action = human_review['action'] review_data = human_review.get('data', None)혹시 왜 왜 last_message.tool_calls[-1]를 쓰는지 여쭤봐도 될까요? 가장 최근에 호출한 도구를 검토시킨다는 것 같은데 이전 호출을 제외한 왜 가장 최근 도구 호출에 대한 검토인지 궁금합니다. 또한 이부분에 대해서는 마지막 하나의 메세지에 대한 도구 호출이 리스트 안 여러개라는 가정 전제 하가 맞을까요?
-
미해결회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
24강 코드리뷰 에이전트 질문
선생님 안녕하세요좋은 강의 감사드립니다. 24강 강의를 들으면서 14:07 부분에 질문이 있습니다. 해당부분을 보시면 prompt에 PR URL을 직접 하드코딩 해주셨는데요. 물론 예시로 빨리 보여주기 위해서 그렇게 하신 것 같은데, 만약 실제로 제가 구동되는 에이전트를 만든다고 했을때, 조금 다르게 만들어져야 할 것 같아서요 예를 들어, PR URL은 하드코딩이 아니라, PR이 올라가면 langgraph 에이전트가 그것을 자동으로 인식해서 PR url을 가져오는 방식으로요. n8n에서는 드래그 앤 드롭으로 이게 가능할것 같은데.. langgraph에서도 이런 기능을 구현할 수 있는 것인가요?
-
해결됨회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
10강 google sheet 관련 질문
선생님 안녕하세요좋은 강의 감사합니다. 10강(Brave API를 활용해서 n8n으로 작성하는 뉴스 감정 분석 (n8n -> gspread))를 듣는 과정에서 질문이 생겨서 문의드립니다.강의 14:23 부분에서 loop over items에서 항목들이 안넘어와서 선생님은 llm이 output을 주도록 하셨는데요, 저는 해보니 되더라고요..?이러면 굳이 llm output을 안받아와도 되는것이죠?
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
2.4 Self-RAG 결과가 달라요!
해당 강의 8:10처럼 동일하게 돌렸을 때 다음과 같이 출력이 찍힙니다. 624만원에 관한 정보는 나오지 않습니다. ㅠㅠ 여러번 돌려도 계속 그렇게 나오네요 .. 어떤 문제일까요?, 혹시나 DB에 문서를 적재하는 과정중에서 55조의 테이블이 씹힌건가? 해서 document_list 찍었을땐 (적재 전 txt 파일을 로딩하는과정에서) 또 624만원에 관련된 내용이 있습니다... 출력내용이 길어 10000자가 넘어 마지막 answer만 올려드립니다. document answer == {'answer': AIMessage(content='연봉 5천만 원인 거주자의 소득세는 근로소득공제를 적용하여 계산됩니다. 총급여액 5천만 원의 경우, 근로소득공제는 1천200만 원+(4천500만 원을 초과하는 금액의 100분의 5)입니다. 따라서, 소득세는 해당 공제를 적용한 과세표준에 세율을 적용하여 계산하게 됩니다. 하지만 세율 정보가 없으므로 정확한 소득세 금액을 계산할 수 없습니다.++ 다른 테이블은 context로 찍히는데 55조 624만원 관련 테이블만 안찍힙니다..
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
md vs txt 차이..
안녕하세요. 강의 도중에세법 pdf => 마크다운 변경후에 Spliiter로 분할하면, 표가 짤려서 답변이 생성이 잘 안될수도 있다고 하셔서 txt로 진행한다고 하셨는데..전 궁금한게 txt도 마차가지로 스플릿을 하더라도 짤리지 않나요..?text_spliters = RecursiveCharacterTextSplitter( chunk_size=1500, chunk_overlap = 100, separators=['\n\n','\n'] )청크사이즈가 1500 이니까 뭔가 표랑 경계선이 겹치게 되면 txt도 마찬가지 짤리는게 아닐까.. 생각이 들어서요
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
OpenAI API 호출 때문에 발생하는 Error code: 429 문제
gpt 유료 버전을 결제해야 하는 걸까요? 무료로는 불가능 할까요?
-
미해결회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
19강에 있는 postgres account 계정 로그인이 안돼요
비밀번호가 다른가.. 로그인이 안되네요
-
미해결회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
섹션 3 : 이메일 작성 도우미 질문
선생님 안녕하세요 좋은 강의 감사합니다.강의를 보고 있는데 질문이 있어서 문의드립니다. 섹션 3에서 이메일 작성 도우미 를 만드셨는데요, 중간에 챗봇을 만들어서 이메일을 수정하는 부분에서요. 선생님께서 강의에서 만드신 것과, 그냥 agent가 만든 답변을 복붙해서 chatgpt에 "~~ 하게 수정해줘" 라고 요청하는 것과 어떤 차이가 있죠? 뭔가 근본적인 차이가 없는 것 같은데, 이 수정 챗봇을 만드신 "의도"? 가 궁금해서 문의드립니다.
-
미해결회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
LangGraph로 구현한 봇을 n8n으로 전환 관련 질문
안녕하세요 병진님. 두가지 질문 남깁니다."LangGraph로 구현한 봇을 n8n으로 전환" 관련 질문 남깁니다.바로 전 강의에서 직접 구현한 LangGraph코드와 미션에서 올려주신 inflearn-n8n-assignment.json 파일과 1대1 대응은안되는것 같은데, 예를들어 check_faq 노드에서 답변을 찾았을때와 아닐경우의 분기를 처리하지 않고 AI agent에게 넘겨서 알아서 판단하게 한다 이렇게 이해하면 될까요? 2. 챗봇 서비스를 현업에서 운영한다고 했을때, 사내 혹은 고객에게 오픈했을때에는 Langgraph나 agent를 어딘가에 띄워서 운영할것 같은데 주로 n8n을 사용하거나 아니면 직접 서버를 구축해서 사용하시는지 궁금합니다.
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
단순 도구 사용과 도구를 가진 에이전트를 사용하는 것의 차이가 궁금합니다.
안녕하세요 강사님.3.7 강의에서 도구를 가진 에이전트들을 사용해 Supervisor로 멀티 에이전트를 구현하셨는데, stock price를 가져오는 것과 같은 부분은 꼭 에이전트가 아니여도 될 것 같은데 Supervisor로 멀티 에이전트를 만들 때 단순 도구로 사용하는 것 보다 도구를 가진 에이전트로 사용하는 것이 더 좋아서 이렇게 구현하신건지 궁금합니다!
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
LangChain과 LangGraph v1
안녕하세요강의 잘 듣고 있습니다!최근에 LangChain, LangGraph의 v1이 정식으로 릴리즈 되었는데, 이번 업데이트에 대해 어떻게 대하면 좋을지 궁금해서 질문드립니다.이번 v1은 이전 버전들에 비해 그래프 구현 측면에서 얼마나 큰 변화가 있다고 생각하시나요?강의에서 배운 기존 설계 방식 그대로 프로젝트를 진행해도 괜찮을지, 아니면 v1에서 새로 나온 기능들 위주로 마이그레이션을 진행하는 게 맞을지 강사님의 의견이 궁금합니다.답변 주시면 앞으로 공부하는 데 도움이 될 것 같습니다.감사합니다!
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
2.4 강의 관련 질문(답변을 검증하는 self rag)
안녕하세요좋은 강의 감사드립니다. 강의에서 이해가 안되는 부분이 생겨 질문드립니다. 2.4 답변을 검증하는 self rag 에서, hallucination을 판단하는 부분에 대한 질문입니다. node가 hallucination을 잘 판단하지 못하자, 강의에서는 크게 3가지 조치를 취하셨는데요hallucination prompt 직접 작성hallucination_llm의 temperature = 0 으로 설정generate_llm의 max_completion_tokens를 100, 50 으로 감소근데 저는 강의대로 따라해도, 계속 hallucinated, not hallucinated가 번갈아가면서 나오더라고요. max_completion_tokens을 100 --> 70, 50으로 감소시켜도, test하는 셀을 여러번 돌리면 hallucinated, not hallucinated가 번갈아가면서 나옵니다. 답변 내용을 보면, 저의 answer는 5천만원에 대한 소득세를 624만원으로 잘 계산을 하는데 check_hallucination만 판단을 잘 못하는것 같았습니다. 답변을 "소득세는 624만원입니다." 이런 식으로만 짧게 대답을 하다보니, hallucination에 대한 판단을 잘 못하는것 같다는 느낌을 받았습니다. 그래서 chatgpt의 도움을 받아서 아래와 같이 수정을 하니 hallucination에 대한 판단은 일관되게 not hallucinated로 판단하더라고요. generate_llm의 max_completion_tokens를 200, 300 정도로 증가generate_prompt를 직접 작성하면서, 작성할때 답변에 대한 근거도 같이 제시하라고 지시아마도 답변에 대한 근거가 같이 제시되면서 hallucination에 대한 판단에 도움을 준 것 같습니다. 그런데 문제가 있습니다 ㅠ 소득세 계산을 잘 못합니다. 수업 코드로 하면 소득세 계산은 624만원으로 매번 잘 계산을 하지만, 이렇게 바꾸는 경우 소득세 계산이 맞을때도 있고 틀릴때도 있습니다. 그럼 현실에서는 max_completion_tokens 을 150, 100 이렇게 조절해가면서 중간의 타협점?을 찾는 것이 방법인지요? 아니면 제 방법이 틀린 것인지, 다른 방법이 있는 것인지 코멘트 해주시면 감사하겠습니다.
-
미해결회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
Agent 성능 관련 문의
강의 잘 듣고 있습니다.현재 문서를 읽어 agent로 구현하는 학습까지 완료했는데요(17강) gpt 4.0을 활용하여 agent를 구현해 질문을 하는 것과, chatgpt 웹을 켜서 문서를 올려 질문하는 것에 어떤 차이가 있나요? 보안의 차이나 프롬프트를 잘쓰면 성능이 웹gpt보다 좋아지나요? 주어진 서비스를 사용하지 않고 이걸 구현해야하는지가 명확하게 이해가 안되서요. 감사합니다.
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
후속강의 문의
선생님 안녕하세요좋은 강의 감사드립니다. llm, agent 등을 처음 접하는데, 선생님 강의 덕분에 수월하게? 진입할 수 있었습니다. 복습은 정말 많이 해야할 것 같지만요 ㅎㅎ 수업 후반부에 eval 관련 후속강의 언급을 하셨는데, 혹시 언제쯤 출시 예정이신가요?
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
3.6 강의 관련 질문(interrupt 관련)
선생님 안녕하세요좋은 강의 감사합니다. 강의를 보며 소스코드를 실행하고 있는데, 3.6 강의에서 수업에 나온 영상과 다르게 코드가 작동하는 부분이 있어서 질문드립니다. agent가 제시한 도구는 그대로 사용하되, args를 바꾸는 경우수업에서는 아래 코드를 쓰면 바로 요약된 AIMessage가 작성되도록 진행이 되는데, for chunk in graph.stream( Command(resume={"action": "update_args", 'data' : {'query' : "Large Language Model : A Survey 논문의 내용을 검색해서 요약해주세요"}},), config, stream_mode="updates", # values가 아니다. 수정할때는 updates ): print(f'chunk == {chunk}') 저는 아래와 같이 나옵니다. 여기에서 continue를 해도 계속 같은 메시지가 무한반복이 되어버리는 현상이 나옵니다; agent가 제시한 도구를 바꾸는 경우이 경우에도 위에 처럼 continue를 했음에도 불구하고 계속 "이렇게 진행하면 될까요?" 를 물어보는 현상이 나옵니다. 계속 continue를 해도 같은 현상이 반복되고요 혹시 선생님도 같은 오류가 발생하는지 확인이 가능하실까요? 혹시 이런 오류는 어떤 이유때문에 발생하는 것인지도 답변이 가능하시면 정말 감사하겠습니다. llm 모델을 small_llm이 아니라 일반 llm으로 하니 정상적으로 나오네요. small_llm의 한계 때문에 다음 단계로 못넘어가는 것일까요?다음 단계로 넘어가는건 비교적 쉬운 task 같은데 small llm의 어떤 부분? 때문에 이런 무한 loop 오류가 발생하는 것인지도 궁금합니다. 답변이 가능하신 선에서 말씀해주시면 감사하겠습니다.
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
그래프 구현 조언 부탁드립니다!
안녕하십니까! 강사님! 항상 질문에 대한 답변을 잘 해주심에 감사드립니다!목표는 학교 정보 챗봇이고 강사님의 강의 수강을 바탕으로 그래프 구현해보고 있습니다.현재 에이전트로는1) 웹 크롤링 하고 임베딩 시킨 정보를 바탕으로답변해주는 에이전트(학사일정, 장학금, 휴학 등)2) 의도와 다른 질문이 왔을 때 답변해주는 기본 llm현재 이렇게 있습니다 여기다가 에이전트를 하나 더 추가해서 멀티 에이전트로 라우팅해서 사용하거나 툴콜링 기법을 연습해보려 하는데 추가 계획중인 에이전트는 다음과 같습니다.3) 웹 사이트 공지사항에 대한 정보를 기반으로 답변해주는 에이전트공지사항은 실시간성과 특정 기간에 대한 정보가 강하기 때문에 에이전트를 분리해야한다고 생각했습니다.위의 해당 내용을 구현하기 위해서는 공지사항 크롤링 자동화 파이프라인을 구축한 후 이를 실시간으로 계속 임베딩을 시켜야할지 아니면 임베딩 기법이 아닌 다른 방법으로 구현하는게 좋을지에 대한 의문이 있습니다. 경험이 많으신 강사님께서의 노하우가 궁금합니다!또한 위처럼 구현하게 될 경우 1번 에이전트와 3번 에이전트를 라우터 할때 시스템 프롬포트가 애매하다고 생각됩니다. 강사님이라면 어떻게 하실지 노하우에 대한 조언을 듣고 싶습니다!!지식이 부족해서 깔끔하게 질문을 드리지 못함에 죄송합니다..! 감사합니다
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
3.3 강의 에러 질문
안녕하세요 좋은 강의 감사드립니다.3.3 강의를 듣고 있는데 코드에 오류가 발생해서 질문드립니다. chatgpt에도 물어봤는데 오류가 해결되지 않네요 tool_node.invoke({'messages': [ai_message]})부분에서 아래와 같은 오류가 발생합니다. ---------------------------------------------------------------------------ValueError Traceback (most recent call last) Cell In[10], line 4 1 # tool_node를 직접 invoke 하는 경우 이런 형식으로 해야 하고, ai message가 가장 마지막에 들어가야 한다. 2 # ai message는 반드시 tool_calls 값을 가지고 있어야 한다. ----> 4 tool_node.invoke({'messages': [ai_message], 'tools' : tool_list}) File c:\Users\user\miniconda3\envs\langgraph-agent-inf\Lib\site-packages\langgraph\_internal\_runnable.py:368, in RunnableCallable.invoke(self, input, config, **kwargs)366 if kw_value is MISSING: 367 if default is inspect.Parameter.empty: --> 368 raise ValueError( 369f"Missing required config key '{runtime_key}' for '{self.name}'."370 ) 371 kw_value = default 372 kwargs[kw] = kw_value ValueError: Missing required config key 'N/A' for 'tools'.혹시 몰라서 아래와 같이 해봤는데도 같은 오류가 발생합니다. tool_node.invoke({'messages': [ai_message], 'tools' : tool_list}) 기존 코드에서 바꾼것은 없고, 다만 azurechatopenai 대신 chatopenai를 직접 사용해서 llm, small_llm을 이렇게 정의했습니다.llm = ChatOpenAI(model='gpt-4o') small_llm = ChatOpenAI(model='gpt-4o-mini') 어디가 오류의 원인인걸까요 ㅠ?