반응형

 

LangServe Error

현상:

LangServe 파일을 실행시 서버가 올라오지 못하고 아래의 에러를 출력하면서 종료되는 현상 발생

ERROR:    [Errno 99] error while attempting to bind on address ('::1', 8000, 0, 0): cannot assign requested address

 

원인:


if __name__ == "__main__":
    import uvicorn

    uvicorn.run(app, host="localhost", port=8000)

 

위와 같은 langserve 파일에서 localhost를 OS가 제대로 할당해주지 못해서 발생하는 에러입니다.

 

조치: 

따라서, 위의 코드에서 localhost 문자 대신에 0.0.0.0  으로 바꾸어 주면 잘 동작 합니다.

 

 

 

반응형
반응형

현상:

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

 

 

 

 

반응형
반응형

 

 

에러 메시지: 

from docarray import BaseDoc
ModuleNotFoundError: No module named 'docarray'

pip install docarray를 실행하고 

아주 간단하게 from docarray import BaseDoc 을 사용했는데

바로 위와 같으 에러 메시지가 발생했습니다.

아무리 재 설치하고 다른 버전으로 설치해 봐도 안됬습니다.

 

원인 :

패키지를 설치한 경로를 찾지 못해서 임포트하지 못한 것 같음.

 

해결 방법 :

먼저 설치된 패키지의 경로가 어떻게 되는지 확인하고

아래와 같은 명령으로 PATH에 해당 패키지가 설치된 경로를 추가해 주었습니다.

경로 확인 방법 :

pip show docarray

패스 추가 방법 : 

import sys

sys.path.append("/package/path")

 

 

반응형
반응형

에러 발생 코딩 내용 :

from langchain_community.agent_toolkits import create_retriever_tool

 

에러 내용 :

from langchain_community.agent_toolkits import create_retriever_tool 5 6 tool_description = """ 

ImportError: cannot import name 'create_retriever_tool' from 'langchain_community.agent_toolkits' (/usr/local/lib/python3.10/dist-packages/langchain_community/agent_toolkits/__init__.py)

 

원인 : 

langchain의 버전이 올라가면서 해당 모듈의 경로가 바뀌었기 때문에 발생. old version에서는 위의 경로(langchain_community.agent_toolkits)가 맞지만

최신버전(0.0.354)에서는 아래의 경로(langchain.tools.retriever)에 모듈이 설치됨

 

해결 방법 :

따라서 버전에 맞는 모듈 경로를 설정해 주어서 해결할 수 있음.

from langchain.tools.retriever import create_retriever_tool

 

참고 주소 : https://github.com/langchain-ai/langchain/issues/1023

 

import errors · Issue #1023 · langchain-ai/langchain

thanks for creating this amazing tool. Just a stupid question from newbie, could anyone help me to fix it? Thanks I run from langchain.agents import load_tools and encounter with ImportError Traceb...

github.com

 

반응형

+ Recent posts