langgraph 이미지 표시 관련 draw_mermaid_png() TimeoutError 관련
694
작성한 질문수 20
안녕하세요..
langgraph 에서 graph_builder를 이용하여 노드와 엣지를 추가한 후에 compile한 후에 생성된 구조를 이미지로 표현하는 부분에서 오류가 발생합니다.
혹시 이 오류가 왜 발생하는지, 어떻게 수정해야 하는지 알려주시면 좋겠습니다
from IPython.display import Image, display
display(Image(graph.get_graph().draw_mermaid_png()))
이 부분을 실행하게 되면 다음과 같은 오류가 발생합니다.
TimeoutError Traceback (most recent call last) File ~/Workspace/pythonprj/langgraphtutorial/.venv/lib/python3.12/site-packages/urllib3/connectionpool.py:534, in HTTPConnectionPool._make_request(self, conn, method, url, body, headers, retries, timeout, chunked, response_conn, preload_content, decode_content, enforce_content_length)533 try: --> 534response = conn.getresponse() 535 except (BaseSSLError, OSError) as e:
.......
ValueError: Failed to reach https://mermaid.ink/ API while trying to render your graph after 1 retries.
이미지를 생성하는데 다른 사이트로 요청을 하는 것 같은데..timeout 오류가 발생하네요..
답변 2
0
안녕하세요! 제보 감사합니다. 검색해보니 mermaid에 버그가 있나봐요 ㅠㅠ 조금 많이 못생겼지만 아래 방법으로 확인하실 수 있습니다
grandalf패키지↗ 설치 -> maintain되는 서비스는 아닌 것 같아요
!uv add grandalf # uv사용 안하시면 pip install grandalf아래 명령어로 확인 가능합니다
graph.get_graph().print_ascii()
0
안녕하세요.. 많은 인터넷 서치를 해봤는데, 뚜렷한 해결책을 못찾았는데, 방법을 알게 된 것 같습니다.
맞는 건지 모르겠지만, 저렇게 했더니, 이미지가 나오기는 합니다.
uv add pyppeteer 를 설치한후에..아마 mermaid 관련 사이트로 안가고, pyppeteer를 이용해서 로컬에서 이미지를 생성하는 방법이라는 것 같습니다.
from IPython.display import Image, display
from langchain_core.runnables.graph import MermaidDrawMethod
display(Image(graph.get_graph().draw_mermaid_png(draw_method=MermaidDrawMethod.PYPPETEER,)))
0
안녕하세요, 인프런 AI 인턴입니다. 산마로님.
draw_mermaid_png() 기능을 사용하여 LangGraph의 이미지를 생성할 때 발생하는 TimeoutError는 외부 서비스(현재의 경우 mermaid.ink 웹사이트)를 통해 이미지를 생성하려고 할 때 서버에 연결하지 못해서 발생하는 문제입니다. 이 문제는 주로 인터넷 연결 문제나 해당 외부 서비스의 일시적인 문제로 인해 발생할 수 있습니다.
해결 방법
인터넷 연결 확인
- 인터넷 연결 상태를 확인해 주세요. 연결이 원활하지 않다면, 안정적인 네트워크 환경에서 다시 시도해 보세요.
- 인터넷 연결 상태를 확인해 주세요. 연결이 원활하지 않다면, 안정적인 네트워크 환경에서 다시 시도해 보세요.
외부 서비스의 가용성 확인
mermaid.ink서비스가 일시적으로 다운되었거나 사용량이 많아 요청을 처리하지 못할 수도 있습니다. 몇 분 후에 다시 시도하시거나 다른 시간대에 시도해 보세요.
타임아웃 설정 늘리기
- 요청을 보낼 때의 타임아웃을 늘려서 서비스가 응답할 수 있는 시간을 더 주어 보세요.
requests모듈을 사용하는 경우, 타임아웃을 조정할 수 있는 옵션이 있습니다.
- 요청을 보낼 때의 타임아웃을 늘려서 서비스가 응답할 수 있는 시간을 더 주어 보세요.
import requests
response = requests.get('https://mermaid.ink', timeout=10) # 10초로 타임아웃 설정
대체 서비스 이용
- 만약
mermaid.ink가 지속적으로 문제를 일으킨다면, 다른 머메이드 랜더링 서비스를 고려해 보세요. 로컬에서 머메이드 렌더러를 사용하는 방법도 가능할 수 있습니다.
- 만약
차선책: 수동 다운로드
- 만약 코드 내에서 자동으로 해결되지 않는다면, 랩탑 등에서 외부 브라우저로 직접 리소스를 수동으로 다운로드하여 사용할 수도 있습니다.
- 만약 코드 내에서 자동으로 해결되지 않는다면, 랩탑 등에서 외부 브라우저로 직접 리소스를 수동으로 다운로드하여 사용할 수도 있습니다.
위 방법들을 통해 문제 해결에 도움이 되길 바랍니다. 여전히 문제가 해결되지 않을 경우 더 많은 오류 메시지나 환경 설정 정보와 함께 추가 질문을 주시면, 추가로 도와드릴 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
[ReadMe]영상에 나온거랑 깃이랑 다르네요
0
52
2
import Hub Error
0
48
2
코드 최종 결과 질문드립니다.
0
46
2
AgentState의 messages 확인해주세요.
0
51
2
2.3 Agentic RAG 관련 질문이 있습니다.
0
49
2
깃허브 레포지토리 확인 요청
0
68
2
제공해주신 레포가 Windows 환경에 너무 비친화적입니다.
0
96
2
마크다운을 텍스트 파일로 변환하기
0
109
1
max token을 제한하는게 왜 성능을 개선하게 되는걸까요?
0
100
2
pyzerox 유니코드 에러
0
118
2
영상 메타데이터 생성 관련 LLM 활용 질문
0
105
1
종합부동산세 부분 tool 사용 질문 드립니다.
0
99
2
uv sync 파이썬 버전문제 onnxruntime
-1
171
2
MCP를 활용해서 간단한 에이전트를 만들어보세요
0
133
1
PDF 형식
0
97
1
5.3 langchain-mcp-adpater를 활용한 MCP 도구 사용 tool_list 지연 사유
0
129
2
3.6 human_in_the_loop 3rd case
0
105
1
summary 를. 시스템메세지에 추가하는 부분에 관하여
0
115
3
병렬 처리 중 retrieve 관련 궁금한 사항
0
103
1
query 에 대한 answer 결과값이 나오지 않습니다.
0
118
2
사람과 관련된 표현이 없는데 rewrite 로 이동하지 않는경우
0
89
1
retriever 관련 질문
0
78
1
인터룹 관련 질문
0
63
2
2.4 Self-RAG 결과가 달라요!
0
101
2





