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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

揭秘:软件测试中Web请求的完整流程!

在软件开发的过程中,测试是一个至关重要的环节。而在现代互联网应用中,Web请求是很常见的一个测试需求。本文将介绍Web请求的完整测试流程,帮助读者更好地理解软件测试的关键步骤。 一、测试准备阶段 在进行Web请求测试之前,测试团…

【CMake入门】第二节——CMake常用指令介绍

系列文章: 【CMake入门】第一节——CMake的安装与简单样例 CMake常用指令介绍 cmake_minimum_required 指定要求最小的cmake版本,如果版本小于该要求,程序终止 project(test) 设置当前项目名称为test CMAKE_BUILD_TYPE 用于设置CMake构…

招商银行薪福:一站式API连接电商平台,实现CRM与客服系统集成

招商银行薪福通的API集成优势 招商银行的SaaS产品薪福通在电商行业迅速崭露头角,它通过一站式API连接,极大地简化了电商平台与CRM及客服系统的集成过程。企业无需深入研究API开发细节,也不必担心代码复杂性,就能实现系统间的高效…

LeetCode力扣每日一题(Java):14、最长公共前缀

一、题目 二、解题思路 1、我的思路 乍一看我的代码量还是比较少,但是提交上去发现时间效率和空间效率都不占优势 讲讲我的思路:首先通过for循环找出数组中长度最短的字符串,并用min储存最短字符串的长度,最长公共前缀不可能比…

SAP MM 中的业务伙伴确定配置

这篇博客文章将概述 SAP MM 供应商帐户组中的合作伙伴确定是什么以及如何在 S/4 系统中配置它。 本文将指导您完成分步过程,并为您提供有关在供应商主数据中使用合作伙伴确定的完整想法。 合作伙伴角色 供应商在 SAP 中扮演着不同类型的角色,让我们通…

基于JavaSwing实现的学生管理系统(课程设计必备)

基于JavaSwing实现的学生管理系统,最全的Java基础学生管理系统,Java课程设计必备 系统一共包括学生信息管理,考勤签到管理,学生成绩管理,学生选课管理系统。不仅有基础功能,还有图表统计等功能。功能是非常…

记录 | chrome下载提速

chrome浏览器下载提速的方法: 谷歌浏览器一直都带有多线程下载模式,只不过默认关闭了,打开后下载速度会提升很多,只要在新标签页输入 chrome://flags/#enable-parallel-downloading ,点enter,出现下图点击…

逆向修改Unity的安卓包资源并重新打包

在上一篇文章中,我已经讲过如何逆向获取unity打包出来的源代码和资源了,那么这一节我将介绍如何将解密出来的源代码进行修改并重新压缩到apk中。 其实在很多时候,我们不仅仅想要看Unity的源码,我们还要对他们的客户端源码进行修改和调整,比如替换资源,替换服务器连接地址…

智能优化算法应用:基于梯度算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于梯度算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于梯度算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.梯度算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

Beam Search学习

BackGround 在生成的时候,模型的输出是一个时间步一个时间步依次获得的,而且前面时间步的结果还会影响后面时间步的结果。也就是说,每一个时间步,模型给出的都是基于历史生成结果的条件概率。 为了生成完整的句子,需…

Codeforces Round 913 (Div. 3) A~E

目录 A. Rook 问题分析: B. YetnotherrokenKeoard 问题分析: C. Removal of Unattractive Pairs 问题分析: D. Jumping Through Segments 问题分析: E. Good Triples 问题分析: A. Rook 问题分析: 给一个棋子将其同行同列的位置输出 #include<bits/s…

ABAP 字符串空白值保留长度或者用其他字符替代

保留空白值在字符串的长度。 DATA lv_char1 TYPE string VALUE Hello. DATA lv_char2 TYPE string VALUE World. DATA LV_CHAR3 TYPE C LENGTH 50.DATA(lv_string3) |{ lv_char1 } { lv_char2 }!|.WRITE: / lv_string3.DATA(lv_string2) lv_char1 && | { lv_char3 } …

6个实用又好用的交互原型工具!

在 UI/UX 设计中&#xff0c;原型设计是至关重要的一步。正如用户体验中的其它环节一样&#xff0c;有无数的交互原型工具可以帮助你完成原型设计。市场上有太多的交互原型工具&#xff0c;如果你不知道选择哪一种&#xff0c;那么我们将为你介绍 6 个实用又好用的交互原型工具…

获取文本框中录入得 方法,执行该方法

最近一个同事问我如何将大文本中输入得方法&#xff0c;变成一个真正得方法执行&#xff0c; 于是在控制台临时测试了一下我的想法 解释一下这个过程&#xff0c; 1、从大文本框中获取到一个字符串 var a"function(){alert(2)}" 2、将字符串转换成真正可执行的方…

半导体湿法清洗工艺

随着技术的不断变化和器件尺寸的不断缩小&#xff0c;清洁过程变得越来越复杂。每次清洗不仅要对晶圆进行清洗&#xff0c;所使用的机器和设备也必须进行清洗。晶圆污染物的范围包括直径范围为0.1至20微米的颗粒、有机和无机污染物以及杂质。 清洁方法可分为湿法或干法。湿法清…

在Linux系统中更换yum源为阿里云

(꒪ꇴ꒪ )&#xff0c;Hello我是祐言QAQ我的博客主页&#xff1a;C/C语言&#xff0c;数据结构&#xff0c;Linux基础&#xff0c;ARM开发板&#xff0c;网络编程等领域UP&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff0c;让我们成为一个强大的攻城狮&#xff0…

html和css小练习

目录 1、css代码 2、html代码 效果图 彩妆热卖产品列表 1、css代码 body {background-color: rgb(238, 231, 225);}* {padding: 0;margin: 0;list-style: none;text-decoration: none;}div {width: 400px;margin: 60px auto;}li {line-height: 40px;border-bottom: 1px das…

AI文本生成工具-免费AI文本生成软件

在当今数字时代&#xff0c;人工智能技术的快速发展不仅改变了我们的生活方式&#xff0c;还在创作领域崭露头角。其中&#xff0c;AI文本生成技术的迅猛发展引起了广泛关注。本文将深入探讨AI文本生成的方法、工具以及一些关键技巧&#xff0c;帮助读者更好地了解并利用这一前…

QT图标工具

Qt图标工具 1.开发环境&#xff1a; Qt5.12.9 vs2019 涉及QT内容&#xff1a; qss: Model/view 使用QListView来显示图标。 使用Model&#xff08;继承QAbstractListModel&#xff09;访问图片列表。 使用FilterModel&#xff08;继承QSortFilterProxyModel&#xff09;来过滤…

智能化转型比想象中更难,九牧智能马桶深陷口碑危机

智能化浪潮正深刻改变着消费者日常生活的方方面面&#xff0c;也推动着传统卫浴品牌面向智能化转型的步伐。 而在一众耳熟能详的中国卫浴品牌中&#xff0c;九牧可以称得上是面向数字化、智能化、高端化转型的先锋。 就在近日&#xff0c;九牧刚刚举行了一场盛大的第1000万套…
最新文章