微信扫码
添加专属顾问
我要投稿
RAG(检索增强生成) = 检索技术 + LLM 提示。
比如,我们向 LLM 提问一个问题,RAG 从各种数据源检索相关的信息,并将检索到的信息和问题注入到 LLM 提示中,LLM 最后给出答案。
我们已经熟悉了如何利用大语言模型处理文档文件(word、pdf),提出问题并获得答案。
但是,如何上传一个表格文件,帮助我们能更轻松地利用表格文件中的数据,并从中获得有用的信息,从而支持我们的决策和行动呢?
比如:
1、自然语言查询:我们可以通过自然语言查询CSV文件中的数据,而无需掌握Excel里的高级查询函数。
2、数据摘要:可以从CSV文件中提取特定列或行的摘要信息,如总和、平均值、最值等。
3、数据过滤:根据提供的条件,在CSV文件中筛选出满足条件的数据。
4、数据分析:生成相应的报告、图表或可视化结果。
3、数据预测:使用机器学习模型进行预测。
https://github.com/lurenss/matrix-mind
1、在终端上运行:docker-compose up
2、访问http://localhost:8080/
3、输入OpenAi API 密钥
4、上传您的 csv 文件
5、开始聊天前端:Vue、HTML、JavaScript
后端:Python
容器化:Dockerfile
from fastapi import FastAPI, HTTPException
from fastapi.responses import JSONResponse
# 创建一个 FastAPI 应用
app = FastAPI()
# 定义一个全局变量,用于存储 CSV 文件的路径
path_df = None
# 创建一个路由,用于处理 GET 请求
@app.get("/first_generate")
def first_generate():
"""
生成一个基于上传的 CSV 文件的 AI 生成的响应。
Returns:
dict: 包含 AI 生成响应的消息。
"""
try:
# 全局变量声明
global path_df
# 如果没有上传 CSV 文件,则抛出 ValueError
if path_df is None:
raise ValueError("CSV 文件未上传。请先上传 CSV 文件。")
# 用户消息
user_msg = "What are the columns of this dataset? Answer with a sentence please."
# 调用函数创建一个处理 CSV 文件的 agent
csv_agent = create_csv_agent(llm, path_df, verbose=True, agent_type=AgentType.OPENAI_FUNCTIONS)
# 运行 agent
msg = csv_agent.run(user_msg)
# 打印 USER 消息和 AI 响应
print("USER: " + user_msg)
print("AI: " + msg)
# 返回包含 AI 生成响应的消息
return {"message": msg}
except ValueError as e:
print("发生错误: ", e)
return JSONResponse(status_code=400, content={"message": str(e)})
except Exception as e:
print("发生错误: ", e)
return JSONResponse(status_code=500, content={"message": "内部服务器错误。"})
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-04-23
2026 年做搜索就是做 Agent Memory
2026-04-22
专题解读 | 可更新的检索增强知识库发展方向及进展
2026-04-22
AI实践|基于 Spring AI 从0到1构建 AI Agent
2026-04-22
我搭建了Karpathy的个人知识库,但发现成本高速度慢,我用一个更好的方案替代了。
2026-04-21
多轮对话时,RAG反复做重复召回,模型层与Milvus层分别如何解决?
2026-04-20
Codeindex · 让大模型更好地理解你的代码
2026-04-13
用RAG的思路做agent知识管理,为什么跑不通
2026-04-12
YC CEO 的 AI 记住了 3000 个人
2026-02-13
2026-02-03
2026-02-03
2026-02-06
2026-02-06
2026-02-02
2026-04-06
2026-02-06
2026-02-05
2026-01-28
2026-04-21
2026-03-17
2026-03-11
2026-02-22
2026-02-15
2026-02-04
2026-02-03
2026-01-19