inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Phát triển AI Agent sử dụng LangGraph (feat. MCP)

2.2 Agent Retrieval đơn giản (feat. Mẹo xử lý trước PDF hữu ích)

pyzerox 유니코드 에러

75

Yurim Park

2 câu hỏi đã được viết

0

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

 

image.pngimage.png

 

 

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

Câu trả lời 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

20

1

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

0

42

2

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

0

72

1

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

0

76

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

96

2

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

0

77

1

retriever 관련 질문

0

65

1

인터룹 관련 질문

0

49

2

2.4 Self-RAG 결과가 달라요!

0

79

2

md vs txt 차이..

0

140

2

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

0

115

2

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

0

88

1

LangChain과 LangGraph v1

0

138

1

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

0

75

2

후속강의 문의

0

74

2

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

0

51

1

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

0

77

2