0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

微软科技 2023-09-19 13:40 次阅读

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

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

8c70f784-56ae-11ee-939d-92fbcf53809c.png

李奕澎

NVIDIA 企业级开发者社区经理

NLP,Conversational-AI,LLM

Colang 语言

定义 LLM 对话引擎

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

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

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

8c8fd7c6-56ae-11ee-939d-92fbcf53809c.png

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

8cce70ee-56ae-11ee-939d-92fbcf53809c.png

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。

8d01f4d2-56ae-11ee-939d-92fbcf53809c.png

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

    关注

    4

    文章

    6577

    浏览量

    103980
  • NVIDIA
    +关注

    关注

    14

    文章

    4952

    浏览量

    102861
  • OpenAI
    +关注

    关注

    9

    文章

    1052

    浏览量

    6426
  • 大模型
    +关注

    关注

    2

    文章

    2354

    浏览量

    2539
  • LLM
    LLM
    +关注

    关注

    0

    文章

    279

    浏览量

    310

原文标题:【比特熊充电栈】实战演练构建 LLM 对话引擎

文章出处:【微信号:mstech2014,微信公众号:微软科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    4G模组Air724UG软件示例:UDP实战演练

    关于4G模组Air724UG软件的UDP示例,今天我将对其实战演练,整理成文示例展示:
    的头像 发表于 11-26 12:10 87次阅读
    4G模组Air724UG软件示例:UDP<b class='flag-5'>实战</b><b class='flag-5'>演练</b>!

    什么是LLMLLM在自然语言处理中的应用

    随着人工智能技术的飞速发展,自然语言处理(NLP)领域迎来了革命性的进步。其中,大型语言模型(LLM)的出现,标志着我们对语言理解能力的一次飞跃。LLM通过深度学习和海量数据训练,使得机器能够以前
    的头像 发表于 11-19 15:32 423次阅读

    LLM技术对人工智能发展的影响

    随着人工智能技术的飞速发展,大型语言模型(LLM)技术已经成为推动AI领域进步的关键力量。LLM技术通过深度学习和自然语言处理技术,使得机器能够理解和生成自然语言,极大地扩展了人工智能的应用范围
    的头像 发表于 11-08 09:28 273次阅读

    新品|LLM Module,离线大语言模型模块

    LLM,全称大语言模型(LargeLanguageModel)。是一种基于深度学习的人工智能模型。它通过大量文本数据进行训练,从而能够进行对话、回答问题、撰写文本等其他任务
    的头像 发表于 11-02 08:08 246次阅读
    新品|<b class='flag-5'>LLM</b> Module,离线大语言模型模块

    llm模型有哪些格式

    LLM(Large Language Model,大型语言模型)是一种深度学习模型,主要用于处理自然语言处理(NLP)任务。LLM模型的格式多种多样,以下是一些常见的LLM模型格式
    的头像 发表于 07-09 09:59 568次阅读

    llm模型和chatGPT的区别

    LLM(Large Language Model)是指大型语言模型,它们是一类使用深度学习技术构建的自然语言处理(NLP)模型。LLM模型可以处理各种语言任务,如文本生成、文本分类、机器翻译等。目前
    的头像 发表于 07-09 09:55 948次阅读

    LLM模型的应用领域

    在本文中,我们将深入探讨LLM(Large Language Model,大型语言模型)的应用领域。LLM是一种基于深度学习的人工智能技术,它能够理解和生成自然语言文本。近年来,随着计算能力的提高
    的头像 发表于 07-09 09:52 542次阅读

    什么是LLMLLM的工作原理和结构

    随着人工智能技术的飞速发展,大型语言模型(Large Language Model,简称LLM)逐渐成为自然语言处理(NLP)领域的研究热点。LLM以其强大的文本生成、理解和推理能力,在文本
    的头像 发表于 07-02 11:45 7118次阅读

    Meta发布基于Code Llama的LLM编译器

    近日,科技巨头Meta在其X平台上正式宣布推出了一款革命性的LLM编译器,这一模型家族基于Meta Code Llama构建,并融合了先进的代码优化和编译器功能。LLM编译器的推出,标志着Meta在人工智能领域的又一重大突破,将
    的头像 发表于 06-29 17:54 1469次阅读

    【算能RADXA微服务器试用体验】+ GPT语音与视觉交互:1,LLM部署

    。环境变量的配置,未来在具体项目中我们会再次提到。 下面我们正式开始项目。项目从输入到输出分别涉及了语音识别,图像识别,LLM,TTS这几个与AI相关的模块。先从最核心的LLM开始。 由于LLAMA3
    发表于 06-25 15:02

    Yellow.ai 推出业界首款 Orchestrator LLM

    无需培训即可产生情景与人性兼具的客户对话 通过准确的查询识别、保留对话历史记录以及跨渠道的无缝上下文切换来解决客户对话中断的问题,Orchestrator LLM 将客户满意度提高了
    的头像 发表于 05-09 10:52 490次阅读

    网络攻防模拟与城市安全演练 | 数字孪生

    在数字化浪潮的推动下,网络攻防模拟和城市安全演练成为维护社会稳定的不可或缺的环节。基于数字孪生技术我们能够在虚拟环境中进行高度真实的网络攻防模拟,为安全专业人员提供实战经验,从而提升应对网络威胁的能力。同时,在城市安全演练中通过
    的头像 发表于 02-04 10:48 649次阅读
    网络攻防模拟与城市安全<b class='flag-5'>演练</b> | 数字孪生

    使用LwIP协议浅析实战分析(i.MX RT)

    LWIP协议与网络分层 LwIP(Light weight IP),是一种轻量化且开源的TCP/IP协议,它可以在有限的RAM和ROM条件下,实现一个完整的TCP/IP 协议。此外,LwIP
    的头像 发表于 02-02 17:05 1635次阅读
    使用LwIP协议<b class='flag-5'>栈</b>浅析<b class='flag-5'>实战</b>分析(i.MX RT)

    鸿蒙开发实战-手写文心一言AI对话APP

    本文我们学习使用了基本组件的使用,网络请求以及状态管理,使用了ForEach循环渲染来构建对话界面。并且在HarmonyOS设备上成功运行
    的头像 发表于 01-24 18:02 1037次阅读
    鸿蒙开发<b class='flag-5'>实战</b>-手写文心一言AI<b class='flag-5'>对话</b>APP

    比特量化技术如何帮助LLM提升性能

    针对大语言模型 (LLM) 在部署过程中的性能需求,低比特量化技术一直是优化效果最佳的方案之一,本文将探讨低比特量化技术如何帮助 LLM 提升性能,以及新版 OpenVINO 对于低
    的头像 发表于 12-08 15:26 1114次阅读
    低<b class='flag-5'>比特</b>量化技术如何帮助<b class='flag-5'>LLM</b>提升性能