인프런 커뮤니티 질문&답변
Gradio 런치 PDF 관련 에러
작성
·
24
·
수정됨
0
Gradio ChatInterface로 PDF 챗봇 애플리케이션 구현 (실습)
강의에서 작성하신 코드를 그대로 똑같이 적용해서 돌렸는데 이런 에러가 뜨네요.
TypeError: argument of type 'bool' is not iterable
ERROR: Exception in ASGI application
demo = gr.ChatInterface(fn=process_pdf_and_answer,
additional_inputs=[
PDF(label="Upload PDF file"),
gr.Number(label="Chunk Size", value=1000),
gr.Number(label="Chunk Overlap", value=200),
gr.Dropdown(["cosine", "l2"], label="similarity metric", value="cosine"),
gr.Slider(label="Temperature", minimum=0, maximum=2, step=0.1, value=0.0),
],
)
gradio launch 시 additional_inputs에 PDF를 제외하면 launch가 되는데,
PDF를 포함하니까 위의 에러가 뜨면서 launch 자체가 안 돼요.
gradio document를 봐도 이해가 잘 안 돼서요..
코드를 어떻게 수정하면 될까요?
답변 2
0
안녕하세요. 판다스 스튜디오입니다.
현재 실행하신 파일이 기존 랭체인 0.33 버전인지 최근에 제공해드린 랭체인 1.0 버전인지 확인 부탁드립니다.
제가 다음과 같이 최신 gradio, langchain 사용해서 테스트했을 때는 정상 작동합니다.
"chromadb>=1.4.0",
"gradio>=6.2.0",
"gradio-pdf>=0.0.24",
"ipykernel>=7.1.0",
"langchain>=1.2.0",
"langchain-community>=0.4.1",
"langchain-openai>=1.1.6",
"pypdf>=6.5.0",
"python-dotenv>=1.2.1",
현재 실습 환경의 pyproject.toml 파일 내용 중에서 의존성 목록을 알려주시면 원인 파악에 도움이 될 것 같습니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. 박지민님.
Gradio ChatInterface로 PDF 챗봇 애플리케이션을 구현하는 과정에서의 문제에 대해 안내해 드리겠습니다. 작성하신 코드에서 특정 타입의 값에 대한 오류가 발생하고 있는 것으로 보입니다. 에러 메시지가 TypeError: argument of type 'bool' is not iterable로 나오는 경우, 일반적으로 iterable로 다뤄야 할 객체에 파라미터로 잘못된 타입이 전달된 상황을 나타냅니다.
이 문제는 주로 Gradio의 인터페이스 설정에서 매개변수 타입이 맞지 않게 설정된 경우에 발생할 수 있습니다. 특히, gr.ChatInterface에서 additional_inputs를 구성하는 부분에서 PDF와 연관된 파라미터들이 제대로 설정되지 않을 수 있습니다.
아래와 같은 점을 점검해 보세요:
PDF 인풋 체크:
PDF라는 타입이 현재 Gradio의 최신 버전에서 지원되는지 확인하시고, 올바르게 임포트되었는지 확인하세요. 만약,gr.inputs.PDF와 같이 다른 네임스페이스에 있을 수 있습니다.업데이트 확인: 사용하는 Gradio의 버전이 호환되는지, 필요한 최신 버전으로 업데이트가 되어 있는지 확인하세요. 최신 버전에서 인터페이스의 변경점이 있을 수 있습니다.
대체 방법 사용: PDF 업로드를 위한 다른 방법을 사용해보세요. 예를 들어,
gr.inputs.File()로 업로드한 파일의 타입을 검증할 수 있습니다.
관련 문제에 대한 더 자세한 해결 방법을 찾으시려면 아래 링크도 참고하시기 바랍니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





