반응형
현상:
LangChain을 용해서 간단한 LLM 어플리케이션 챗봇을 만들고 LangServe를 활용해서 Endpoint를 만들었습니다.
그리고 테스트를 위해서 HTTP request call을 테스트 하다가 발생한 로그 입니다.
아래와 같은 curl 명령으로 테스트를 했습니다.
curl --location --request POST 'http://localhost:8000/agent/' \
--header 'Content-Type: application/json' \
--data '{
"input": {
"input": "안녕"
}
}'
request forwarding을 /agent로 langserve 파일에서 설정해 주었기 때문에 'http://~~~ 뒤에 /agent/가 붙었습니다.
그런데 이를 실행 하면 아래와 같이 에러가 발생합니다. 아니 리턴 값이 옴니다.
{"detail":"Not Found"}%
LangServe를 실행시킨 화면에서는 아래와 같이 404 에러가 발생합니다.
원인:
결국에는 Endpoint를 잘 못찾아서 그런 것입니다. 알고보니 langserve의 기본 endpoint는 invoke 입니다. 물론 Runnable 객체로 연결되어있는 경우를 말합니다.
해결 방법:
따라서 아래와 같이, 연결해준 endpoint에 invoke를 추가해서 호출해야 합니다. 그러면 정상적으로 호출되고 체인이 invoke 되어 최종 결과를 잘 리턴 합니다.
(참고: 당연하지만 data에 추가되는 내용은 Runnable에서의 정의와 일치해야합니다.)
$ curl --location --request POST 'http://localhost:8000/agent/invoke' \
> --header 'Content-Type: application/json' \
> --data '{
> "input": {
> "input": "안녕"
> }
> }'
{"output":{"output":"안녕하세요! 저는 Agent 입니다. 무엇을 도와드릴까요?"},"callback_events":[],"metadata":{"run_id":"72ddafgb8-ef17-4b4a-bb79-6f80c3f205ef"}}
$
반응형