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

    文章

    6688

    浏览量

    105946
  • NVIDIA
    +关注

    关注

    14

    文章

    5324

    浏览量

    106638
  • OpenAI
    +关注

    关注

    9

    文章

    1211

    浏览量

    8993
  • 大模型
    +关注

    关注

    2

    文章

    3191

    浏览量

    4147
  • LLM
    LLM
    +关注

    关注

    1

    文章

    328

    浏览量

    889

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    森林防灭实战告捷!卓翼智能长白山首演“空天地一体”集群灭火

    近日,吉林省应急管理厅在长白山林区组织开展森林草原防灭火实战综合演练,此次演练旨在检验无人机在复杂地形下森林草原防灭火实战效能,切实提升复杂地形下森林火灾“打早、打小、打了”能力,响应
    的头像 发表于 06-23 09:15 ?491次阅读
    森林防灭<b class='flag-5'>实战</b>告捷!卓翼智能长白山首演“空天地一体”集群灭火

    实战演练:使用相机气密性检测仪进行防水测试

    在摄影领域,尤其是进行户外摄影,不少摄影师会在恶劣环境下使用相机,这就对相机的防水性能有了要求。而相机气密性检测就是判断相机防水性能的重要途径,下面我们就来一次使用相机气密性检测仪进行防水测试的实战
    的头像 发表于 05-30 11:04 ?197次阅读
    <b class='flag-5'>实战</b><b class='flag-5'>演练</b>:使用相机气密性检测仪进行防水测试

    从户外弱网到指挥大屏 | 千视P3+D350护航防汛演练全程直播

    2025年4月15日,福清市开展了一场覆盖城区、山区、沿海三地的防汛防台风应急响应演练,模拟台风引发极端天气下的内涝、山洪及海堤险情等场景。此次演练由福清市人民政府防汛抗旱指挥部主办,旨在通过实战
    的头像 发表于 05-26 16:32 ?448次阅读
    从户外弱网到指挥大屏 | 千视P3+D350护航防汛<b class='flag-5'>演练</b>全程直播

    开发进阶指南:LuatOS-log库从入门到实战

    本文将带你深入探索LuatOS系统中log库的核心原理与实战技巧,通过代码示例解析日志管理、错误追踪及性能优化的最佳实践,助力全工程师构建更稳健的物联网应用。 今天,我们一起来认识LuatOS
    的头像 发表于 05-15 16:12 ?2355次阅读
    全<b class='flag-5'>栈</b>开发进阶指南:LuatOS-log库从入门到<b class='flag-5'>实战</b>!

    小白学大模型:从零实现 LLM语言模型

    ://github.com/FareedKhan-dev/train-llm-from-scratch本文将为你提供一个简单直接的方法,从下载数据到生成文本,带你一步步构建大院模型。步
    的头像 发表于 04-30 18:34 ?615次阅读
    小白学大模型:从零实现 <b class='flag-5'>LLM</b>语言模型

    详解 LLM 推理模型的现状

    2025年,如何提升大型语言模型(LLM)的推理能力成了最热门的话题之一,大量优化推理能力的新策略开始出现,包括扩展推理时间计算、运用强化学习、开展监督微调和进行提炼等。本文将深入探讨LLM推理优化
    的头像 发表于 04-03 12:09 ?572次阅读
    详解 <b class='flag-5'>LLM</b> 推理模型的现状

    《AI Agent 应用与项目实战》阅读心得3——RAG架构与部署本地知识库

    额外推荐两本主题是是介绍RAG实战和应用开发的好书,分别是《大模型RAG实战, RAG原理、应用与系统构建》和《基于大模型的RAG应用开发与优化——构建企业级
    发表于 03-07 19:49

    《AI Agent 应用与项目实战》阅读心得2——客服机器人、AutoGen框架 、生成式代理

    更精准地路由用户请求到相应的处理模块。在后端功能设计上,采用了模块化的响应生成机制,包括知识检索引擎对话状态管理器和响应生成器三个核心组件。知识检索引擎使用向量相似度匹配算法,不仅支持精确匹配,还能
    发表于 02-25 21:59

    小白学大模型:构建LLM的关键步骤

    你梳理如何在构建AI算法应用时做出合适的决策。训练LLM的三种选择https://wandb.ai/site/articles/training-llms/在构建A
    的头像 发表于 01-09 12:12 ?1061次阅读
    小白学大模型:<b class='flag-5'>构建</b><b class='flag-5'>LLM</b>的关键步骤

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

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

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

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

    如何训练自己的LLM模型

    训练自己的大型语言模型(LLM)是一个复杂且资源密集的过程,涉及到大量的数据、计算资源和专业知识。以下是训练LLM模型的一般步骤,以及一些关键考虑因素: 定义目标和需求 : 确定你的LLM将用
    的头像 发表于 11-08 09:30 ?1593次阅读

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

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

    LLM和传统机器学习的区别

    在人工智能领域,LLM(Large Language Models,大型语言模型)和传统机器学习是两种不同的技术路径,它们在处理数据、模型结构、应用场景等方面有着显著的差异。 1. 模型结构
    的头像 发表于 11-08 09:25 ?1994次阅读

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

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