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

M

点击蓝字 / 微软开发者MSDN

关注我们

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

那如何在 Azure 中搭建 NeMo Guardrails 环境,将 NeMo Guardrails 与 Azure OpenAI 结合使用,构建更加安全可靠的 LLM 对话引擎?

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

李奕澎

NVIDIA 企业级开发者社区经理

NLP,Conversational-AI,LLM

Colang 语言

定义 LLM 对话引擎

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

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

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

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 函数,输入用户的问题语句,机器人就会给出对应的回答。

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。

想了解更多 NeMo Guardrails 与 Azure OpenAl 结合使用的干货,点击文末“阅读原文”,回看本期【比特熊充电栈】获取。

【比特熊充电栈】是【比特熊直播间】以技术为导向的“真”直播栏目。邀请微软内部工程师、微软 MVP 团队、微软技术合作伙伴一起解析热门技术并提供“手把手”演示教学。直播内容按照技术类别划分系列,为大家设计与产品和技术应用相关的本地化课程。针对不同学习需求的技术入门者和经验开发人。概念科普、系统带练双输出,直播讲解、实时提问高效获取。

比特熊直播间,只做真直播

加入【比特熊粉丝后援会】

获取 NeMo Guardrails 自定义 LLM 使用的实操代码和操作指南

与开发者一起嗨聊,期待成为你的好友~

点击「阅读原文」回看本期【比特熊充电栈】返回搜狐,查看更多

阅读 ()
平台声明
该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。