傳統業務對接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
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/83740.shtml
英文地址,請注明出處:http://en.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;默認&…