반응형

현상:

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"}}
$

 

 

 

 

반응형

+ Recent posts