大模型時(shí)代,安全問(wèn)題不容小覷。但如果把大模型比作孫悟空,那 NVIDIA NeMo Guardrails 就是“安全護(hù)欄”,可以輕松的為基于 LLM 的對(duì)話系統(tǒng)添加可編程護(hù)欄,來(lái)避免大語(yǔ)言模型輸出違法違規(guī)內(nèi)容,并通過(guò)自定義方式響應(yīng)用戶特定請(qǐng)求,按照預(yù)定義的對(duì)話路徑進(jìn)行操作,以及使用特定的語(yǔ)言風(fēng)格進(jìn)行回答。
那如何在 Azure 中搭建 NeMo Guardrails 環(huán)境,將 NeMo Guardrails 與 Azure OpenAI 結(jié)合使用,構(gòu)建更加安全可靠的 LLM 對(duì)話引擎?本期【比特熊充電棧】NVIDIA 企業(yè)級(jí)開(kāi)發(fā)者社區(qū)經(jīng)理李奕澎,將為大家解讀 NeMo Guardrails 中的 Colang 語(yǔ)言,以及進(jìn)行將 NeMo Guardrails 與 Azure OpenAI 結(jié)合使用的代碼實(shí)戰(zhàn),見(jiàn)證安全 LLM 對(duì)話引擎的構(gòu)建。

李奕澎
NVIDIA 企業(yè)級(jí)開(kāi)發(fā)者社區(qū)經(jīng)理
NLP,Conversational-AI,LLM
Colang 語(yǔ)言
定義 LLM 對(duì)話引擎
NeMo Guardrails 中的 Colang 語(yǔ)言,是一種用于對(duì)話式人工智能的建模語(yǔ)言,能夠定義護(hù)欄。它的目標(biāo)是為用戶提供一個(gè)可讀可擴(kuò)展的,使用自然語(yǔ)言定義或控制對(duì)話機(jī)器人的行為的語(yǔ)言。
Colang 語(yǔ)言已經(jīng)作為 NeMo Guardrails 的內(nèi)核來(lái)使用。Colang 語(yǔ)言像電影的編劇,用戶和機(jī)器人是演員,通過(guò) Colang 語(yǔ)言,可以定義用戶的信息、機(jī)器人信息和 Flow,把機(jī)器話語(yǔ)和用戶話語(yǔ)進(jìn)行對(duì)話邏輯上的連接。
Colang 語(yǔ)言中常用的關(guān)鍵詞包括 bot, break, continue, create, define 等,能夠幫助開(kāi)發(fā)快速上手使用,降低對(duì)話式 AI 領(lǐng)域的學(xué)習(xí)門檻。

NeMo Guardrails 與 Azure OpenAl 的結(jié)合使用
搭建 LLM 對(duì)話引擎
在上一期【比特熊充電棧】中,已經(jīng)詳細(xì)解讀了在 Azure 中搭建 NeMo Guardrails 環(huán)境的步驟,包括申請(qǐng) Azure 賬號(hào),開(kāi)通 Azure Machine Learning 服務(wù),安裝 OpenAI、NeMo Guardrails,開(kāi)通 Azure OpenAI 服務(wù)等。搭建完成后,才能將 NeMo Guardrails 與 Azure OpenAl 結(jié)合使用。
NeMo Guardrails 與 AzureOpenAl 結(jié)合使用,構(gòu)建更加安全可靠的LLM對(duì)話引擎,還需要通過(guò)以下步驟進(jìn)行操作:
?導(dǎo)入 NeMo Guardrails 大模型護(hù)欄及 RailsConfig 護(hù)欄配置文件工具類;
?從 langchain 中導(dǎo)入 Azure Chat OpenAI 工具類;
?傳入 Azure OpenAI 的 API-KEY、endpoint、deployment_name、對(duì)應(yīng)的版本信息等關(guān)鍵參數(shù),就可以實(shí)例化一個(gè)大模型;
?調(diào)用 NeMo Guardrails 大模型中的 from_content 變量,讀取 Colang_Config2 文件和 Yaml_Config 配置文件,就可以實(shí)例一個(gè)安全的聊天機(jī)器人 App;
?調(diào)用 App 中的 generate_async 函數(shù),輸入用戶的問(wèn)題語(yǔ)句,機(jī)器人就會(huì)給出對(duì)應(yīng)的回答。

NeMo Guardrails
自定義 LLM 對(duì)話引擎應(yīng)用
NeMo Guardrails 除了支持 Azure OpenAI 外,還支持很多對(duì)話引擎大模型,包括 AI21labs、Cohere、Hugging Face、GPT4All 等。調(diào)用對(duì)話引擎大模型,首先要自定義一個(gè)大語(yǔ)言模型的 class:從 langchain 中導(dǎo)入 BaseLanguageModel,從 NeMo Guardrails 中導(dǎo)入 register_llm_provider,自定義大語(yǔ)言模型的 class 并注冊(cè)。
以 Hugging Face 為例,調(diào)用對(duì)話引擎大模型的步驟如下:
?創(chuàng)建并初始化一個(gè)構(gòu)造函數(shù),調(diào)用父類的構(gòu)造函數(shù)來(lái)初始化這個(gè)類的實(shí)例;
?然后指定大模型的 ID,調(diào)用 HuggingFacePipeline class 中的 from_model_id 函數(shù),輸入對(duì)應(yīng)大模型 id,定義 device、task 和模型參數(shù);
?然后定義返回、自定義函數(shù),以字符串的形式返回大語(yǔ)言模型的類型,在 langchain 中分別同步調(diào)用和異步調(diào)用自定義 LLM。

-
微軟
+關(guān)注
關(guān)注
4文章
6741瀏覽量
107852 -
NVIDIA
+關(guān)注
關(guān)注
14文章
5592瀏覽量
109722 -
OpenAI
+關(guān)注
關(guān)注
9文章
1245瀏覽量
10064 -
大模型
+關(guān)注
關(guān)注
2文章
3650瀏覽量
5179 -
LLM
+關(guān)注
關(guān)注
1文章
346瀏覽量
1329
原文標(biāo)題:【比特熊充電棧】實(shí)戰(zhàn)演練構(gòu)建 LLM 對(duì)話引擎
文章出處:【微信號(hào):mstech2014,微信公眾號(hào):微軟科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
芯盾時(shí)代如何破局LLM供應(yīng)鏈漏洞危機(jī)
小藝開(kāi)放平臺(tái)平臺(tái)功能
NVIDIA TensorRT Edge-LLM在汽車與機(jī)器人行業(yè)的落地應(yīng)用
六博光電設(shè)備參演 “通信使命-2025”國(guó)家應(yīng)急通信演練,核心技術(shù)亮相國(guó)家應(yīng)急通信交流會(huì)議
NVIDIA TensorRT LLM 1.0推理框架正式上線
廣和通發(fā)布端側(cè)情感對(duì)話大模型FiboEmo-LLM
米爾RK3576部署端側(cè)多模態(tài)多輪對(duì)話,6TOPS算力驅(qū)動(dòng)30億參數(shù)LLM
森林防滅實(shí)戰(zhàn)告捷!卓翼智能長(zhǎng)白山首演“空天地一體”集群滅火
實(shí)戰(zhàn)演練:使用相機(jī)氣密性檢測(cè)儀進(jìn)行防水測(cè)試
從戶外弱網(wǎng)到指揮大屏 | 千視P3+D350護(hù)航防汛演練全程直播
【書籍評(píng)測(cè)活動(dòng)NO.61】Yocto項(xiàng)目實(shí)戰(zhàn)教程:高效定制嵌入式Linux系統(tǒng)
全棧開(kāi)發(fā)進(jìn)階指南:LuatOS-log庫(kù)從入門到實(shí)戰(zhàn)!
小白學(xué)大模型:從零實(shí)現(xiàn) LLM語(yǔ)言模型
詳解 LLM 推理模型的現(xiàn)狀
【比特熊充電棧】實(shí)戰(zhàn)演練構(gòu)建LLM對(duì)話引擎
評(píng)論