인프런 커뮤니티 질문&답변
3.3 강의 에러 질문
작성
·
32
0
안녕하세요 좋은 강의 감사드립니다.
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')
어디가 오류의 원인인걸까요 ㅠ?
답변 1
0
안녕하세요! 저도 말씀하신 것처럼 한번 진행해봤는데요, 설정에서 안내드린 것처럼 uv sync 를 통해서 강의에서 활용된 버전 대신 최신 버전을 사용하시는 경우 패키지에 에러가 있는 것 같습니다.
https://github.com/langchain-ai/langgraph/issues/6397
tool_node.invoke() 는 지금 버전에서는 동작하지 않는 것 같네요. 다만 LangChain에서 도구를 어떻게 호출하는지 보여드리기 위한 목적이라서, 해당 코드는 버그가 수정되기 전까지는 스킵하시고, 계속 이어서 나가셔도 괜찮습니다
네네 소스코드 확인해보시면 requirements.txt도 같이 업로드 되어있습니다! 링크 같이 전달 드립니다
https://github.com/jasonkang14/inflearn-langgraph-agent/blob/main/requirements.txt
선생님 자세한 설명 감사합니다!
확인해보니, microsoft C++ build tools 설치를 해서 관련 프로그램 버전을 업그레이드해야 하는 문제였네요. 이게 안되어서 requirements 패키지들이 제대로 설치가 안되었던 것 같습니다.
그리고 uvloop은 윈도우에서는 설치가 안되는 패키지이어서 주석처리하고 설치했습니다.





답변 감사합니다.
다만 해당 코드는 3.3 langgraph 부분에서 발생한 에러이어서, 앞으로 필요할 것 같은데
혹시 requirements.txt에 langgraph 버전을 고정해서 명시하면 에러가 해결되나요? 혹시 강의에서 사용된 주요 lang~ package 버전들도 같이 requirements.txt에 넣어주실 수 있으신가요