中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

大連百度關(guān)鍵詞優(yōu)化張家界百度seo

大連百度關(guān)鍵詞優(yōu)化,張家界百度seo,上海哪家做網(wǎng)站關(guān)鍵詞排名,贛州網(wǎng)站網(wǎng)站建設(shè)本文以報時機器人為載體,介紹了報時機器人的對話能力范圍、配置文件功能和訓(xùn)練和運行命令,重點介紹了rasa shell命令啟動后的程序執(zhí)行過程。 一.報時機器人項目結(jié)構(gòu) 1.對話能力范圍 (1)能夠識別歡迎語意圖(greet)和拜拜意圖(goodbye) (2)能夠識別時間意…

??本文以報時機器人為載體,介紹了報時機器人的對話能力范圍、配置文件功能和訓(xùn)練和運行命令,重點介紹了rasa shell命令啟動后的程序執(zhí)行過程。

一.報時機器人項目結(jié)構(gòu)

1.對話能力范圍

(1)能夠識別歡迎語意圖(greet)和拜拜意圖(goodbye)
(2)能夠識別時間意圖(query_time)
(3)能夠識別日期意圖(query_date)
(4)能夠識別星期幾意圖(query_weekday)

2.配置文件功能

(1)nlu.yml:主要包含意圖、例子、對實體的標(biāo)注等。
(2)stories.yml文件:用戶和機器人之間對話的表示,用戶輸入意圖,機器人響應(yīng)action。
(3)actions.py:自定義的action,比如action_query_time、action_query_date、action_query_weekday。
(4)config.yml:主要包含nlu(分詞、特征提取和分類等)和dialog policy(記憶、規(guī)則、機器學(xué)習(xí)等)。
(5)domain.yml:主要包含意圖、視圖、槽位、響應(yīng)、動作等。
(6)credentials.yml:主要和其它對話平臺集成,比如facebook、slack等。
(7)endpoints.yml:action_endpoint(調(diào)用自定義action)、tracker_store對話存儲(內(nèi)存、redis、mongodb等)、event_broker消息隊列(RabbitMQ、Kafka等)。

3.訓(xùn)練和運行命令

(1)訓(xùn)練模型
使用NLU數(shù)據(jù)和stories訓(xùn)練模型,模型保存在./models中。

rasa train

說明:關(guān)于如何把數(shù)據(jù)集按照比例拆分為訓(xùn)練集和測試集,在訓(xùn)練集上訓(xùn)練模型,在測試集上測試模型,可以參考《聊天機器人框架Rasa資源整理》。
(2)啟動action服務(wù)器
使用Rasa SDK開啟action服務(wù)器。

rasa run actions

(3)啟動rasa服務(wù)器和客戶端
通過命令行的方式加載訓(xùn)練模型,然后同聊天機器人進行對話。

rasa shell

二.rasa shell執(zhí)行流程分析

??整體思路是通過rasa shell加載和解析模型,通過消息處理的方式建立起用戶(客戶端)和聊天機器人(rasa服務(wù))對話的橋梁。

1.rasa/cli/shell.py文件

??在rasa/cli/shell.py文件中,def shell(args: argparse.Namespace) -> None函數(shù)如下:

2.rasa/cli/run.py文件

??在rasa/cli/run.py文件中,def run(args: argparse.Namespace) -> None函數(shù)如下:

3.rasa/api.py文件

??在rasa/api.py文件中,def run(...) -> None函數(shù)如下:

??在run()函數(shù)中調(diào)用serve_application()函數(shù)如下:

4.rasa/core/run.py文件

??在rasa/core/run.py文件中,serve_application()函數(shù)如下:

??在serve_application()函數(shù)中啟動了一個基于Sanic的Web服務(wù)器,通過configure_app()方法構(gòu)建了app,然后通過run()方法啟動,如下所示:

app = configure_app(input_channels,cors,auth_token,enable_api,response_timeout,jwt_secret,jwt_method,port=port,endpoints=endpoints,log_file=log_file,conversation_id=conversation_id,use_syslog=use_syslog,syslog_address=syslog_address,syslog_port=syslog_port,syslog_protocol=syslog_protocol,request_timeout=request_timeout,)
......    
app.run(host=interface,port=port,ssl=ssl_context,backlog=int(os.environ.get(ENV_SANIC_BACKLOG, "100")),workers=number_of_workers,)

??通過register_listener(listener, event)注冊給定事件的偵聽器:

app.register_listener(partial(load_agent_on_start, model_path, endpoints, remote_storage), "before_server_start",)
app.register_listener(close_resources, "after_server_stop")

5.rasa/core/agent.py文件

??通過load_agent_on_start()方法加載一個agent。在rasa/core/agent.py文件中,load_agent()函數(shù)如下所示:

??在load_agent()函數(shù)中,加載模型代碼是agent.load_model(model_path)。在Agent類的def load_model()方法中,關(guān)于初始化MessageProcessor代碼如下:

self.processor = MessageProcessor(model_path=model_path,tracker_store=self.tracker_store,lock_store=self.lock_store,action_endpoint=self.action_endpoint,generator=self.nlg,http_interpreter=self.http_interpreter,
)

加載模型的代碼如下:

logger.info(f"Loading model {model_tar}...")
with tempfile.TemporaryDirectory() as temporary_directory:try:metadata, runner = loader.load_predict_graph_runner(Path(temporary_directory),Path(model_tar),LocalModelStorage,DaskGraphRunner,)return os.path.basename(model_tar), metadata, runnerexcept tarfile.ReadError:raise ModelNotFound(f"Model {model_path} can not be loaded.")

6.rasa/engine/loader.py文件

??在rasa/engine/loader.py文件中,def load_predict_graph_runner()函數(shù)如下:

三.遇到的問題和說明

1.如何用PyCharm調(diào)試Rasa項目

解析:一種是基于Script path的調(diào)試方法,一種是基于Module name的調(diào)試方法。這里介紹前者如下所示:

(1)Script Path:安裝rasa類庫的__main__.py文件路徑。
(2)Parameters:rasa的各種cli,比如train、test、shell等。
(3)Working directory:安裝rasa類庫的根目錄。
說明:因為rasa類庫依賴類庫太多導(dǎo)致系統(tǒng)環(huán)境混亂,所示建議使用虛擬環(huán)境進行rasa類庫安裝。

2.NoConsoleScreenBufferError

解析:exception=NoConsoleScreenBufferError(‘No Windows console found. Are you running cmd.exe?’)

3.模型20220915-081548-honest-yield.tar.gz

解析:由metadata.json文件和components文件夾組成,后者和config.yml內(nèi)容密切相關(guān),如下所示:

4.Sanic框架

解析:Sanic是一個高性能異步的Web框架。

5.asyncio庫

解析:它的編程模型是一個消息循環(huán),關(guān)鍵字涉及event_loop、coroutine、task、future、async/await等。

??本文只是簡要的介紹了rasa shell命令啟動后的程序執(zhí)行過程,但是對于加載模型后如何解析模型構(gòu)建圖,以及用戶輸入后,消息如何通過模型(nlu和dialog policy)得到輸出并沒有介紹,后面寫篇文章專門介紹。

參考文獻:
[1]Rasa實戰(zhàn):構(gòu)建開源對話機器人
[2]Sanic官方文檔:https://www.osgeo.cn/sanic/
[3]asyncio庫異步I/O:https://docs.python.org/3.7/library/asyncio.html
[4]聊天機器人框架Rasa資源整理

http://www.risenshineclean.com/news/43513.html

相關(guān)文章:

  • 用vs怎么做網(wǎng)站的導(dǎo)航seo是什么化學(xué)名稱
  • 中國建設(shè)銀行貴州省分行網(wǎng)站網(wǎng)站優(yōu)化排名
  • 撫順市建設(shè)局網(wǎng)站關(guān)鍵詞優(yōu)化怎么操作
  • 360客戶如何做網(wǎng)站推廣長尾關(guān)鍵詞愛站
  • 網(wǎng)站交互式網(wǎng)站推廣引流最快方法
  • 網(wǎng)站后臺模板 php網(wǎng)站排名優(yōu)化培訓(xùn)課程
  • 響應(yīng)式電商網(wǎng)站網(wǎng)站開發(fā)的基本流程
  • 做搞機網(wǎng)站電子商務(wù)網(wǎng)站建設(shè)論文
  • 網(wǎng)站搭建上海搜索引擎優(yōu)化是做什么
  • 天津網(wǎng)站推廣方法今日頭條熱搜榜
  • 網(wǎng)站開發(fā)怎么對接客戶app運營方案策劃
  • 自己做網(wǎng)站頁面長沙市seo百度關(guān)鍵詞
  • 商務(wù)網(wǎng)站建設(shè)工程師網(wǎng)絡(luò)銷售是干嘛的
  • 企業(yè)怎么做網(wǎng)絡(luò)推廣拼多多seo搜索優(yōu)化
  • 用easyui皮膚做漂亮的網(wǎng)站軟件培訓(xùn)班學(xué)費多少
  • 網(wǎng)站標(biāo)題關(guān)鍵詞堆砌廣告營銷推廣
  • 云南做公司網(wǎng)站多少錢域名推薦
  • wordpress授權(quán)登錄界面深圳百度seo怎么做
  • 服務(wù)器如何做網(wǎng)站網(wǎng)絡(luò)推廣seo是什么
  • 濟南做網(wǎng)站最好的單位產(chǎn)品營銷軟文
  • 做視頻網(wǎng)站免費觀看愛企業(yè)自助建站
  • 塘廈鎮(zhèn)仿做網(wǎng)站接app推廣的單子在哪接
  • 正能量網(wǎng)站免費下載北京網(wǎng)訊百度科技有限公司
  • 網(wǎng)站的建設(shè)參考文獻正規(guī)排名網(wǎng)站推廣公司
  • 如何做網(wǎng)站制作seo的定義
  • 怎么利用云盤建設(shè)網(wǎng)站新聞稿發(fā)布軟文平臺
  • 服裝企業(yè)營銷網(wǎng)站建設(shè)百度推廣后臺登錄首頁
  • 重慶哪里可以做網(wǎng)站的seo整站優(yōu)化新站快速排名
  • 個人網(wǎng)站策劃書怎么做seo推廣排名重要嗎
  • 企業(yè)網(wǎng)站關(guān)鍵詞優(yōu)化排名應(yīng)該怎么做電商平臺運營方案