链载Ai

标题: RAG(检索增强生成) = 检索技术 LLM 提示 [打印本页]

作者: 链载Ai    时间: 昨天 10:08
标题: RAG(检索增强生成) = 检索技术 LLM 提示

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 1.2em;font-weight: bold;display: table;margin: 4em auto 2em;padding-right: 0.2em;padding-left: 0.2em;background: rgb(0, 152, 116);color: rgb(255, 255, 255);">背景

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

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">比如,我们向 LLM 提问一个问题,RAG 从各种数据源检索相关的信息,并将检索到的信息和问题注入到 LLM 提示中,LLM 最后给出答案。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">我们已经熟悉了如何利用大语言模型处理文档文件(word、pdf),提出问题并获得答案。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">但是,如何上传一个表格文件,帮助我们能更轻松地利用表格文件中的数据,并从中获得有用的信息,从而支持我们的决策和行动呢?

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 1.2em;font-weight: bold;display: table;margin: 4em auto 2em;padding-right: 0.2em;padding-left: 0.2em;background: rgb(0, 152, 116);color: rgb(255, 255, 255);">LLM+表格文件结合能实现的功能

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">比如:

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">1、自然语言查询:我们可以通过自然语言查询CSV文件中的数据,而无需掌握Excel里的高级查询函数。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">2、数据摘要:可以从CSV文件中提取特定列或行的摘要信息,如总和、平均值、最值等。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">3、数据过滤:根据提供的条件,在CSV文件中筛选出满足条件的数据。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 16px;margin: 1.5em 8px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">4、数据分析:生成相应的报告、图表或可视化结果。

3、数据预测:使用机器学习模型进行预测。

效果

代码

下载路径:

https://github.com/lurenss/matrix-mind

如何使用:

1、在终端上运行:docker-compose up

2、访问http://localhost:8080/

3、输入OpenAiAPI密钥

4、上传您的csv文件

5、开始聊天

技术栈:

前端:Vue、HTML、JavaScript

后端:Python

容器化:Dockerfile

主要代码:

fromfastapiimportFastAPI,HTTPException
fromfastapi.responsesimportJSONResponse

#创建一个FastAPI应用
app=FastAPI()

#定义一个全局变量,用于存储CSV文件的路径
path_df=None

#创建一个路由,用于处理GET请求
@app.get("/first_generate")
deffirst_generate():
"""
生成一个基于上传的 CSV 文件的 AI 生成的响应。

Returns:
dict:包含 AI 生成响应的消息。
"""
try:
#全局变量声明
globalpath_df

#如果没有上传CSV文件,则抛出ValueError
ifpath_dfisNone:
raise ValueError("CSV 文件未上传。请先上传 CSV 文件。")

#用户消息
user_msg="Whatarethecolumnsofthisdataset?Answerwithasentenceplease."

#调用函数创建一个处理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}

exceptValueErrorase:
print("发生错误:",e)
returnJSONResponse(status_code=400,content={"message":str(e)})

exceptExceptionase:
print("发生错误:",e)
return JSONResponse(status_code=500, content={"message":"内部服务器错误。"})







欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5