从k8s 的声明式API 到 GPT的 提示语

命令式

命令式有时也称为指令式,命令式的场景下,计算机只会机械的完成指定的命令操作,执行的结果就取决于执行的命令是否正确。GPT 之前的人工智能就是这种典型的命令式,通过不断的炼丹,告诉计算机要怎么做,计算机只是机械的完成指定场景下的任务。

声明式

声明式也称为描述式或者申明式,这种方式告诉计算机想要的,由计算机自己去设定执行的路径,需要计算机有一定的智能

最常见的声明式例子 就是数据库,查询的 sql 就表示我们想要的结果集,数据库运行查询 sql 的时候,会帮我们处理查询,并且返回查询的结果。数据库在查询的时候,会进行索引匹配,做查询优化等处理,再返回数据结果的时候,同时使用最优的查询路径。如果我们自己去处理这些操作,就需要写很多代码了,而不是仅仅通过一行代码就能解决。现在最热门的声明式例子 是ChatGPT 为代表的生成式AI的 GPT,我们通过写一些提示Prompt 指引去引导人工智能完成不同的任务。

Kubernetes 的设计用的就是声明式的设计思想。Kubernetes 不仅仅是一个编排系统,实际上它消除了编排的需要。 编排的技术定义是执行已定义的工作流程:首先执行 A,然后执行 B,再执行 C。 而 Kubernetes 包含了一组独立可组合的控制过程,可以连续地将当前状态驱动到所提供的预期状态。 你不需要在乎如何从 A 移动到 C,也不需要集中控制,这使得系统更易于使用且功能更强大、 系统更健壮,更为弹性和可扩展。这正是声明式的设计思想的体现。

这次生成式AI 在人工智能领域所带来的变革,如果你把生成式 AI 看成是一些命令式的简单接口调用是非常错误的。我们需要象Kubernetes 那样看待这次生成式 AI 。生成式AI是一个类似于Kubernetes的 全新的操作系统,它改变了我们过往对人工智能的认知。我们需要从告诉计算机要怎么做转变为告诉计算机必须要完成什么。那如何在项目中管理这些Prompt 指引是一个项目中不可缺少的。 微软发布了开源的面向生成式 AI 编程的框架 Semantic Kernel (简称SK:https://github.com/microsoft/semantic-kernel),让项目能更有效地管理这些指引,SK 让我们开发LLM 应用更简单,这和Kubernetes下的应用开发框架Dapr 的很多理念是相通的。

生成式人工智能诞生后,我们从告诉机器要怎么做转变为告诉机器必须要做什么,这就降低了对于编码的依赖。例如翻译,归纳,总结再不用做具体算法了,只需要用简单的提示语 AI 就可以帮你完成。那就是说我们需要做的是写 Prompt 触发人工智能做事,Prompt 的内容涵盖不同的场景,不同的任务,涉及到各式各样的工作流程。如何管理好这些 Prompt 让生成式 AI 能完成任务这是大家所关注的。还有通过对话上下文作出不同的响应,让 AI 注入到对话流中也是很重要。Semantic Kernel 就是用来解决管理上下文对话以及各种技能的框架。

Semantic Kernel 是面向 AI 编程的最佳方案,可以结合不同场景,综合技能和意图,支持多语言开发的框架。.NET 开发者可以通过 Semantic Kernel ,可以更高效地生成式 AI 的应用开发。 

image

卢建辉今天上线了 OpenAI 的 .NET 内容了 https://github.com/kinfey/dotNETOAIBooks ,欢迎大家学起来。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/21107.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Sheel编写关于mysqldump实现分库分表备份

编写脚本,使用mysqldump实现分库分表备份。 #编辑脚本文件 [rootlocalhost scripts]# vim bak_tb1.sh#脚本内容: #设置变量,减少代码冗余 mysql_cmd-uroot -p123 exclude_dbDatabase|information_schema|-S|mysql|performance_schema|sys ba…

Cesium 加载ArcGIS Server切片服务错级问题

1.首先上官方api说明 ArcGisMapServerImageryProvider - Cesium Documentation 里面没有 zoomoffset参数!!! 2.如果按照互联网栅格切片规则 3857、4326、4490常用切片层级参数,则直接加载显示地图 viewer.imageryLayers.addImageryProvider(new Cesium.ArcGisMapServerI…

词法分析器

词法分析器 在早期编译1.0时代,我们的目标是完成程序语言到机器语言的翻译,所以重点在编译器前端,于是我们花费大量时间研究词法分析、语法分析、语义分析等内容。如今的本科编译原理课程,基本上也就到这一层面吧。 在编译2.0时…

三种方式创建对象的几种方式及new实例化时做了什么?

创建对象的几种方式 利用对象字面量创建对象 const obj {}2.利用 new Object创建对象 const obj new Object()3.使用 构造函数实例化对象 function Fn(name) {this.name name} const obj new Fn(张三) console.log(obj.name); //张三为什么要用构造函数的形式&#xff1…

node.js系列-常见问题处理方案(持续更新)

问题1:nodejs 如何使用 atob、btoa 解决方案(base64与uint8array转换),btoa和atob在nodejs中应该怎么写? 浏览器中我们可以这样使用: btoa(123456) MTIzNDU2 atob(MTIzNDU2) 123456node.js中实现方案 con…

Java版Spring Cloud+Spring Boot+Mybatis+uniapp知识付费平台讲解+免费搭建 qt

Java版知识付费源码 Spring CloudSpring BootMybatisuniapp前后端分离实现知识付费平台 提供职业教育、企业培训、知识付费系统搭建服务。系统功能包含:录播课、直播课、题库、营销、公司组织架构、员工入职培训等。 提供私有化部署,免费售…

c++的类与对象(下)

1.初始化列表 在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值,构造函数体中的语句只能将其称作为赋初值,而不能称作初始化,因为初始化只能初始化一次(初始化的本质就是只能初始化一次)&am…

ubuntu2204中vscode无法输入中文

解决方法:重新安装VSCode。 我一开始是在ubuntu商店下载的,结果上网查了了下,商店里的VSCode是阉割版的,想要输入中文就要重新安装。 安装流程:先删除再安装。 1.可以在商店里已安装界面下选择移除,或者…

【1.4】Java微服务:服务注册和调用(Eureka和Ribbon实现)

✅作者简介:大家好,我是 Meteors., 向往着更加简洁高效的代码写法与编程方式,持续分享Java技术内容。 🍎个人主页:Meteors.的博客 💞当前专栏: 微服务 ✨特色专栏: 知识分享 &#x…

如何用python做自然语言处理

如何用python做自然语言处理 使用Python进行自然语言处理(NLP)是非常常见和强大的。以下是一些基本步骤: 安装所需的库: 首先,您需要安装一些用于自然语言处理的Python库,如NLTK(自然语言工具包…

云原生之使用Docker部署homer静态主页

云原生之使用Docker部署homer静态主页 一、homer介绍1.1 homer简介1.2 homer特点 二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本 四、下载homer镜像五、部署homer静态主页5.1 创建挂…

rust Vec<u8>如何转成字符串?

在Rust中&#xff0c;可以使用标准库中的 String 类型将 Vec 转换为字符串。可以使用 String::from_utf8_lossy 函数将字节向量转换为字符串&#xff0c;如下所示&#xff1a; fn main() {let bytes: Vec<u8> vec![72, 101, 108, 108, 111]; // 字节向量let string St…

2023年信息系统项目管理师-学习计划安排

1. 关注信管网&#xff1a; 信管网 - 考试专业网站&#xff01; (cnitpm.com) 2023年下半年信息系统项目管理师报名时间将于8月14日开始&#xff0c;各地报名时间不同&#xff0c;请考生注意查看当地报名时间&#xff0c;但报名官网入口是统一的&#xff0c;均在中国计算机技术…

【antd】antdv中 Popover 组件内容过多,出现滚动条,滑动滚动条Popover会自动关闭

antdv版本&#xff1a;1.78 vue版本&#xff1a;2.5.2 <a-popover trigger"click" placement"topLeft"><template slot"content"><div wheel.stop""> //关键是这里<a-table:loading"loading":columns&…

kafka权威指南(阅读摘录)

零复制 Kafka 使用零复制技术向客户端发送消息——也就是说&#xff0c;Kafka 直接把消息从文件&#xff08;或者更确切地说是 Linux 文件系统缓存&#xff09;里发送到网络通道&#xff0c;而不需要经过任何中间缓冲区。这是 Kafka 与其他大部分数据库系统不一样的地方&#…

【雕爷学编程】MicroPython动手做(32)——物联网之MQTT

MQTT &#xff08;Message Queuing Telemetry Transport&#xff09;消息队列遥测传输协议&#xff0c;是一种基于发布/订阅&#xff08;publish/subscribe&#xff09;模式的"轻量级"通讯协议&#xff0c;该协议构建于TCP/IP协议上&#xff0c;由IBM在1999年发布。M…

Unity CanvasGroup组件

文章目录 1. 简介2. 组件属性2.1 Alpha(透明度)2.2 Interactable(是否为可交互)2.3 Blocks Raycasts(是否接受射线监测)2.4 Ignore Parent Groups(忽视上层的画布组带来的影响) 1. 简介 CanvasGroup(画布组) 组件&#xff0c;可集中控制整组 UI 元素(自身和所有子物体)的某些属…

C# Blazor 学习笔记(6):热重置问题解决

文章目录 前言热重置问题描述解决方法演示 总结 前言 我最近在使用Blazor的时候&#xff0c;使用了BootstrapBlazor&#xff08;以下简称BB&#xff09;创建模板的时候&#xff0c;发现热重置无效。经过了一上午的折腾&#xff0c;我终于解决了这个问题。 热重置 问题描述 …

用Rust实现23种设计模式之抽象工厂

在 Rust 中&#xff0c;可以使用 trait 和泛型来实现抽象工厂模式。抽象工厂模式是一种创建型设计模式&#xff0c;它提供了一个接口来创建一系列相关或依赖对象的家族&#xff0c;而无需指定具体的类。下面是一个简单的示例&#xff0c;展示了如何使用 Rust 实现抽象工厂模式&…

Rust- 结构体

In Rust, a struct (short for “structure”) is a custom data type that lets you name and package together multiple related values that make up a meaningful group. If you’re coming from an object-oriented language, a struct is like an object’s data attrib…