汪图南
  • RAG

    • RAG
  • 快速入门
  • 高级技巧
前端面试之道
  • 打包工具

    • Webpack
    • Rollup
  • TypeScript

    • TypeScript基础
    • TypeScript类型挑战
  • CSS预编译器

    • SASS
  • 自动化测试

    • Vue应用测试
  • Vue2.0源码分析
  • Vue3.0源码分析
  • 数据结构和算法(基础)
  • LeetCode(刷题)
  • JavaScript书籍

    • 你不知道的JavaScript(上)
    • 你不知道的JavaScript(中下)
    • JavaScript数据结构和算法
    • JavaScript设计模式与开发实践
    • 深入理解ES6
  • Git书籍

    • 精通Git
Github
  • RAG

    • RAG
  • 快速入门
  • 高级技巧
前端面试之道
  • 打包工具

    • Webpack
    • Rollup
  • TypeScript

    • TypeScript基础
    • TypeScript类型挑战
  • CSS预编译器

    • SASS
  • 自动化测试

    • Vue应用测试
  • Vue2.0源码分析
  • Vue3.0源码分析
  • 数据结构和算法(基础)
  • LeetCode(刷题)
  • JavaScript书籍

    • 你不知道的JavaScript(上)
    • 你不知道的JavaScript(中下)
    • JavaScript数据结构和算法
    • JavaScript设计模式与开发实践
    • 深入理解ES6
  • Git书籍

    • 精通Git
Github
  • RAG基础

    • 介绍
  • 简易RAG

    • 前置准备
    • LangChain实现RAG
    • LangGraph实现RAG
    • LangChain vs LangGraph
  • 数据导入(Loader)

    • 介绍
    • Document类型
    • 简单文本导入
    • JSON
    • HTML网页数据
    • Markdown
    • CSV
    • OCR
    • PDF
    • DataBase
  • 文本切块(Chunking)

    • 介绍
    • 分块方法
  • 数据嵌入(Embedding)

    • 介绍
    • 向量相似度计算
    • 稀疏嵌入
    • 密集嵌入
    • 混合嵌入
  • 向量存储(VectorStore)

    • 介绍
    • Chroma
    • Milvus

CSV

原始CSV内容:
Category,Name,Description,PowerLevel
装备,铜云棒,一根结实的青铜棒,挥舞时能发出破空之声,适合近战攻击。,85
装备,百戏衬钱衣,一件精美的战斗铠甲,能够提供强大的防御并抵御剧毒伤害。,90
技能,天雷击,召唤天雷攻击敌人,造成大范围雷电伤害。,95
技能,火焰舞,施展火焰舞步,将敌人包围在炽热的火焰之中。,92
人物,悟空,主角,拥有七十二变和腾云驾雾的能力,行侠仗义。,100
人物,银角大王,强大的妖王之一,擅长操控各种法宝,具有极高的战斗力。,88

CSVLoader

提示

CSVLoader 文档

from langchain_community.document_loaders import CSVLoader

data_loader = CSVLoader(
  file_path="data/黑悟空/黑神话悟空.csv",
  encoding="utf-8",
  content_columns=("名称", "描述"), # 只加载这两列
  csv_args={
    "fieldnames": ["名称", "描述"] # 自定义列名
  }
)

documents = data_loader.load()

for document in documents[:3]:
  print(document.page_content)
  print("=" * 50)

输出结果:

名称: Category
描述: Name
==================================================
名称: 装备
描述: 铜云棒
==================================================
名称: 装备
描述: 百戏衬钱衣
==================================================

DirectoryLoader

提示

DirectoryLoader 文档

可以使用DirectoryLoader + CSVLoader批量加载.csv文件。

from langchain_community.document_loaders import DirectoryLoader, CSVLoader

data_loader = DirectoryLoader(
  path="./data/灭神纪",
  glob="**/*.csv",
  loader_cls=lambda path: CSVLoader(
    path,
    encoding="utf-8"
  )
)

documents = data_loader.load()

print(f"文档数据总数:{len(documents)}")

UnstructuredCSVLoader

提示

UnstructuredCSVLoader 文档

可以使用UnstructuredCSVLoader把.csv文件转换为html结构:

from langchain_community.document_loaders import UnstructuredCSVLoader

data_loader = UnstructuredCSVLoader(
  file_path="./data/黑悟空/黑神话悟空.csv",
  encoding="utf-8",
  mode="elements"
)

documents = data_loader.load()

print(documents[0].metadata.get('text_as_html'))

输出结果:

<table>
  <tr>
    <td>Category</td>
    <td>Name</td>
    <td>Description</td>
    <td>PowerLevel</td>
  </tr>
  <tr>
    <td>装备</td>
    <td>铜云棒</td>
    <td>一根结实的青铜棒,挥舞时能发出破空之声,适合近战攻击。</td>
    <td>85</td>
  </tr>
  <tr>
    <td>装备</td>
    <td>百戏衬钱 衣</td>
    <td>一件精美的战斗铠甲,能够提供强大的防御并抵御剧毒伤害。</td>
    <td>90</td>
  </tr>
  <tr>
    <td>技能</td>
    <td>天雷击</td>
    <td>召唤天雷攻击敌人,造成大范围雷电伤害。</td>
    <td>95</td>
  </tr>
  <tr>
    <td>技能</td>
    <td>火焰舞</td>
    <td>施展火焰 舞步,将敌人包围在炽热的火焰之中。</td>
    <td>92</td>
  </tr>
  <tr>
    <td>人物</td>
    <td>悟空</td>
    <td>主角,拥有七十二变和腾云驾雾的能力,行侠仗义。</td>
    <td>100</td>
  </tr>
  <tr>
    <td>人物</td>
    <td>银角大王</td>
    <td>强大的妖王之一,擅长操控各种法 宝,具有极高的战斗力。</td>
    <td>88</td>
  </tr>
</table>
最后更新时间: 2025/5/31 05:05
贡献者: wangtunan
Prev
Markdown
Next
OCR