강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của joung65170555
joung65170555

câu hỏi đã được viết

Kỹ sư Thung lũng Silicon cùng tìm hiểu LangChain và LangGraph cùng MCP

Tìm hiểu về Agents

Custom Agent executor error

Đã giải quyết

Viết

·

393

1

else:
  print("TOOL NAME : ", output.tool)
  print("TOOL INPUT : ", output.tool_input)

Traceback (most recent call last):
  File "/Users/chaejinjeong/Desktop/myGit/Study/langchain/inflearn/5.Agent/basic.py", line 75, in <module>
    print("TOOL NAME : ", output.tool)
output : [OpenAIToolAgentAction(tool='get_word_length', tool_input={'word': 'eudca'}, log="\nInvoking: `get_word_length` with `{'word': 'eudca'}`\n\n\n", message_log=[AIMessage(content='', additional_kwargs={'tool_calls': [{'id': 'call_DlTa5qRanu9HhiWGneMz2V3C', 'function': {'arguments': '{"word":"eudca"}', 'name': 'get_word_length'}, 'type': 'function'}]})], tool_call_id='call_DlTa5qRanu9HhiWGneMz2V3C')], <class 'list'>
  • output.tool 이라는 속성이 없어서 print 해보니 AgentAction List 형태로 출력이 되었습니다.

intermediate_steps = []
final_result = dict()
while True:
    query.update({"intermediate_steps": intermediate_steps})
    output: Union[AgentFinish, AgentAction] = agent.invoke(query)

    if isinstance(output, AgentFinish):
        final_result = output.return_values
        final_result = final_result.get("output")
        break
    else:
        if isinstance(output, list):
            output = output[0]
        print("TOOL NAME : ", output.tool)
        print("TOOL INPUT : ", output.tool_input)
        _tool = tools.get(output.tool)
        observation = _tool.run(output.tool_input)
        intermediate_steps.append((output, observation))


TOOL NAME :  get_word_length
TOOL INPUT :  {'word': 'eudca'}
  • 위처럼 인덱스 0으로 접근해서 처리해야할 것 같아 글 남깁니다.

NLPopenai프롬프트엔지니어링llmlangchain

Câu trả lời 2

1

altoformula님의 프로필 이미지
altoformula
Người chia sẻ kiến thức

안녕하세요 정채진님,

이상하네요. 저는 코드가 아무 문제 없이 돌아가는데요? AgentFinish의 인스턴스가 아닌 경우, 아래와 같이 output을 확인했지만 tooltool_input 모두 존재하고 있었습니다.

image

tool='get_word_length' tool_input={'word': 'educa'} log="\nInvoking: `get_word_length` with `{'word': 'educa'}`\n\n\n" message_log=[AIMessage(content='', additional_kwargs={'function_call': {'arguments': '{"word":"educa"}', 'name': 'get_word_length'}})]

혹시 에러가 나시는 분들은 output을 확인하시고 정채진님처럼 하시는 것도 좋은 방법인 것 같습니다.

0

joung65170555님의 프로필 이미지
joung65170555
Người đặt câu hỏi

아하 저는 그냥 최신 버전으로 설치했는데 버저닝 문제였나보네요

감사합니다

Hình ảnh hồ sơ của joung65170555
joung65170555

câu hỏi đã được viết

Đặt câu hỏi