当前位置: 首页 > news >正文

【langchain实战】开源项目-RasaGPT

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

相关文章:

【langchain实战】开源项目-RasaGPT

1、概述 RasaGpt是一个建立在 Rasa 和 Langchain 之上的没有显示界面的LMM聊天机器人平台。它是一个Rasa和Telegram这种利用像Langchain这样的LMM库进行索引、检索和上下文注入的样板及参考实现。 开源地址: GitHub - paulpierre/RasaGPT: 💬 RasaGPT is…...

在线yml和properties相互转换

目前搜索到的大部分代码都存在以下问题: 复杂结构解析丢失解析后顺序错乱 所以自己写了一个,经过不充分测试,基本满足使用。可以直接在线使用 在线地址 除了yml和properties互转之外,还可以生成代码、sql转json等,可…...

数据收集与处理(爬虫技术)

文章目录 1 前言2 网络爬虫2.1 构造自己的Scrapy爬虫2.1.1 items.py2.1.2 spiders子目录2.1.3 pipelines.py 2.2 构造可接受参数的Scrapy爬虫2.3 运行Scrapy爬虫2.3.1 在命令行运行2.3.2 在程序中调用 2.4 运行Scrapy的一些要点 3 大规模非结构化数据的存储与分析4 全部代码 1 …...

C# 雪花算法生成Id工具类

写在前面 传说自然界中并不存在两片完全一样的雪花的,每一片雪花都拥有自己漂亮独特的形状、独一无二;雪花算法也表示生成的ID如雪花般独一无二,该算法源自Twitter。 雪花算法主要用于解决分布式系统的唯一Id生成问题,在生产环境…...

什么是通配符证书?

通配符证书是一种特殊的数字证书,主要用于加密网站与用户之间的通信,以保证数据的私密性和完整性。它的独特之处在于可以使用一个单一的证书来保护无限数量的相关子域名。它使用通配符字符(*)作为占位符,代表任意子域名…...

西南科技大学模拟电子技术实验五(集成运算放大器的应用设计)预习报告

一、计算/设计过程 设计一:用集成运放设计一个输入为0.05v,放大为-100的反相比例运算电路。 对于理想电路,反相比例运算电路的输出电压与输入电压之间的关系如下: =-100,所以 =100 若是假定R1为100k,则R2= =1k 为了减小输入级偏置电流引起的运算误差,在同相输入端…...

LeetCode 每日一题 Day 4

2477. 到达首都的最少油耗 给你一棵 n 个节点的树(一个无向、连通、无环图),每个节点表示一个城市,编号从 0 到 n - 1 ,且恰好有 n - 1 条路。0 是首都。给你一个二维整数数组 roads ,其中 roads[i] [ai,…...

服务器数据恢复—重装系统导致XFS文件系统分区丢失的数据恢复案例

服务器数据恢复环境: 服务器使用磁盘柜RAID卡搭建了一组riad5磁盘阵列。服务器上层分配了一个LUN,划分了两个分区:sdc1分区和sdc2分区。通过LVM扩容的方式,将sdc1分区加入到了root_lv中;sdc2分区格式化为XFS文件系统。…...

Scala 从入门到精通

Scala 从入门到精通 数据类型 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http:…...

华为OD机试 - 九宫格按键输入 - 逻辑分析(Java 2023 B卷 200分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷&#…...

leetcode:225. 用队列实现栈

一、题目 链接&#xff1a;225. 用队列实现栈 - 力扣&#xff08;LeetCode&#xff09; 函数原型&#xff1a; typedef struct { } MyStack; MyStack* myStackCreate() void myStackPush(MyStack* obj, int x) int myStackPop(MyStack* obj) int myStackTop(MyStack* obj) …...

Centos7安装GItLab(在线版)

基础环境准备 1.配置清华大学镜像仓库 新建仓库配置文件使用 vim /etc/yum.repos.d/gitlab-ce.repo 命令&#xff0c;输入以下内容,保存 [gitlab-ce] nameGitlab CE Repository baseurlhttps://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/ gpgcheck0 enabl…...

Linux入门笔记

1 Linux概述 Linux 是一套免费使用和自由传播的类 Unix 操作系统&#xff0c;是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。Linux 能运行主要的 UNIX 工具软件、应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心…...

nvm for windows使用与node/npm/yarn的配置

1 下载 nvm for windows download – github 下拉到Assets, 下载.exe文件 2 安装 安装到如下文件夹中 目录可以自己选, 可以换别的名字, 自己记住即可 新手建议全部看完再进行个人配置, 或者使用与博主一致的路径 D:\DevelopEnvironment\nvm3 配置nvm使用的镜像 node_mir…...

打工人副业变现秘籍,某多/某手变现底层引擎-StableDiffusionWebUI界面基本布局和操作

一、界面设置 文生图:根据文本提示生成图像 图生图:图像生成图像;功能很强大,自己在后续使用中探索。 后期处理:图片处理;功能很强大,自己在后续使用中探索。 PNG信息:这是一个快速获取图片生成参数的便捷功能。如果图像是在SD里生成的,您可以使用“发送到”按钮将…...

01、pytest:帮助你编写更好的程序

简介 ​pytest框架可以很容易地编写小型、可读的测试&#xff0c;并且可以扩展以支持应用程序和库的复杂功能测试。使用pytest至少需要安装Python3.7或PyPy3。PyPI包名称为pytest 一个快速的例子 # content of test_sample.py def inc(x):return x1def test_ansewer():asser…...

C语言--每日选择题--Day37

第一题 1. 有以下说明语句&#xff1a;则下面引用形式错误的是&#xff08;&#xff09; struct Student {int num;double score; };struct Student stu[3] {{1001,80}, {1002,75}, {1003,91}} struct Student *p stu; A&#xff1a;p->num B&#xff1a;(p).num C&#…...

Android 12 及以上授权精确位置和模糊位置

请求位置信息权限 为了保护用户隐私&#xff0c;使用位置信息服务的应用必须请求位置权限。 请求位置权限时&#xff0c;请遵循与请求任何其他运行时权限相同的最佳做法。请求位置权限时的一个重要区别在于&#xff0c;系统中包含与位置相关的多项权限。具体请求哪项权限以及…...

scp 指令详细介绍

目录 1. 基本语法 2. 例子 从本地到远程 从远程到本地 从远程到远程 使用端口和指定私钥 递归复制目录 3. 注意事项 如何拷贝文件的软链接 SCP&#xff08;Secure Copy Protocol&#xff09;是一种用于在计算机之间安全地传输文件的协议。它通过加密的方式在网络上安全…...

构建第一个事件驱动型 Serverless 应用

我相信&#xff0c;我们从不缺精彩的应用创意&#xff0c;我们缺少的把这些想法变成现实的时间和付出。 我认为&#xff0c;无服务器技术真的有助于最大限度节省应用开发和部署的时间&#xff0c;并且无服务器技术用可控的成本&#xff0c;实现了我的那些有趣的想法。 在我 2…...

如何快速突破iOS限制:终极降级完全手册

如何快速突破iOS限制&#xff1a;终极降级完全手册 【免费下载链接】downr1n downgrade tethered checkm8 idevices ios 14, 15. 项目地址: https://gitcode.com/gh_mirrors/do/downr1n 你是否曾想过让旧款iPhone重获新生&#xff1f;是否对苹果系统的版本限制感到困扰&…...

闽北哥-一个人最顶级的能力:复归于朴

一个人最顶级的能力 ——复归于朴**“道家说‘复归于朴’&#xff0c; 儒家说‘赤子之心’&#xff0c; 佛家说‘本自具足’&#xff0c; 鬼谷子说‘知世故而不世故’—— 他们都指向同一种状态&#xff1a; 在红尘中&#xff0c;活出婴儿般的清澈。”&#x1f33f; 这不是天真…...

springboot+vue基于web的学生宿舍预订分配管理系统的设计与实现

目录同行可拿货,招校园代理 ,本人源头供货商系统功能模块划分技术实现要点扩展性考虑项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作同行可拿货,招校园代理 ,本人源头供货商 系统功能模块划分 后端&#xff08;SpringBoot&am…...

断更 9 天放大招!OpenClaw 3.22 版全维度升级,龙虾这次真的变超强

各位技术圈的小伙伴&#xff0c;学长来给大家同步个重磅消息&#xff01;火遍全网的 OpenClaw 断更 9 天之后&#xff0c;直接甩出王炸 ——2026.3.22-beta.1 预览版正式上线&#xff0c;这次可不是小修小补&#xff0c;而是从插件架构到安全防护、从模型配置到交互体验的底层大…...

费雪的竞争优势分析框架

费雪的竞争优势分析框架 关键词:费雪竞争优势分析框架、企业竞争优势、财务分析、行业分析、企业战略 摘要:本文深入探讨了费雪的竞争优势分析框架。该框架是评估企业竞争力的重要工具,通过多维度的分析帮助投资者和企业管理者判断企业在市场中的地位和发展潜力。文章首先介…...

告别数据下载烦恼:5分钟用GEE(Google Earth Engine)在线获取任意区域DEM高程数据

告别数据下载烦恼&#xff1a;5分钟用GEE在线获取任意区域DEM高程数据 在科研和工程实践中&#xff0c;数字高程模型&#xff08;DEM&#xff09;是地形分析的基础数据。传统获取方式往往需要经历数据搜索、分幅下载、格式转换、多图拼接等一系列繁琐步骤&#xff0c;对于非GI…...

springboot+vue基于web的社区维修平台

目录同行可拿货,招校园代理 ,本人源头供货商功能模块划分技术实现要点扩展性设计项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作同行可拿货,招校园代理 ,本人源头供货商 功能模块划分 用户管理模块 注册与登录&#xff1a;支…...

从“单点防御”到“全局联动”:手把手教你用EDR和NDR构建企业安全闭环

从“单点防御”到“全局联动”&#xff1a;手把手教你用EDR和NDR构建企业安全闭环 当企业的安全团队还在疲于应对零散的端点告警和网络流量异常时&#xff0c;攻击者早已开始采用自动化工具进行横向移动。传统孤立的防御手段就像用多个单点摄像头监控银行金库——每个摄像头都…...

在大厂工作,一旦开窍后,你会爽死…

在职场尤其是大厂里&#xff0c;沟通能力往往比硬实力更能决定你的发展节奏。很多时候&#xff0c;同样一件事&#xff0c;不同的说法&#xff0c;会带来完全不同的结果。下面这8个高频职场场景&#xff0c;对应的高情商话术&#xff0c;帮你轻松化解尴尬、刷好感&#xff0c;还…...

ofa_image-caption_coco_distilled_en快速部署教程:7860端口WebUI调用全流程详解

ofa_image-caption_coco_distilled_en快速部署教程&#xff1a;7860端口WebUI调用全流程详解 本文介绍如何快速部署和使用ofa_image-caption_coco_distilled_en模型&#xff0c;这是一个专门用于为图片生成英文描述的AI系统。通过简单的Web界面&#xff0c;任何人都能轻松上传图…...