Rasa智能客服機器人win10環境安裝避坑總結


一、環境配置自查:

  • 操作系統:window10
  • 顯卡:gtx1080,8G顯存
  • cuda版本10.1,查看命令如下:

  C:\Users\marso>nvcc --version
  nvcc: NVIDIA (R) Cuda compiler driver
  Copyright (c) 2005-2019 NVIDIA Corporation
  Built on Sun_Jul_28_19:12:52_Pacific_Daylight_Time_2019
  Cuda compilation tools, release 10.1, V10.1.243

  • cuDNN版本7.6.5,查看命令如下:

  進入 CUDA 的安裝目錄查看文件 cudnn.h :(注意修改v10.1)

  C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\include\cudnn.h

  如下所示,cuDNN 版本為 7.6.5 :

 

 

 

 

 

 

 

 

  • python版本:3.7.6
  • rasa版本:2.3.3
  • numpy版本必須是:1.16.5,這樣才能同時滿足,rasa和tensorflow和transfromers的要求
  • transfromers版本:4.2.0

二、rasa 安裝

用anaconda創建一個rasa的環境虛擬環境

conda create -n rasa python=3.7.6

其中環境env名為:rasa ,python版本3.7.6,創建好后,激活python環境:

activate rasa  

由於rasa是包比較大,為了加快安裝速度,先設置包的國內鏡像,cuda配置代碼如下:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

進入,rasa安裝命令如下:

pip install rasa==2.3.3

安裝完成后,初始化rasa,命令如下:

rasa init

接下來安裝可視化創建客服機器人的工具rasa-x,這里下載比較慢,所以需要用到后備鏡像:

pip3 install -i  https://pypi.rasa.com/simple rasa-x==0.37.0 --extra-index-url https://pypi.tuna.tsinghua.edu.cn/simple --use-deprecated=legacy-resolver

 其中-i 表示要用后面的鏈接為首選包下載源,因為rasa-x沒有發到pypi里面,所以它本身的包必須從官網上去下載,比較慢;

--extra-index-url代表后備鏡像源,其他rasa-x依賴的包都用這個源進行下載,比較快
--use-deprecated=legacy-resolver 因為有版本沖突,如果沒加這個參數會進入死循環找版本,一直出現: pip is looking at multiple versions of urllib3 to determine which version is compatible with other requirements. This could take a while.

 

bert-base-multilingual-cased 下載地址:https://mirrors.tuna.tsinghua.edu.cn/hugging-face-models/?C=N&O=D

 問題:

1、編碼問題,在rasax 中保存story的時候有中文就報錯,沒有就可以直接保持到stories.yml文件中去,錯誤信息:

Traceback (most recent call last):
  File "f:\miniconda3\envs\rasa\lib\site-packages\rasa\shared\utils\io.py", line 122, in read_file
    return f.read()
  File "f:\miniconda3\envs\rasa\lib\codecs.py", line 322, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcd in position 8635: invalid continuation byte

   解決方法:其實文件讀方法沒有問題,加了encoding編碼指定的,問題出在寫入臨時文件的是未指定編碼,修改:rasax\community\services\story_service.py文件的128行,如下紅色部分:

with tempfile.NamedTemporaryFile(mode="w", encoding='utf-8', delete=False) as f:
            temp_path = f.name
            f.write(story_string)

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM