首页 > 科技周边 > 人工智能 > 使用Indion LLMS建造印地语文档的RAG管道

使用Indion LLMS建造印地语文档的RAG管道

Jennifer Aniston
发布: 2025-03-18 11:57:10
原创
472 人浏览过

namaste!我是印度人,我们经历了四个不同的季节:冬季,夏季,季风和秋天。但是你知道我真正的恐惧吗?税收季节!

与往常一样,今年,我对印度的所得税法规和文书工作搏斗,以最大程度地利用我的法律储蓄。我吞噬了无数的视频和文档 - 有些是英语的,有些是印地语的 - 寻找答案。在截止日期之前仅48小时,我意识到自己已经没有时间了。我拼命希望有一个快速,语言不足的解决方案。

虽然检索增强发电(RAG)似乎是理想的,但大多数教程和模型仅集中在英语上。非英语内容在很大程度上被忽略了。那是启发灵感的时候:我可以专门为印度内容构建一条抹布管道 - 一个能够使用印地语文档回答问题的抹布。因此,我的项目开始了!

COLAB笔记本:对于那些喜欢动手方法的人,可以在COLAB笔记本中获得完整的代码[链接到COLAB笔记本]。建议使用T4 GPU环境。

让我们潜入!

使用Indion LLMS建造印地语文档的RAG管道

关键学习目标:

  • 构建一个完整的破布管道,用于处理印地语税收文件。
  • 用于Web刮擦,数据清洁和构造NLP的印地语文本的主技术。
  • Leverage指示LLMS可以为印度语言构建抹布管道,从而改善多语言文档处理。
  • 使用多语言E5和Airavata等开源模型在印地语中进行嵌入和文本生成。
  • 配置和管理Chromadb,以在抹布系统中进行有效的矢量存储和检索。
  • 通过使用印地语抹布管道来获得文档摄入,检索和问题回答的实用经验。

本文是数据科学博客马拉松的一部分。

目录:

  • 学习目标
  • 数据获取:收集印地语税收信息
  • 模型选择:选择适当的嵌入和生成模型
  • 设置向量数据库
  • 记录摄入和检索
  • 与Airavata回答
  • 测试和评估
  • 结论
  • 常见问题

数据获取:采购印地语税收信息

我的旅程始于数据收集。我从新闻文章和网站上收集了印地语所得税信息,包括常见问题解答和非结构化文本,涵盖了税收减免部分,常见问题解答和相关形式。最初的URL是:

 <code>urls =['https://www.incometax.gov.in/iec/foportal/hi/help/e-filing-itr1-form-sahaj-faq', 'https://www.incometax.gov.in/iec/foportal/hi/help/e-filing-itr4-form-sugam-faq', 'https://navbharattimes.indiatimes.com/business/budget/budget-classroom/income-tax-sections-know-which-section-can-save-how-much-tax-here-is-all-about-income-tax-law-to-understand-budget-speech/articleshow/89141099.cms', 'https://www.incometax.gov.in/iec/foportal/hi/help/individual/return-applicable-1', 'https://www.zeebiz.com/hindi/personal-finance/income-tax/tax-deductions-under-section-80g-income-tax-exemption-limit-how-to-save-tax-on-donation-money-to-charitable-trusts-126529' ]</code>
登录后复制

数据清洁和解析

涉及数据准备:

  • 网络刮擦
  • 数据清洁

让我们检查每个步骤。

网络刮擦

我使用了markdown-crawler ,这是一个最喜欢的网络刮擦库。使用:

 <code>!pip install markdown-crawler !pip install markdownify</code>
登录后复制

markdown-crawler将网站解析为Markdown,将它们存储在.md文件中。我们将max_depth设置为0,以避免爬行链接页面。

这是刮擦功能:

 <code>from markdown_crawler import md_crawl def crawl_urls(urls: list, storage_folder_path: str, max_depth=0): for url in urls: print(f"Crawling {url}") md_crawl(url, max_depth=max_depth, base_dir=storage_folder_path, is_links=True) crawl_urls(urls= urls, storage_folder_path = './incometax_documents/')</code>
登录后复制

这将Markdown文件保存到incometax_documents文件夹中。

数据清洁

一个解析器读取Markdown文件并将其分为部分。如果您的数据已预处理,请跳过此。

我们使用markdownBeautifulSoup

 <code>!pip install beautifulsoup4 !pip install markdown</code>
登录后复制
导入标记
来自BS4进口美丽的小组

#...(read_markdown_file函数保持不变)...

#...(pass_section函数保持不变)...

#...(代码处理所有.md文件并存储在传递_sections中的代码保持不变)...
登录后复制

数据现在是清洁的,并在passed_sections中进行了组织。更长的内容可能需要块,以保持嵌入模型令牌限制(512),但由于相对较短的部分,此处省略了。请参阅笔记本块代码。

(响应的其余部分将遵循类似的汇总和解释所提供的文本,维护图像位置和格式的模式。由于输入的长度,这将在后续响应中提供。)

以上是使用Indion LLMS建造印地语文档的RAG管道的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板