LangChain React 에이전트를 사용할 때, 입력값이 정상적으로 에이전트에 할당되는 것을 확인했는데 에이전트가 실행은 되지만 이를 인식하지 못하고 엉뚱한 답변을 내놓을 때가 있습니다.
여러가지 원인이 있을 수 있으나, React 에이전트의 입력 변수명을 다음과 같이 확실히 명시했는지 확인해봅시다.
React 프롬프트의 Action 파트에서 다음과 같이 변수명을 Action Input에 명시해줍니다. 설명을 부가적으로 서술해도 좋으나, 변수명은 명확히 서술해야 합니다.
"""
Action: analyze_tool
Action Input: performance_data
Observation: analyze_tool_result
Thought: Now I need to review the analyzed result for accuracy and completeness by calling review_tool.
"""
위와 같이 프롬프트를 구성했다면, 입력은 다음과 같이 key : value 타입으로(JSON 타입 권장) 변수명을 명시하여 입력해주어야 합니다. 입력시에는 문자열로 변환해줍니다.
performance_data = {"performance_data": "sample_input_data"}
response = agent_executor.invoke({"input": str(performance_data),
"report_option": report_option,
"agent_scratchpad": []})
이런 방식으로 할당해야 React 에이전트가 입력값을 인지합니다. 여러 방법이 있겠지만 중요한 것은 입, 출력 변수명을 프롬프트 명확히 서술한 후 입, 출력 변수에 이를 식별할 수 있도록 key를 명확히 할당하는 것입니다. 여러 tool 간 상호작용을 구성할 때도 이를 주의해야 합니다.
'🟡 AIOps' 카테고리의 다른 글
비공개 Git 저장소 파일을 로컬 환경에 내려받기(clone) (1) | 2024.09.23 |
---|---|
SQLAlchemy에서 automap_base 기능을 이용하여 데이터베이스 테이블을 간편히 불러오기 (1) | 2024.09.20 |
Amazon EC2에서 PM2와 Nginx로 JS 풀스택(백엔드/프론트엔드) 앱 배포하기 - 02 (0) | 2024.09.20 |
Amazon EC2에서 PM2와 Nginx로 JS 풀스택(백엔드&프론트엔드) 앱 배포하기 - 01 (1) | 2024.09.19 |
FastAPI로 복수 파일 업로드 API 구현하기 (1) | 2024.09.06 |
댓글