anaksor-ocr
Sokheng · 工具包
这个模型从文档、收据和路牌照片里读取高棉语和英语文字,用一个检测器找文本行,再用识别器读每一行。适合需要在 Python 里做高棉语 OCR 的开发者。

一个 n8n 工作流,下载德州税法,把各条法条用 Mistral 做嵌入存进 Qdrant,再加一个聊天窗口。OpenAI Agent 从最接近的法条里作答,也能按名称取出某一条或某一章。
用 Qdrant、Mistral 和 OpenAI 做的德州税法助手 是一款 n8n 工作流,属于法律类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,或复制它的 JSON,再导入 n8n 画布。在 n8n 里启用之前,它不会运行。
手动启动
在 n8n 里点击 Test workflow 时开始运行,把法条加载进来。聊天部分在有人发消息时单独启动。加载这一步用到:
一个存着法典各条的 Qdrant 集合,以及写明所依据章节和条号的聊天回答
开始之前要准备好这些。
语言模型
为 Agent 运行 gpt-5.6-terra,由它决定调用哪个工具并写出回答。
需要OpenAI API 密钥
嵌入
用 mistral-embed 把每条法条和每个问题变成向量。
需要Mistral API 密钥
向量数据库
连同章节和条号标签一起存放法条,并找出最接近某个问题的几条,或者某个法条、某一章对应的内容。
需要一台 n8n 能访问的 Qdrant 服务器,需要时还要它的 API 密钥
由 Mindket 于 2026年11月13日检查
这个 n8n 工作流做一个德州税法的聊天助手。第一部分从州政府公开的法规网站下载税法,是一个包含 56 个章节 PDF 的压缩包,并读出文字。它把每一章切成一条条法条,一共约 2,000 条,用 Mistral 做嵌入,存进 Qdrant 向量库。第二部分是和一个 OpenAI Agent 的聊天,Agent 有两个工具。一个找出最接近问题的四条法条,另一个按编号或名称取出某一条或整整一章。每个回答都会写明它来自哪一章哪一条。三十一个节点完成这些事,旁边还有七张便签。
想看看怎样对一部很长的法律文本做检索、并且以法条而不是原始页面为单位的开发者。如果你需要最新的法律或法律意见,就别选它。回答来自你运行工作流那天加载的一份副本。
| 行业 | 谁在用 | 怎么用 | 例子 |
|---|---|---|---|
| 法务 | 律师助理 | 为一个关于德州某项税的问题,查到背后的法条 | 律师助理问谁必须缴纳特许经营税,再读 Agent 引用的法条。 |
| 会计 | 记账人员 | 在通读之前,先弄清某项税在哪一章 | 记账人员让 Agent 给出某一章的全部法条。 |
| 软件 | n8n 搭建者 | 把“带元数据的法条”这种做法用到另一部长文档上 | 搭建者把压缩包地址和切分用的正则换成另一部法典的。 |
| 教育 | 学生 | 用平常的话向法律条文提问,并看到答案在哪里 | 学生在聊天回答旁边读被引用的法条。 |
You need a fair amount of n8n: 要会配三个凭据、一台 Qdrant 服务器、第一次运行耗时较长,还要先保存工作流,工具才能用。工作流自带的便签没有给出设置时长。
任何能访问 OpenAI、Mistral、你的 Qdrant 服务器和州法规网站的 n8n 都能运行它。
http://qdrant:6333 适合服务名叫 qdrant 的 Docker 环境OpenAI Chat Model点“下载”会把一个压缩包存到你的下载文件夹,里面有 workflow.json 和 Mindket 写的设置说明。三个账号加一台 Qdrant 服务器就够完成所有步骤。
| 需要 | 说明 |
|---|---|
| n8n | n8n Cloud 或你自己的服务器 |
| OpenAI | 一个能用 gpt-5.6-terra 的 API 密钥 |
| Mistral | 一个用于嵌入的 API 密钥 |
| Qdrant | 一台 n8n 能访问的服务器,需要时还要它的 API 密钥 |
workflow.json。Embeddings Mistral Cloud 和 Get Mistral Embeddings 里选中它。Qdrant Vector Store、Use Qdrant Search API1 和 Use Qdrant Scroll API 里选中它。你的 Qdrant 在别处的话,改掉那两个 HTTP 节点里的 http://qdrant:6333。OpenAI Chat Model 里选中它。texas_tax_codes 集合慢慢变满。先点一次 Test workflow 把法条加载进来,然后用聊天。用平常的话提问,或者按名称要某一条或某一章。开放式的问题,Agent 调用提问工具;已知某一条或某一章,就调用查找工具。记忆会保留每个聊天会话最近的五轮对话。
| 要改的 | 在哪里改 |
|---|---|
| Agent 的规则 | AI Agent 里的系统消息 |
| 来源 | Get Tax Code Zip File,以及 Extract From Chapter 里的正则 |
| 一个问题读多少段落 | Use Qdrant Search API1 里的上限 |
| 模型 | OpenAI Chat Model |
| 块的大小 | Recursive Character Text Splitter 里的块大小 |
加载完成后,你问谁必须缴纳特许经营税。Agent 调用它的提问工具,工具用 Mistral 给问题做嵌入,再向 Qdrant 要最接近的四条法条。
Agent 根据这些法条写出回答,并写明每一条的章节和条号。接着你可以要求看某一条的全文,Agent 就带着那个编号调用它的查找工具。
新手:n8n 把工作流画成用线连起来的方框,每个方框是一个节点,只做一件事。这个文件里是两条流程合在一起。上面一条把法条加载一次,下面一条是 Agent 的工具所运行的。先做加载,看着 Qdrant 慢慢变满,再试聊天。
专家:两个工具调用的都是它们所在的那个工作流,靠一个 route 字段选择分支。
| 节点 | 做什么 | 要知道的 |
|---|---|---|
Extract From Chapter | 用三个正则表达式把每一章的文字切成法条 | 它们只适合这个网站的版式,有四条法条仍留在前一条里面 |
Content Chunking @ 30k Chars | 把长法条切成最多 30,000 个字符的块 | 它向上取整,所以最长的那一条不会丢掉结尾 |
Ask Tool 和 Search Tool | 用 route 调用这个工作流的 Tool Workflow 节点 | 要先保存工作流,因为它们是按 id 调用的 |
Use Qdrant Scroll API | 按法条或章节过滤,并翻页取回匹配的内容 | 章节名必须和存下来的名字完全一致 |
加载耗时长,聊天是公开的,数据只是一个时点的副本。
OpenAI Chat Model 没有设置模型,所以 n8n 会用 gpt-5-mini,OpenAI 会在 2026 年 12 月 11 日把它关停。Mindket 的版本调用 gpt-5.6-terra,这是 OpenAI 弃用页面上写的替代模型,2026 年 11 月 12 日查阅https://tcss.legis.texas.gov/resources/Zips/TX.pdf.zip,2026 年 11 月 12 日查阅一个分成两部分的 n8n 工作流。第一部分从州政府公开的法规网站下载德州税法,把它切成一条条法条,用 Mistral 做嵌入,存进 Qdrant 向量库。第二部分是和一个 OpenAI Agent 的聊天,Agent 有两个工具。一个根据问题找出最接近的法条来回答,另一个按编号或名称取出某一条或整整一章。Agent 会写明它用的是哪一章哪一条。
workflow.json:n8n 导出的工作流,三十一个节点和七张便签。里面没有任何凭据。README.md:这份设置说明,压缩包里的是英文版。https://tcss.legis.texas.gov/resources/Zips/TX.pdf.zip,这是网站自己的下载清单里的地址,2026 年 11 月 12 日查阅。压缩包里有 56 个章节 PDF。\nSec\.\nA[0-9]{1,4}[A-Z]?\.[0-9]{1,5}[A-Z]?\.AA。用 n8n 的 PDF 文字步骤的本地副本在全部 56 个文件上运行,得到 2,030 条法条,每个文件里的编号数量和正文数量都一样多。Map To Sections 原来对每一条法条都取第一个 PDF 的章节名,所以每条法条带的章节名都一样。现在改成取这条法条所在 PDF 的章节名。Content Chunking @ 30k Chars。OpenAI Chat Model 没有设置模型,所以 n8n 用了这个节点版本的默认值 gpt-5-mini,OpenAI 会在 2026 年 12 月 11 日把它关停。现在改成调用 gpt-5.6-terra,这是 OpenAI 弃用页面上写的替代模型,2026 年 11 月 12 日查阅。Search Tool 里的示例把法条写成 Sec 1.01。存下来的编号是 1.001 这样的纯数字,所以示例改成了这样。workflow.json。Embeddings Mistral Cloud 和 Get Mistral Embeddings 里选中它。Qdrant Vector Store、Use Qdrant Search API1 和 Use Qdrant Scroll API 里选中它。http://qdrant:6333。集合名 texas_tax_codes 写在它们的地址里,也在 Qdrant Vector Store 里。OpenAI Chat Model 里选中它。Get Tax Code Zip File 下载压缩包,Extract Zip Files 解压,Files as Items 把每个 PDF 变成一个条目。然后 Extract PDF Contents 读出每个的文字。Extract From Chapter 里,文字被切成一条条法条,同时生成编号清单。之后 Map To Sections 把每个编号和它的标题、正文配对,并加上章节名。接着 Sections To List 为每条法条生成一个条目,Only Valid Sections 去掉空的。For Each Section... 每次取五条法条。长的法条由 Content Chunking @ 30k Chars 和 Split Out Chunks 切成大块。Qdrant Vector Store 把它们做嵌入并存起来。Recursive Character Text Splitter 把每块切到 2000 个字符,Default Data Loader 加上元数据 chapter、section、title 和 content_order。然后 1sec 等一秒,循环继续。When chat message received 把每条消息交给 AI Agent,配上 Window Buffer Memory 和 OpenAI Chat Model。Agent 有两个工具,每个都通过 Execute Workflow Trigger 和 Switch 运行这个工作流的下半部分。
Ask Tool(query_tax_code_knowledgebase)把问题交给 Get Mistral Embeddings,再交给 Use Qdrant Search API1,后者要最接近的 4 个点。Get Ask Response 把它们作为一张含章节、条号、标题和正文的表返回。Search Tool(get_tax_code_section)接收一个 section 或一个 chapter。Use Qdrant Scroll API 在给了条号时按 metadata.section 过滤,否则按 metadata.chapter 过滤,并每次 100 个地翻页取回匹配的内容。Get Search Response 按 content_order 排好片段,在一个简短的表头下返回。AI Agent 里的系统消息。Get Tax Code Zip File,以及 Extract From Chapter 里的正则,它们只适合这个网站的版式。Use Qdrant Search API1 里的上限。OpenAI Chat Model。Recursive Character Text Splitter 里的块大小。content_order 是条目在这一批里的位置。同一个 30,000 字符的块切出来的片段共用一个编号,所以 Search Tool 返回它们的顺序可能和法律里的不同。TAX CODE CHAPTER 171. FRANCHISE TAX。Agent 只有见过这样的名字才能给出来。NOTICE.md 678 B README.md 7 KB workflow.json 30 KB
Sokheng · 工具包
这个模型从文档、收据和路牌照片里读取高棉语和英语文字,用一个检测器找文本行,再用识别器读每一行。适合需要在 Python 里做高棉语 OCR 的开发者。
Qwen · 工具包
Qwen2.5-7B-Instruct 的 GGUF 文件,提供八种量化大小,可通过 llama.cpp 在本地聊天。适合想在自己电脑上用 7.6B 强力模型、又不想搭 Python 环境的人。
ACE-Step · 工具包
用 4B 扩散解码器根据文字生成音乐,50 步并带引导控制,音频质量高于基础版。适合拥有 12 GB 或更多显存 GPU 的创作者。
rizzoaiacademy · 工具包
一个小型、适合 CPU 的模型,能在意大利语法律文本中找出 22 类个人数据,包括 codice fiscale 和 partita IVA,用于可还原的匿名化。适合律师事务所和开发隐私过滤器的开发者。
perplexity-ai · 工具包
在聊天对话里找出个人数据并遮盖,用一个 600M 参数的编码器,带词元标注和敏感度打分。适合在使用前清理对话日志的团队。
OpenMed · 工具包
在文本里找出并遮盖个人数据,涵盖姓名、联系方式和各类 ID 等 55 个细分类别。适合在分享或存储文本之前先做脱敏的团队。