inflearn logo
강의

Course

Instructor

AI Agent Development Using LangGraph (feat. MCP)

2.2 Simple Retrieval Agent (feat. PDF Preprocessing Tips)

pyzerox 유니코드 에러

75

Yurim Park

2 asked

0

py-zerox로 문서를 md파일로 바꿀 때 인코딩 관련 에러가 납니다..

 

image.pngimage.png

 

 

프롬프트엔지니어링 llm ai-agent langgraph mcp

Answer 2

0

jasonkang

안녕하세요 혹시 강의에서 활용한 버전을 똑같이 활용하셨을까요? 말씀하신 것처럼 인코딩 문제가 맞는데, asyncio.run()을 통해서 .md가 생성이 되어야 하는거라 with open() 과는 크게 관계가 없는 것 같습니다

asyncio.run() 전에 아래 내용을 한번 추가해서 다시 동작해보시겠어요?

import sys
sys.stdout.reconfigure(encoding="utf-8")
sys.stderr.reconfigure(encoding="utf-8")

result = asyncio.run(main())

0

Yurim Park

답변 감사드립니다

 

저처럼 문제 겪고 계신 분들 계실까봐 혹시 몰라 남깁니다!

py-zerox 버전도 동일하게 했고, 지웠다가 다시 설치해봐도 유니코드 에러가 떠서 패키지 내부에 들어가봤습니다

<본인가상환경>\Lib\site-packages\pyzerox\core\zerox.py
에 보시면, 아래 코드처럼 encoding="utf-8" 이 없었다는 걸 확인할 수 있었고,

encoding="utf-8" 추가하고 IDE 재시작하니까 정상적으로 돌아갔습니다

  • 추가로 생성된 md 파일이 깨져보인다(euc-kr로 바꿔야 정상적으로 보인다는) 는 글도 본 것 같은데, 이 부분도 같이 해결되었습니다!

        if output_dir:
            result_file_path = os.path.join(output_dir, f"{file_name}.md")
            async with aiofiles.open(result_file_path, "w", encoding="utf-8") as f:
                await f.write("\n\n".join(aggregated_markdown))

0

jasonkang

공유해주셔서 감사합니다! 자주 묻는 질문에 등록해 두어야겠네요. 감사합니다!

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. Yurim Park님.

문서를 마크다운(.md) 파일로 변환할 때 발생하는 인코딩 오류는 주로 Windows 시스템에서 발생하는 문제입니다. 원인은 기본 인코딩 설정이 ‘cp949’로 되어 있어 UTF-8 문자를 인코딩할 수 없어서 발생하는 것입니다.

해결 방법

  1. 파일 쓰기 인코딩을 명시적으로 설정:

이미 시도해주신 것처럼 open() 함수를 사용할 때 encoding='utf-8'을 명시적으로 설정하는 것이 중요합니다. 함수 내에서 데이터를 다룰 때도 일관되게 UTF-8 인코딩을 사용하는 것이 좋습니다.

   with open("./docs/income_tax.md", "w", encoding="utf-8") as f:
       f.write(str(result))
  1. 출력 인코딩 설정:

Python의 기본 출력 인코딩을 UTF-8로 변경할 수도 있습니다. 이 경우, 터미널이나 IDE에서도 UTF-8을 처리할 수 있도록 설정해야 합니다.

  1. 콘솔 환경 설정:

Windows에서는 콘솔 기본 환경의 인코딩을 UTF-8로 설정하시기 바랍니다. 명령 프롬프트에서 chcp 65001을 입력하여 콘솔의 코드 페이지를 65001(UTF-8)로 변경할 수 있습니다.

   chcp 65001
  1. 라이브러리 사용 시 주의:

만약 사용하는 라이브러리의 내부에서 인코딩 문제가 반복된다면, 해당 라이브러리의 소스 코드나 API 문서를 참고하여 인코딩을 명시적으로 설정할 수 있는지 확인하는 것도 하나의 방법입니다.

  1. 참고 자료:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해 드리고 있습니다.

현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

마크다운을 텍스트 파일로 변환하기

0

10

1

max token을 제한하는게 왜 성능을 개선하게 되는걸까요?

0

41

2

영상 메타데이터 생성 관련 LLM 활용 질문

0

72

1

종합부동산세 부분 tool 사용 질문 드립니다.

0

74

2

uv sync 파이썬 버전문제 onnxruntime

-1

106

2

MCP를 활용해서 간단한 에이전트를 만들어보세요

0

97

1

PDF 형식

0

66

1

5.3 langchain-mcp-adpater를 활용한 MCP 도구 사용 tool_list 지연 사유

0

91

2

3.6 human_in_the_loop 3rd case

0

81

1

summary 를. 시스템메세지에 추가하는 부분에 관하여

0

70

3

병렬 처리 중 retrieve 관련 궁금한 사항

0

76

1

query 에 대한 answer 결과값이 나오지 않습니다.

0

95

2

사람과 관련된 표현이 없는데 rewrite 로 이동하지 않는경우

0

77

1

retriever 관련 질문

0

65

1

인터룹 관련 질문

0

49

2

2.4 Self-RAG 결과가 달라요!

0

78

2

md vs txt 차이..

0

140

2

OpenAI API 호출 때문에 발생하는 Error code: 429 문제

0

115

2

단순 도구 사용과 도구를 가진 에이전트를 사용하는 것의 차이가 궁금합니다.

0

88

1

LangChain과 LangGraph v1

0

137

1

2.4 강의 관련 질문(답변을 검증하는 self rag)

0

75

2

후속강의 문의

0

74

2

3.6 강의 관련 질문(interrupt 관련)

0

51

1

그래프 구현 조언 부탁드립니다!

0

77

2