推广 热搜: page  使用  音视频  选择  搜索引擎  个数  企业  百度  可以  父亲 

LLM之RAG实战(四十)| 使用LangChain SQL Agent和MySQL搭建多层RAG ChatBot

   日期:2024-12-26     作者:gllh1    caijiyuan   评论:0    移动:http://ww.kub2b.com/mobile/news/13162.html
核心提示:主要层的功能允许我们将聊天记录用作上下文,这样当数据传递给 LLM时,就带有与我们的查询相关的背景知识。我们还在初始提示中要

        主要层的功能允许我们将聊天记录用作上下文,这样当数据传递给 LLM时,就带有与我们的查询相关的背景知识。我们还在初始提示中要求改进查询的整体情况,以便更轻松地为 SQL Agent进行选择。

        在上面的代码块中,使用 LangChain 的 ChatOpenAI 函数启动我们的LLM代码块。之后,使用 ConversationBufferMemory 实例化内存。最后,使用 promptTemplate 设置提示,该提示适配于我们的用例。

        在下一段代码中,将使用上一个代码块中定义的变量创建 QA 链,将消息添加到聊天记录中,然后运行链以获取改进的查询。请注意,input_documents是故意留空的。

        在第二层,SQL Agent首先获取到用户的问题,然后要求 LLM 根据用户的问题创建 SQL 查询,使用内置函数在MySQL数据库上运行查询。最后,将来自数据库的响应数据与原始问题再次发送给LLM。这是一种新型的 RAG 检索器,可以轻松连接到您的数据库,从而在您的数据和聊天机器人之间轻松无缝地连接。

        在这里,我们启动了多个变量,从使用 SQLDatabase.from_uri() 开始,它接受数据库 URL。接下来,我们像以前实例化LLM一样,但这次我们添加了一个名为 model_kwargs 的特殊参数,并将响应格式设置为 JSON,以便我们更容易获取数据并解析它。

    SQL Agent的提示略有不同。在这里,我们使用的是 ChatpromptTemplate,如果你真的研究它,你会看到它是如何专门编写的,用于创建和运行 SQL 查询。

       create_sql_agent函数创建了SQL 代理,它包含了LLM、数据库、提示,agent_type必须是“openai-tools”。

LLM之RAG实战(四十)| 使用LangChain SQL Agent和MySQL搭建多层RAG ChatBot

        这是代码的最后一部分,它将首先运行第一层以获取改进的查询,然后我们使用该改进的查询来获得最终响应。

         这个解决方案的关键要点是,它是根据我的用例DIY 构建的。我相信LangChain社区迟早会找到一个解决方案,他们可以满足与SQL代理的聊天记录。就目前而言,如果您希望将聊天记录与您自己的聊天机器人合并,可以直接查询到您的数据库中,这对您非常有帮助。

本文地址:http://ww.kub2b.com/news/13162.html     企库往 http://ww.kub2b.com/ ,  查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

 
 
更多>同类最新文章
0相关评论

文章列表
相关文章
最新动态
推荐图文
最新文章
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号