命令式

命令式有时也称为指令式,命令式的场景下,计算机只会机械的完成指定的命令操作,执行的结果就取决于执行的命令是否正确。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 的应用开发。

从k8s 的声明式API 到 GPT的 提示语的更多相关文章

  1. 【Kubernetes】深入解析声明式API

    在Kubernetes中,一个API对象在Etcd里的完整资源路径,是由:Group(API组).Version(API版本)和Resource(API资源类型)三个部分组成的. 通过这样的结构,整个 ...

  2. 【Kubernetes】声明式API与Kubernetes编程范式

    什么是声明式API呢? 答案是,kubectl apply命令. 举个栗子 在本地编写一个Deployment的YAML文件: apiVersion: apps/v1 kind: Deployment ...

  3. Kubernetes声明式API与编程范式

    声明式API vs 命令时API 计算机系统是分层的,也就是下层做一些支持的工作,暴露接口给上层用.注意:语言的本质是一种接口. 计算机的最下层是CPU指令,其本质就是用"变量定义+顺序执行 ...

  4. 声明式API replica controller vs replica set 对比

    1.在命令式API中,你可以直接发出服务器要执行的命令,例如: “运行容器”.“停止容器”等. 在声明性API中,你声明系统要执行的操作,系统将不断向该状态驱动. 可以想象成手动驾驶和自动驾驶系统.( ...

  5. SpringCloud学习笔记:声明式调用Feign(4)

    1. Feign简介 Feign采用声明式API接口的风格,将Java HTTP客户端绑定到它的内部. Feign的首要目标是简化Java HTTP客户端调用过程. 2.Feign客户端示例 Feig ...

  6. spring boot 2.0.3+spring cloud (Finchley)3、声明式调用Feign

    Feign受Retrofix.JAXRS-2.0和WebSocket影响,采用了声明式API接口的风格,将Java Http客户端绑定到他的内部.Feign的首要目标是将Java Http客户端调用过 ...

  7. spring cloud深入学习(四)-----eureka源码解析、ribbon解析、声明式调用feign

    基本概念 1.Registe 一一服务注册当eureka Client向Eureka Server注册时,Eureka Client提供自身的元数据,比如IP地址.端口.运行状况指标的Uri.主页地址 ...

  8. SpringCloud 源码系列(6)—— 声明式服务调用 Feign

    SpringCloud 源码系列(1)-- 注册中心 Eureka(上) SpringCloud 源码系列(2)-- 注册中心 Eureka(中) SpringCloud 源码系列(3)-- 注册中心 ...

  9. k8s之Deployment 声明式地升级应用(五)

    Deployment 声明式地升级应用 现在你已经知道如何将应用程序组件打包进容器,将他们分组到pod中,并为它们提供临时或者持久存储,将密钥或配置文件注入,并可以使pod之间互相通信.这就是微服务化 ...

  10. 云原生下基于K8S声明式GitOps持续部署工具ArgoCD实战-上

    @ 目录 概述 定义 工作原理 主要组件 核心概念 环境准备 概述 安装Kubekey 创建K8S 安装K9S OpenLB 安装ArgoCD 安装 ArgoCD CLI 从Git库中创建一个应用程序 ...

随机推荐

  1. webpack配置跨域proxy

    首先新建一个项目: 安装vue-cli: npm i -g @vue/cli npm i -g @vue/cli-init 安装webpack: npm install webpack -g vue新 ...

  2. PHP实现微信提现V3版本2022-5更新接口:商家转账到零钱

    微信官方又更新了接口... V3版本的微信商家转账到零钱的接口---俗称提现接口 注意事项 一:开通条件:需满足入驻满90天,连续正常交易30天,保持正常健康交易.二:分为页面发起和api接口操作,均 ...

  3. python高阶编程(一)

    1.生成器 通过列表⽣成式,我们可以直接创建⼀个列表.但是,受到内存限制,列表容量肯定是有限的.⽽且,创建⼀个包 含100万个元素的列表,不仅占⽤很⼤的存储空间,如果我们仅仅需要访问前⾯⼏个元素,那后 ...

  4. Vue的Component name报错

    问题描述: Component name "xxxxx" should always be multi-word.eslintvue 解决方案: 在项目目录中找到 .eslintr ...

  5. MyBatis-Plus 代码生成器超详细讲解

    参见:    https://www.jianshu.com/p/9d8ab1bb84bb

  6. 修改密码 MVC

    控制器site public function actionPassword(){ $model = new PasswordForm(); /*判断请求属性 if ($request->isA ...

  7. linux离线安装插件包

    1.下载插件包(联网的linux环境下) # 检查是否安装了vim(vim-minimal是vi) [root@localhost opt]# rpm -qa | grep vim vim-minim ...

  8. 最大公约数与最小公倍数_c/c++

    gcd:greatest common divisor,最大公约数   欧几里得算法,也就是辗转相除法.公式:gcd(a, b) = gcd(b, a % b)   推论:gcd(b, a) == g ...

  9. OpenStack组件说明

    1.版本对应组件 2.Juno版本的核心组件

  10. [ABC284F] ABCBAC(字符串哈希)

    思路 这里我们要注意以下几点: 字符串哈希自然溢出(\(\pmod 2^64\))会被卡,会\(WA~5\)个点 注意有模数的时候不要用\(unsigned\ long \ long\)类型 代码 # ...