【比特熊充电栈】实战演练构建LLM对话引擎

描述

大模型时代,安全问题不容小觑。但如果把大模型比作孙悟空,那 NVIDIA NeMo Guardrails 就是“安全护栏”,可以轻松的为基于 LLM 的对话系统添加可编程护栏,来避免大语言模型输出违法违规内容,并通过自定义方式响应用户特定请求,按照预定义的对话路径进行操作,以及使用特定的语言风格进行回答。

如何在 Azure 中搭建 NeMo Guardrails 环境,将 NeMo Guardrails 与 Azure OpenAI 结合使用,构建更加安全可靠的 LLM 对话引擎?本期【比特熊充电栈】NVIDIA 企业级开发者社区经理李奕澎,将为大家解读 NeMo Guardrails 中的 Colang 语言,以及进行将 NeMo Guardrails 与 Azure OpenAI 结合使用的代码实战,见证安全 LLM 对话引擎的构建。

OpenAI

李奕澎

NVIDIA 企业级开发者社区经理

NLP,Conversational-AI,LLM

 

Colang 语言

定义 LLM 对话引擎

NeMo Guardrails 中的 Colang 语言,是一种用于对话式人工智能的建模语言,能够定义护栏。它的目标是为用户提供一个可读可扩展的,使用自然语言定义或控制对话机器人的行为的语言。

Colang 语言已经作为 NeMo Guardrails 的内核来使用。Colang 语言像电影的编剧,用户和机器人是演员,通过 Colang 语言,可以定义用户的信息、机器人信息和 Flow,把机器话语和用户话语进行对话逻辑上的连接。

Colang 语言中常用的关键词包括 bot, break, continue, create, define 等,能够帮助开发快速上手使用,降低对话式 AI 领域的学习门槛。

OpenAI

 

NeMo Guardrails 与 Azure OpenAl 的结合使用

搭建 LLM 对话引擎

在上一期【比特熊充电栈】中,已经详细解读了在 Azure 中搭建 NeMo Guardrails 环境的步骤,包括申请 Azure 账号,开通 Azure Machine Learning 服务,安装 OpenAI、NeMo Guardrails,开通 Azure OpenAI 服务等。搭建完成后,才能将 NeMo Guardrails 与 Azure OpenAl 结合使用。

NeMo Guardrails 与 AzureOpenAl 结合使用,构建更加安全可靠的LLM对话引擎,还需要通过以下步骤进行操作:

✦ 导入 NeMo Guardrails 大模型护栏及 RailsConfig 护栏配置文件工具类;

✦ 从 langchain 中导入 Azure Chat OpenAI 工具类;

✦ 传入 Azure OpenAI 的 API-KEY、endpoint、deployment_name、对应的版本信息等关键参数,就可以实例化一个大模型;

✦ 调用 NeMo Guardrails 大模型中的 from_content 变量,读取 Colang_Config2 文件和 Yaml_Config 配置文件,就可以实例一个安全的聊天机器人 App;

✦ 调用 App 中的 generate_async 函数,输入用户的问题语句,机器人就会给出对应的回答。

OpenAI

 

NeMo Guardrails

自定义 LLM 对话引擎应用

NeMo Guardrails 除了支持 Azure OpenAI 外,还支持很多对话引擎大模型,包括 AI21labs、Cohere、Hugging Face、GPT4All 等。调用对话引擎大模型,首先要自定义一个大语言模型的 class:从 langchain 中导入 BaseLanguageModel,从 NeMo Guardrails 中导入 register_llm_provider,自定义大语言模型的 class 并注册。

以 Hugging Face 为例,调用对话引擎大模型的步骤如下:

✦ 创建并初始化一个构造函数,调用父类的构造函数来初始化这个类的实例;

✦ 然后指定大模型的 ID,调用 HuggingFacePipeline class 中的 from_model_id 函数,输入对应大模型 id,定义 device、task 和模型参数;

✦ 然后定义返回、自定义函数,以字符串的形式返回大语言模型的类型,在 langchain 中分别同步调用和异步调用自定义 LLM。

OpenAI

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分