namaste!我是印度人,我们经历了四个不同的季节:冬季,夏季,季风和秋天。但是你知道我真正的恐惧吗?税收季节!
与往常一样,今年,我对印度的所得税法规和文书工作搏斗,以最大程度地利用我的法律储蓄。我吞噬了无数的视频和文档 - 有些是英语的,有些是印地语的 - 寻找答案。在截止日期之前仅48小时,我意识到自己已经没有时间了。我拼命希望有一个快速,语言不足的解决方案。
虽然检索增强发电(RAG)似乎是理想的,但大多数教程和模型仅集中在英语上。非英语内容在很大程度上被忽略了。那是启发灵感的时候:我可以专门为印度内容构建一条抹布管道 - 一个能够使用印地语文档回答问题的抹布。因此,我的项目开始了!
COLAB笔记本:对于那些喜欢动手方法的人,可以在COLAB笔记本中获得完整的代码[链接到COLAB笔记本]。建议使用T4 GPU环境。
让我们潜入!
关键学习目标:
本文是数据科学博客马拉松的一部分。
目录:
数据获取:采购印地语税收信息
我的旅程始于数据收集。我从新闻文章和网站上收集了印地语所得税信息,包括常见问题解答和非结构化文本,涵盖了税收减免部分,常见问题解答和相关形式。最初的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文件并将其分为部分。如果您的数据已预处理,请跳过此。
我们使用markdown
和BeautifulSoup
:
<code>!pip install beautifulsoup4 !pip install markdown</code>
导入标记 来自BS4进口美丽的小组 #...(read_markdown_file函数保持不变)... #...(pass_section函数保持不变)... #...(代码处理所有.md文件并存储在传递_sections中的代码保持不变)...
数据现在是清洁的,并在passed_sections
中进行了组织。更长的内容可能需要块,以保持嵌入模型令牌限制(512),但由于相对较短的部分,此处省略了。请参阅笔记本块代码。
(响应的其余部分将遵循类似的汇总和解释所提供的文本,维护图像位置和格式的模式。由于输入的长度,这将在后续响应中提供。)
以上是使用Indion LLMS建造印地语文档的RAG管道的详细内容。更多信息请关注PHP中文网其他相关文章!