告别逐条手动记账:三步跑通 local-llms-analyse-finance 本地 AI 财务分类
【免费下载链接】local-llms-analyse-financeIn this project, I explored how local LLMs can be used to label data and support analyses. Specifically, I used Llama2 model to automatically categorise my bank transaction data.项目地址: https://gitcode.com/gh_mirrors/lo/local-llms-analyse-finance
周六晚上,你导出一年的银行流水,想认真看看钱花哪了。"Tls Bv Inz Ov-Chipkaart" 是什么钱?你划拉了半小时,越分越烦,最后放弃了。local-llms-analyse-finance 干的就是本地 AI 财务分类这件事:把流水交给本地跑的 Llama2,它逐条读商家描述,自动给每笔交易打上分类标签。
换掉手动分类,差在哪
- 数据不出本机。云端记账工具要把流水传到对方服务器;这里的模型跑在你自己电脑上,钱的记录一步都不出门。
- 不用养一套关键词规则。传统自动分类靠关键词匹配,换个新商家就得补规则;Llama2 直接读描述的意思,没见过的店也能归个类。
- 模糊商家名也读得懂。"Vishandel Sier" 这种本地小店的荷兰语名字,关键词规则很难抓到,模型却能从上下文推断出它大致是做什么的。
搭环境并跑通第一次分类
安装 Ollama 并下载 Llama2 模型
先给电脑装上本地模型运行时,再把 Llama2 模型拉到本机。
curl -fsSL https://ollama.ai/install.sh | sh ollama pull llama2拉取完成后,运行ollama list能看到 llama2,说明模型就绪。Mac 用户也可以用 brew install ollama 代替第一行。
克隆项目代码到本地
把项目文件放到你的磁盘上。
git clone https://gitcode.com/gh_mirrors/lo/local-llms-analyse-finance cd local-llms-analyse-finance进入目录后,能看到两个笔记本和一份示例流水 CSV。
装好依赖,打开分类笔记本
装好笔记本用到的几个 Python 库,然后启动 Jupyter。
pip install langchain_community pandas plotly panel jupyter notebook在浏览器里打开 categorize_expenses.ipynb,从上到下逐格运行。第一遍要跑几分钟,别提前关页面。
📊 它到底能帮你做什么
给整张流水批量打标签
解决最耗时的部分:"这笔钱算哪一类"。分类笔记本读取 CSV 后,按 30 条一批发给 Llama2,再把结果归一化(比如各种"Food"写法统一成 Food and Drinks),最后合并回主表,输出带 Category 列的 transactions_2022_2023_categorized.csv。
输出出错能发现、能重试
本地模型偶尔会"口误",一批格式错了会污染整张表。校验版笔记本 categorize_expenses_with_validation.ipynb 会先检查每行输出格式对不对,不合格就自动重试,最多 7 次,通过了才继续下一批。
打开仪表盘看清钱花在哪
标签有了,还得好"看"。dashboard.ipynb 把分类好的数据画成交互式图表:饼图看各类支出占比,月度柱状图看走势,2022、2023 用页签切换,标题里还直接标出储蓄率。
拿一年的流水走一遍
看看本地 AI 财务分类的完整链路长什么样。
- 输入:仓库自带的 transactions_2022_2023.csv,28 条记录,四列——日期、商家描述、收支类型、金额。
- 处理:笔记本把去重后的商家描述按 30 条一批喂给 Llama2,比如这一批:"Tls Bv Inz Ov-Chipkaart, Birtat Restaurant Amsterdam, Classpass* Monthly"。
- 你看到的结果:模型逐行返回 "Tls Bv Inz Ov-Chipkaart - Travel, Birtat Restaurant Amsterdam - Food and Drinks, Classpass* Monthly - Sport and Fitness"。归一化、合并后导出新 CSV;再打开仪表盘,饼图一眼看出房租占比最大,柱状图列出每月花了多少,标题给出当年储蓄率。
🔧 改一改,更贴合你的账本
- 加新类别:在提示词里补一句"类别包括医疗、教育等",模型之后就会用这些新类别。
- 换成你自己的流水:按示例文件的四列格式导出银行账单,替换 transactions_2022_2023.csv 即可。
- 换一个本地模型:把 Ollama(model="llama2") 里的模型名改成你拉取的其他模型,对比一下分类效果。
省下的不只是记账时间
一个本地跑的模型,把"看流水、打标签、画图"三件事串成了一条流水线,而数据始终在你手里,更多说明可以看 README.md。你不妨现在就打开项目,按上面三步跑一遍,然后换成自己的流水试一次。
【免费下载链接】local-llms-analyse-financeIn this project, I explored how local LLMs can be used to label data and support analyses. Specifically, I used Llama2 model to automatically categorise my bank transaction data.项目地址: https://gitcode.com/gh_mirrors/lo/local-llms-analyse-finance
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考