传统业务对接AI-AI编程框架-Rasa的业务应用实战(2)--选定Python环境 安装rasa并初始化工程

此篇接续上一篇 传统业务对接AI-AI编程框架-Rasa的业务应用实战(1)--项目背景即学习初衷 

1、Python 环境版本的选择 

我主机上默认的Python环境是3.12.3 (我喜欢保持使用最新版本的工具或框架,当初装python时最新的稳定版本就是这个)

但是用这个版本去安装Rasa并不合适,因为最新最稳定版本的Rasa并不支持3.12.3 

Rasa 3.6.x 官方推荐的Python环境是 3.8.10

安装完并切换到3.8.10以后,还要把pip更新到最新版本(这一步很重要不能省),更新命令:

python -m pip install --upgrade pip

>>>>> 注意,更新完要重启命令行环境  <<<<<

此处强烈建议通过Python的版本管理工具pyenv来进行工程本地环境python版本的切换。

具体可以参照我这一篇文章:pyenv的常用命令


2、Rasa 版本选用 Rasa 3.6.21 (为什么选择这个版本参考我的这篇初学者选择rasa版本文章)

源可以选用阿里云的,也可以选用官方的(需要网络健全)

#阿里云的rasa源
https://mirrors.aliyun.com/pypi/simple #官方的rasa源
https://pypi.org/simple

 3、工程目录里需要开启Python虚拟环境

启动命令行窗口即PowerShell 或者 IDE的终端(如PyCharm的Terminal),切换到工作目录,在工作目录下执行:

python -m venv venv

此步命令的含义详细描述如下:

  • 命令:python -m venv venv

  • 作用:在当前目录下创建一个名为 venv 的 虚拟环境。(后续虚拟环境还需要激活,见下文)

  • 解释:

    • python:调用你系统中安装的 Python 解释器(确保是 Python 3.8-3.10,因为 Rasa 兼容这些版本)。

    • -m venv:告诉 Python 运行 venv 模块(Python 内置的虚拟环境工具)。

    • venv:指定虚拟环境的文件夹名称(这里命名为 venv,你可以改成其他名字,如 myenv)。

  • 效果:

    • 在你的项目目录(rasa-invoice-bot)下生成一个 venv 文件夹,包含一个独立的 Python 环境,包括:

      • 独立的 Python 可执行文件。

      • 独立的 site-packages 目录,用于安装项目依赖(如 Rasa)。

    • 虚拟环境隔离了系统全局的 Python 环境,避免不同项目之间的库版本冲突。

为什么需要:

  • Rasa 需要特定的依赖(如 tensorflow、spacy),可能与其他项目冲突。

  • 虚拟环境确保你的 Rasa 项目使用独立的库版本,不会影响系统或其他项目。

 激活刚刚创建的python虚拟环境

Linux: source venv/bin/activate(Windows: venv\Scripts\activate)

含义

  • 命令:

    • Linux/Mac:source venv/bin/activate

    • Windows:venv\Scripts\activate

  • 作用:激活虚拟环境,让你的终端使用 venv 文件夹中的 Python 和依赖,而不是系统全局的 Python。

  • 解释:

    • source(Linux/Mac):Linux/Mac 系统中运行脚本的命令,加载 venv/bin/activate 脚本。

    • venv/bin/activate:激活脚本,修改终端的 PATH 环境变量,指向虚拟环境的 Python 和 pip。

    • Windows 替代:Windows 使用 venv\Scripts\activate,直接运行激活脚本(无需 source)。

  • 效果:

    • 激活后,终端提示符前会出现 (venv),表示虚拟环境已启用。

    • 运行 python 或 pip 时,会使用 venv 中的 Python 和 pip,而不是系统全局的。

    • 示例:

      • 激活前:pip list 显示系统全局的库。

      • 激活后:pip list 只显示虚拟环境中的库(初始为空或仅少数默认库)。

  • 为什么需要:

    • 确保 pip install rasa 安装到虚拟环境中,而不是全局 Python。

    • 避免污染系统环境,保持项目依赖干净。

四、安装并初始化Rasa

请按以下步骤操作(以powershell终端为例):

  1. 确认虚拟环境:

    cd D:\private-projects\Ai-for-Biz
    .\venv\Scripts\activate
    python --version
    pip --version
  2. 安装Rasa 3.6.21:

    pip install rasa==3.6.21 -i https://mirrors.aliyun.com/pypi/simple
    rasa --version
  3. 初始化项目:

    rasa init
    dir 

安装过程中有可能会遇到报错,比如下面这种,遇到什么错就解决什么错就好了。 

 Collecting psycopg2-binary<2.10.0,>=2.8.2 (from rasa==3.6.21) Downloading https://mirrors.aliyun.com/pypi/packages/cb/0e/bdc8274dc0585090b4e3432267d7be4dfbfd8971c0fa59167c711105a6bf/psycopg2-binary-2.9.10.tar.gz (385 kB) Installing build dependencies ... done Getting requirements to build wheel ... error error: subprocess-exited-with-error × Getting requirements to build wheel did not run successfully. │ exit code: 1 ╰─> [21 lines of output] running egg_info writing psycopg2_binary.egg-info\PKG-INFO writing dependency_links to psycopg2_binary.egg-info\dependency_links.txt writing top-level names to psycopg2_binary.egg-info\top_level.txt

我遇到的就只有上面这1处错误,解决办法是:安装psycopg2-binary这个包。命令如下:

pip install psycopg2-binary==2.9.9 -i https://mirrors.aliyun.com/pypi/simple

解决完安装好并初始化以后,rasa的搭建工作就大功告成了。

可以测试下了:(下图命令是启动rasa的壳程序,即命令行交互模型的运行)

rasa shell

你可以与AI简单对话了:

2025-06-03 16:58:39 INFO root - Rasa server is up and running. Bot loaded. Type a message and press enter (use '/stop' to exit):

Your input -> Hello

Hey! How are you?

Your input -> Fine

... 

Your input -> 

OK  到这一步本章环节就顺利结束。 

备注:

在启动壳程序的时候,所有的提示选择直接回车选择默认就可以。如下:

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

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

相关文章

Ubuntu22.04安装MinkowskiEngine

MinkowskiEngine简介 Minkowski引擎是一个用于稀疏张量的自动微分库。它支持所有标准神经网络层&#xff0c;例如对稀疏张量的卷积、池化和广播操作。 MinkowskiEngine安装 官方源码链接&#xff1a;GitHub - NVIDIA/MinkowskiEngine: Minkowski Engine is an auto-diff neu…

高等数学基础(矩阵基本操作转置和逆矩阵)

矩阵是否相等 若 A A A和 B B B为同型矩阵且对应位置的各个元素相同, 则称矩阵 A A A和 B B B相等 在Numpy中, 可以根据np.allclose()来判断 import numpy as npA np.random.rand(4, 4) # 生成一个随机 n x n 矩阵B A A.Tprint("矩阵是否相等&#xff1a;", np…

网络爬虫一课一得

网页爬虫&#xff08;Web Crawler&#xff09;是一种自动化程序&#xff0c;通过模拟人类浏览行为&#xff0c;从互联网上抓取、解析和存储网页数据。其核心作用是高效获取并结构化网络信息&#xff0c;为后续分析和应用提供数据基础。以下是其详细作用和用途方向&#xff1a; …

MATLAB实现井字棋

一、智能决策系统与博弈游戏概述 &#xff08;一&#xff09;智能决策系统核心概念 智能决策系统&#xff08;Intelligent Decision System, IDS&#xff09;是通过数据驱动和算法模型模拟人类决策过程的计算机系统&#xff0c;核心目标是在复杂环境中自动生成最优策略&#…

解决el-select选择框右侧下拉箭头遮挡文字问题

如图所示&#xff1a; el-select长度较短的时候&#xff0c;选择框右侧下拉箭头会遮挡选中的数据 选中数据被遮挡 解决办法&#xff1a; 组件如下&#xff1a; <td class"fmtd" :colspan"col.ptproCupNum" v-for"col in row" :key"…

【Linux】pthread多线程同步

参考文章&#xff1a;https://blog.csdn.net/Alkaid2000/article/details/128121066 一、线程同步 线程的主要优势在于&#xff0c;能够通过全局变量来共享信息。不过&#xff0c;这种便携的共享是有代价的&#xff1b;必须确保多个线程不会同时修改同一变量&#xff0c;或者某…

Spring框架学习day7--SpringWeb学习(概念与搭建配置)

SpringWeb1.SpringWeb特点2.SpringWeb运行流程3.SpringWeb组件4.搭建项目结构图&#xff1a;4.1导入jar包4.2在Web.xml配置**4.2.1配置统一拦截分发器 DispatcherServlet**4.2.2开启SpringWeb注解&#xff08;spring.xml&#xff09; 5.处理类的搭建6.SpringWeb请求流程(自己理…

业务到解决方案构想

解决方案构想的核心理解 解决方案构想是连接业务需求与技术实现的关键桥梁&#xff0c;从您描述的内容和我的理解&#xff0c;这个阶段的核心点包括&#xff1a; 核心要点解读 转化视角&#xff1a;将业务视角的需求转变为解决方案视角 业务能力探索阶段识别了"做什么&q…

jvm学习第1day jvm简介,栈溢出、堆溢出

jvm学习第1day jvm简介&#xff0c;栈溢出、堆溢出 jvm简介栈线程安全栈溢出线程运行诊断堆堆溢出 方法区方法区内存溢出常量池和运行时常量池 jvm简介 jvm 是编译后的字节码文件运行的环境&#xff0c; 因此各个平台有了jvm可以运行java.class文件&#xff0c;这是Java跨平台…

关于神经网络中的激活函数

这篇博客主要介绍一下神经网络中的激活函数以及为什么要存在激活函数。 首先&#xff0c;我先做一个简单的类比&#xff1a;激活函数的作用就像给神经网络里的 “数字信号” 加了一个 “智能阀门”&#xff0c;让机器能学会像人类一样思考复杂问题。 没有激活i函数的神经网络…

免费无限使用GPT Plus、Claude Pro、Grok Super、Deepseek满血版

渗透智能-ShirtAI&#xff0c;可以免费无限使用GPT Plus、Claude Pro、Grok Super、Deepseek满血版、除此之外还能免费使用AI搜索、Gemini AI、AI照片修复、AI橡皮擦、AI去背景、AI智能抠图、AI证件照、OCR识别、在线思维导图、在线绘图工具、PDF工具箱、PDF翻译。 传送入口&a…

阿里云 Linux 搭建邮件系统全流程及常见问题解决

阿里云 Linux 搭建 [conkl.com]邮件系统全流程及常见问题解决 目录 阿里云 Linux 搭建 [conkl.com]邮件系统全流程及常见问题解决一、前期准备&#xff08;关键配置需重点检查&#xff09;1.1 服务器与域名准备1.2 系统初始化&#xff08;必做操作&#xff09; 二、核心组件安装…

python版若依框架开发:项目结构解析

python版若依框架开发 从0起步&#xff0c;扬帆起航。 python版若依部署代码生成指南&#xff0c;迅速落地CURD&#xff01;项目结构解析 文章目录 python版若依框架开发前端后端 前端 后端

RabbitMQ 的异步化、解耦和流量削峰三大核心机制

RabbitMQ 的异步化、解耦和流量削峰三大核心机制 RabbitMQ 是解决数据库高并发问题的利器&#xff0c;通过异步化、解耦和流量削峰三大核心机制保护数据库。下面从设计思想到具体实现&#xff0c;深入剖析 RabbitMQ 应对高并发的完整方案&#xff1a; 一、数据库高并发核心痛点…

前端没有“秦始皇“,但可以做跨端的王[特殊字符]

前端各领域的 “百家争鸣” 框架之争&#xff1a;有 React、Vue、Angular 等多种框架。它们各有优缺点&#xff0c;开发者之间还存在鄙视链&#xff0c;比如 Vue 嫌 React 难用&#xff0c;React 嫌 Vue 不够灵活。样式处理&#xff1a; CSS 预处理器&#xff1a;像 Sass、Les…

Spring Boot-面试题(52)

摘要&#xff1a; 1、通俗易懂&#xff0c;适合小白 2、仅做面试复习用&#xff0c;部分来源网络&#xff0c;博文免费&#xff0c;知识无价&#xff0c;侵权请联系&#xff01; 1. 什么是 Spring Boot 框架&#xff1f; Spring Boot 是基于 Spring 框架的快速开发框架&#…

JVM——JVM中的字节码:解码Java跨平台的核心引擎

引入 在Java的技术版图中&#xff0c;字节码&#xff08;Bytecode&#xff09;是连接源代码与机器世界的黄金桥梁。当开发者写下第一行public class HelloWorld时&#xff0c;编译器便开始了一场精密的翻译工程——将人类可读的Java代码转化为JVM能够理解的字节码指令。这些由…

Java中的JSONObject详解:从基础到高级应用

Java中的JSONObject详解&#xff1a;从基础到高级应用 在当今前后端分离的架构中&#xff0c;JSONObject已成为Java开发者处理JSON数据的瑞士军刀。本文将深入解析JSONObject的核心机制与实战技巧。 一、JSONObject的本质与实现库 1.1 核心定位 JSONObject是Java中表示JSON对…

在 SpringBoot+Tomcat 环境中 线程安全问题的根本原因以及哪些变量会存在线程安全的问题。

文章目录 前言Tomcat SpringBoot单例加载结果分析多例加载&#xff1a;结果分析&#xff1a; 哪些变量存在线程安全的问题&#xff1f;线程不安全线程安全 总结 前言 本文带你去深入理解为什么在web环境中(Tomcat SpringBoot)会存在多线程的问题以及哪些变量会存在线程安全的…

npm install 相关命令

npm install 相关命令 基本安装命令 # 安装 package.json 中列出的所有依赖 npm install npm i # 简写形式# 安装特定包 npm install <package-name># 安装特定版本 npm install <package-name><version>依赖类型选项 # 安装为生产依赖&#xff08;默认&…