【langchain实战】开源项目-RasaGpt

news2025/2/25 12:08:13

1、概述

    RasaGpt是一个建立在 Rasa Langchain 之上的没有显示界面的LMM聊天机器人平台。它是一个Rasa和Telegram这种利用像Langchain这样的LMM库进行索引、检索和上下文注入的样板及参考实现。
    开源地址: GitHub - paulpierre/RasaGPT: 💬 RasaGPT is the first headless LLM chatbot platform built on top of Rasa and Langchain. Built w/ Rasa, FastAPI, Langchain, LlamaIndex, SQLModel, pgvector, ngrok, telegram

1.1 什么是rasa

      Rasa is an open source (Python) machine learning framework to automate text- and voice-based conversations: NLU, dialogue management, connect to Slack, Facebook, and more - Create chatbots and voice assistants     Rasa  is a very popular (dare I say de facto?) and easy-enough to use chatbot framework with built in NLU ML pipelines that are obsolete and a conceptual starting point for a reimagined chatbot framework in a world of LLMs.

1.2 选择RasaGPT的原因

    RasaGpt开箱即用。很多实现细节都已经处理好了,你不需要自己动手,包括:
  • 使用FastAPI创建你自己的专有bot端点,包括文档上传和“训练”流程。
  • 如何将Langchain/LlamaIndex和Rasa集成。
  • 与LLM库的库冲突和元数据传递。
  • 支持在MacOS上运行Rasa的Docker化。
  • 通过ngrok实现与聊天机器人的反向代理。
  • 使用你自己的定制模式的pgvector,而不是使用Langchain高度偏见的PGVector类。
  • 在Rasa和你自己的后端/应用程序之间添加多租户(Rasa本身不支持此功能)、会话和元数据。

2、快速安装

        注意非 macOS 用户:  如果您正在使用 Linux 或 Windows,docker镜像需要 khalosa/rasa-aarch64:3.5.2  更改为  rasa/rasa:latest ,具体操作在  docker-compose.yml 的第64行  和  此处操作的 actions Dockerfile 的第1行。
# 获取代码
git clone https://github.com/paulpierre/RasaGPT.git
cd RasaGPT


## 设置.env文件
cp .env-example .env


# 编辑您的.env文件并添加所有必要的凭证
make install
    遇到问题:
    
 
ailed to solve with frontend dockerfile.v0: failed to create LLB definition: unexpected status code [manifests 3.8-slim]: 403 Forbidden
ERROR: Service 'rasa-credentials' failed to build : Build failed
make[2]: *** [rasa-start] Error 1
make[1]: *** [rasa-train] Erro
   解决方案:
Docker的安装过程大致分为以下步骤:
1.检查是否有.env文件可用
2.使用[pgvector](GitHub - pgvector/pgvector: Open-source vector similarity search for Postgres)初始化数据库
3.数据库模型创建数据库模式
4.训练Rasa模型,使其准备好运行
5.使用Rasa设置ngrok,以便Telegram具有回复您的API服务器的Webhook
6.设置Rasa actions服务器,以便Rasa可以与RasaGPT API进行通信
7.使用seed.py将数据库填充有虚拟数据

4、RasaGPT特性

4.1 完整应用程序和 API

  • LLM 使用 Langchain 对任意语料库进行“学习”通过 FastAPI上传文档并进行“训练”
  • 支持文档版本控制,上传时自动执行“重新训练”
  • 可通过 FastAPI和 SQLModel自定义异步端点和数据库模型
  • 机器人可确定是否需要人工干预
  • 机器人可根据用户问题和响应自动生成标签
  • 包含完整的 API 文档,包括 Swagger 和 Redoc包含 PGAdmin,以便您浏览数据库
  • 自动在启动时生成 Ngrok端点,因此始终可以通过 https://t.me/yourbotname 访问您的机器人
  • 利用 Postgres 自带的功能和 pgvector 实现嵌入式相似度搜索
  • 包含 虚拟数据,供您进行测试和实验无限多的用例,包括帮助台、客户支持、测验、电子学习、地下城与巨龙等

4.2 Rasa 集成

基于 Rasa构建,这是聊天平台开源的黄金标准支持 MacOS M1/M2,使用 Docker (标准 Rasa 镜像 不支持 MacOS 架构)
支持 Telegram,可轻松集成 Slack、Whatsapp、Line、SMS 等
利用 Huggingface 的 NLU 模型(如 BERT)或使用 Keras、Tensorflow 等库/框架来设置复杂的对话流水线,OpenAI GPT 作为备用方案

4.3 灵活性

利用Langchain扩展语言、记忆等能力
模式支持多租户、会话和数据存储
自定义代理人个性
保存所有聊天记录,并使用所有互动创建嵌入,未来可形成检索策略
自动从知识库语料库和客户反馈中生成嵌入

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1285667.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

石原子科技荣登「2024 中国企业服务云图」,引领数据价值在线化革命,助力企业省心省钱更安全

近日,2023 年中国 SaaS 大会在美丽的苏州太湖隆重召开。本次大会由吴中区人民政府、苏州市工信局指导,崔牛会主办,苏州太湖国家旅游度假区管委会协办。会上,知名B2B企业服务平台崔牛会联合火山引擎正式发布了「2024 中国企业服务云…

JS浮点数精度问题及解决方案

前端面试大全JS浮点数精度问题及解决方案 🌟经典真题 🌟浮点数精度常见问题 🌟为什么会有这样的问题 🌟真题解答 🌟总结 🌟经典真题 为什么 console.log(0.20.10.3) 得到的值为 false 🌟…

C语言之多重循环

目录 二重循环 用break语句强制结束循环 显示图形 绘制等腰直角三角形 多重循环 continue语句 将循环语句的循环体作为循环语句,就可以进行二重、三重循环。这样的循环称为多重循环。 我们先来了解二重循环 二重循环 在之前我们学习到的循环中的程序都比较简…

如何批量修改ppt中的字体?

ppt制作已经属于是复杂的操作了,当我们想要更换ppt中的字体,有没有什么快捷的方法呢?今天分享两个方法,一键修改ppt文件字体。 方法一: 找到功能栏中的编辑选项卡,点击替换 – 替换字体,在里面…

Amazon CodeWhisperer 正式可用, 并面向个人开发者免费开放

文章作者:深度-围观 北京——2023年4月18日,亚马逊云科技宣布,实时 AI 编程助手 Amazon CodeWhisperer 正式可用,同时推出的还有供所有开发人员免费使用的个人版(CodeWhisperer Individual)。CodeWhisperer…

【开源项目】Windows串口通信组件 -- Com.Gitusme.IO.Ports.SerialPort

目录 1、项目介绍 2、组件集成 1)下载地址: 2)添加项目依赖 3、使用方法 4、GitHub项目地址 1、项目介绍 Com.Gitusme.IO.Ports.SerialPort 是一款 Windows 串口通信组件,基于.Net Core 3.1 开发,支持 Console、Wi…

【江科大--32课程中讲解到的外部设备】

一、传感器模块(GPIO模块) 1.基本介绍 传感器模块:传感器元件(光敏电阻/热敏电阻/红外接收管等)的电阻会随外界模拟量的变化而变化,通过与定值电阻分压即可得到模拟电压输出,再通过电压比较器进…

黑豹程序员-java发邮件,发送内容支持html,带多附件的案例

介绍 发邮件mail是常见的软件功能&#xff0c;下面利于spring和java的mail库实现发送内容支持html&#xff0c;带多附件的案例 开启SMTP邮件发送协议 谁提供的SMTP邮件服务&#xff0c;就找谁开启。QQ邮箱类似。 依赖 <!--Java MAil 发送邮件API--><dependency&g…

契约锁2023年伙伴大会连下58城,顺利收官!

10月以来&#xff0c;携手全国58城的IT伙伴&#xff0c;共同探讨电子签章海量市场下的发展机遇以及合作模式、交流分享电子签章海量市场机遇、体验电子签章产品在组织数字化建设中的应用价值。 以简单易用、方便实施的产品&#xff0c;和开放共享政策&#xff0c;广结伙伴、共建…

【Mysql】一篇博客搞懂Mysql索引、全面剖析底层结构(建议收藏)

&#x1f308;欢迎来到Mysql专栏 &#x1f64b;&#x1f3fe;‍♀️作者介绍&#xff1a;前PLA队员 目前是一名普通本科大三的软件工程专业学生 &#x1f30f;IP坐标&#xff1a;湖北武汉 &#x1f349; 目前技术栈&#xff1a;C/C、Linux系统编程、计算机网络、数据结构、Mysq…

Mongodb 开启oplog,java监听oplog并写入关系型数据库

开启Oplog windows mongodb bin目录下找到配置文件/bin/mongod.cfg,配置如下&#xff1a; replication:replSetName: localoplogSizeMB: 1024双击mongo.exe 执行 rs.initiate({_id: "local", members: [{_id: 0, host: "localhost:27017"}]})若出现如…

【已解决】MySQL:执行存储过程报错(MySQL字符集和排序方式冲突)

目录 问题现象&#xff1a; 问题分析&#xff1a; 解决方法&#xff1a; 拓展&#xff1a; 1、转换条件两边的字段或值为二进制数据&#xff1a; 2、转换条件两边的字段或值的字符集和排序方式&#xff1a; 3、修改列、表、库的字符集和排序方式 参考链接&#xff1a; 问…

托盘四向穿梭车自动化密集库供应|单机智能向系统智能跨越的HEGERLS托盘四向车系统

随着物流产业的迅猛发展&#xff0c;托盘四向穿梭式自动化密集仓储系统可认为是在穿梭车货架系统基础上提出的一种新仓储概念。托盘四向穿梭式立体库因其在流通仓储体系中所具有的高效密集存储功能优势、运作成本优势与系统化智能化管理优势&#xff0c;已发展为仓储物流的主流…

第73讲:深入理解MySQL数据库InnoDB存储引擎:内存结构、磁盘结构与后台线程全面解析

文章目录 1.InnoDB存储引擎的架构2.InnoDB存储引擎的内存结构2.1.Buffer Pool缓冲池2.2.Change Buffer更改缓冲区2.3.自适应Hash索引2.4.Log Buffer日志缓冲区 3.InnoDB存储引擎的磁盘结构3.1.System Tablespace系统表空间3.2.File-Per-Table Tablespaces每个表都有单独的表空间…

基于轻量级模型GHoshNet开发构建眼球眼疾识别分析系统,构建全方位多层次参数对比分析实验

工作中经常会使用到轻量级的网络模型来进行开发&#xff0c;所以平时也会常常留意使用和记录&#xff0c;在前面的博文中有过很多相关的实践工作&#xff0c;感兴趣的话可以自行移步阅读即可。 《移动端轻量级模型开发谁更胜一筹&#xff0c;efficientnet、mobilenetv2、mobil…

VS2022 显示参数类型

VS2022 显示参数类型 VS2022的智能感知功能非常强大&#xff0c;提供了类似clangd的IntelliSense。 设置方法 有时候需要代码补全&#xff0c;代码类型补全提示&#xff0c;极有可能消耗内存和运存。所以记录一下开关这个。

IDEA启动失败报错解决思路

IDEA启动失败报错解决思路 背景&#xff1a;在IDEA里安装插件失败&#xff0c;重启后直接进不去了&#xff0c;然后分析问题解决问题的过程记录下来。方便下次遇到快速解决。也是一种解决问题的思路&#xff0c;分享出去。 启动报错信息 Internal error. Please refer to https…

无频闪护眼灯哪个好?顶级无蓝光频闪护眼台灯推荐

国家卫生健康委员会疾控局宋士勋表示&#xff0c;根据近期发布的2021年监测数据来看&#xff0c;截至2020年&#xff0c;我国儿童青少年总体的近视率是52.7%&#xff0c;从不同年龄段来看&#xff0c;幼儿园6岁孩子的近视率达到14.3%&#xff0c;小学达到35.6%&#xff0c;初中…

Tubulysin C 微管蛋白C 205304-88-7

Tubulysin C 微管蛋白C 205304-88-7 英文名称&#xff1a;Tubulysin C 中文名称&#xff1a;微管蛋白C 化学名称&#xff1a;(2S,4R)-4-[[2-[(1R,3R)-1-乙酰氧基-4-甲基-3-[[(2S,3S)-3-甲基-2-[[(2R)-1 -甲基哌啶-2-羰基]氨基]戊酰基]-(丙酰氧基甲基)氨基]戊基]-1,3-噻唑-4-羰基…

3、RocketMQ源码分析(三)

RocketMQ源码-NameServer架构设计及启动流程 本文我们来分析NameServer相关代码&#xff0c;在正式分析源码前&#xff0c;我们先来回忆下NameServer的功能&#xff1a; NameServer是一个非常简单的Topic路由注册中心&#xff0c;其角色类似Dubbo中的zookeeper&#xff0c;支…