AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


RAG(检索增强生成) = 检索技术 + LLM 提示
发布日期:2024-06-09 03:37:36 浏览次数: 1894 来源:吴建明利驰软件


背景

RAG(检索增强生成) = 检索技术 + LLM 提示

比如,我们向 LLM 提问一个问题,RAG 从各种数据源检索相关的信息,并将检索到的信息和问题注入到 LLM 提示中,LLM 最后给出答案。

我们已经熟悉了如何利用大语言模型处理文档文件(word、pdf),提出问题并获得答案。

但是,如何上传一个表格文件,帮助我们能更轻松地利用表格文件中的数据,并从中获得有用的信息,从而支持我们的决策和行动呢?

LLM+表格文件结合能实现的功能

比如:

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+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询