You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LangChain DirectoryLoader加载.md文件卡住,报TP_NUM_C_BUFS过小错误

解决LangChain加载Markdown文件卡住及TP_NUM_C_BUFS错误问题

问题现象

使用LangChain的DirectoryLoader搭配UnstructuredMarkdownLoader加载.md文件、构建Chroma向量数据库时,程序卡在documents = loader.load()步骤,仅打印"loader",无法输出"loaded?";但切换为PyPDFLoader加载.pdf文件时流程完全正常。偶尔会触发以下底层错误:

loader
      0 [main] python (11932) c:\python312\python.exe: *** fatal error - Internal error: TP_NUM_C_BUFS too small: 50
    315 [main] python (11932) c:\python312\python.exe: *** fatal error - Internal error: TP_NUM_C_BUFS too small: 50

核心代码片段:

# loader = DirectoryLoader(self.data_directory+'/', glob="*.pdf", loader_cls=PyPDFLoader)
loader = DirectoryLoader(self.data_directory+'/', glob="*.md",loader_cls=UnstructuredMarkdownLoader)
print("loader")
documents = loader.load()
print("loaded? ")
text_splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=200)
texts = text_splitter.split_documents(documents)
print("split? ")
vectordb = Chroma.from_documents(documents=texts, 
                                        embedding=self.embedding,
                                        persist_directory=self.persist_directory)
print("persisted? ")

retriever = vectordb.as_retriever()
return retriever

解决方案

  • 替换轻量Markdown加载器:UnstructuredMarkdownLoader依赖的unstructured库在Windows环境下兼容性较差,改用LangChain原生的MarkdownLoader即可规避解析卡住的问题,替换后代码:
    from langchain.document_loaders import MarkdownLoader
    loader = DirectoryLoader(self.data_directory+'/', glob="*.md", loader_cls=MarkdownLoader)
    
  • 降级Python版本:TP_NUM_C_BUFS too small错误是Python 3.12在Windows系统下的底层兼容性问题,暂时降级到Python 3.11.x可直接解决该报错。
  • 禁用多线程加载:若坚持使用UnstructuredMarkdownLoader,给DirectoryLoader添加use_multithreading=False参数,避免多进程触发的底层异常:
    loader = DirectoryLoader(self.data_directory+'/', glob="*.md", loader_cls=UnstructuredMarkdownLoader, use_multithreading=False)
    
  • 排查异常Markdown文件:部分包含复杂表格、嵌套HTML或特殊字符的.md文件会导致解析卡住,先测试单个简单格式的.md文件,排除文件本身的问题。

内容的提问来源于stack exchange,提问作者ranguy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 07:15:24