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

【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.kler.cn/a/159755.html

相关文章:

  • (六)Spark大数据开发实战:豆瓣电影数据处理与分析(scala版)
  • 建筑施工特种作业人员安全生产知识试题
  • Python →爬虫实践
  • Appium配置2024.11.12
  • 不对称信息
  • uni-app中使用 unicloud 云开发平台③
  • 浏览器的favicon.icon 消失不见解决方案
  • 浏览器判断某一个 ip 是否与其在同一个局域网的几种方式
  • S120和PLC通讯设置
  • EDW国际数据管理最新趋势(二)|信息供应链与数据
  • 人类长寿新突破背后:“原知因”成为炙手可热新课题
  • heatmap.js热力图【vue3】
  • 【开题报告】基于SpringBoot的农场管理系统的设计与实现
  • 用OpenCV与MFC写一个图像格式转换及简单处理程序
  • Win11安装Docker
  • 【数据库】数据库多种锁模式,共享锁、排它锁,更新锁,增量锁,死锁消除与性能优化
  • 二叉树链式结构的实现——C语言
  • PG 常用维护性 SQL
  • git报错invalid object xxx和unable to read tree xxxxxx
  • 播放器开发(六):音频帧处理并用SDL播放
  • 三部曲法求未定式极限中的1无穷次方型
  • 【探索Linux】—— 强大的命令行工具 P.20(多线程 | 线程互斥 | 互斥锁 | 死锁 | 资源饥饿)
  • 【教程】Conda更换镜像源安装pytorch
  • Git篇如何搭建自己的git仓库
  • 前端知识笔记(二十五)———JS中的异步编程与Promise
  • 如何给自己的网站加密