AskIt: Unified Programming Interface for Programming with Large Language Models
本文是LLM系列文章,针对《AskIt: Unified Programming Interface for Programming with Large Language Models》的翻译。
AskIt:用于大型语言模型编程的统一编程接口
- 摘要
- 1 引言
- 2 动机例子
- 3 设计与实现
- 4 实验评估
- 5 相关工作
- 6 结论
摘要
在不断发展的软件开发环境中,大型语言模型(LLM)表现出一种被称为涌现能力的独特现象,在从文本摘要到代码生成的众多任务中表现出娴熟的能力。虽然这些能力为软件设计和制作开辟了新的途径,但它们的结合带来了巨大的挑战。开发人员努力解决在应用程序中直接嵌入LLM的决策,而不是将其用于代码生成。此外,考虑到从自然语言输出中提取数据的必要性,有效的提示设计成为一个关键问题。为了解决这些复杂问题,本文介绍了AskIt,这是一种专门为LLM设计的领域专用语言(DSL)。AskIt简化了LLM集成,提供了类型导向的输出控制、基于模板的函数定义和统一接口,从而减少了基于LLM的代码生成和应用程序集成之间的区别。此外,通过示例编程(PBE),AskIt在编程语言层面利用了少小样本学习的力量。我们的评估强调了AskIt的效力。在50个任务中,AskIt为给定的任务生成了简洁的提示,相对于基准,提示长度减少了16.14%。此外,通过实现从直接LLM应用程序使用到函数生成的过渡,AskIt实现了显著的加速,正如我们在GSM8K基准测试实验中观察到的那样。通过这些进步,AskIt简化了软件开发中LLM的集成,为利用紧急能力提供了一种更高效、更通用的方法。AskIt在TypeScript和Python中的实现可在https://github.com/katsumiok/ts-askit和https://github.com/katsumiok/pyaskit分别地找到。
1 引言
2 动机例子
3 设计与实现
4 实验评估
5 相关工作
6 结论
在本文中,我们介绍了一种领域专用语言(DSL),AskIt。AskIt提供了一个统一的接口,用于与各种任务的大型语言模型(LLM)进行交互。统一接口支持(1)LLM的类型引导输出控制,(2)基于模板的函数定义,(3)可编码任务的代码生成,以及(4)示例编程。我们为TypeScript和Python实现了AskIt,并用三个不同的实验对它们进行了评估。
相关文章:
AskIt: Unified Programming Interface for Programming with Large Language Models
本文是LLM系列文章,针对《AskIt: Unified Programming Interface for Programming with Large Language Models》的翻译。 AskIt:用于大型语言模型编程的统一编程接口 摘要1 引言2 动机例子3 设计与实现4 实验评估5 相关工作6 结论 摘要 在不断发展的软…...
【wireshark抓取数据包-PGSQL协议】
测试查看PGSQL协议的网络流量数据明细 1)捕获过滤的条件设置,tcp.port5432(数据库的端口) 2)上面是wireshark的主窗口,分三大主块:Packlist List(数据包列表)…...
【idea学习】
1.debug: 文章详解 2.导入SpringBoot项目 文章详情...
ZooKeeper数据模型/znode节点深入
1、Znode的数据模型 1.1 Znode是什么? Znode维护了一个stat结构,这个stat包含数据变化的版本号、访问控制列表变化、还有时间戳。版本号和时间戳一起,可让Zookeeper验证缓存和协调更新。每次znode的数据发生了变化,版本号就增加。…...
容器编排工具的比较:Kubernetes、Docker Swarm、Nomad
随着容器化技术的普及,容器编排工具成为了现代应用部署和管理的重要组成部分。容器编排工具能够自动化容器的部署、扩展和管理,从而提高应用的可靠性和可伸缩性。在众多的容器编排工具中,Kubernetes、Docker Swarm和Nomad是三个备受关注的主要…...
nginx--技术文档--架构体系--底层核心-原理
Nginx的架构体系可以概括为“一个核心、两个模型。” “一个核心”指Nginx的核心功能,即HTTP请求处理。Nginx作为一个高性能的Web服务器,其核心功能是处理HTTP请求,包括接收请求、解析请求、处理请求和返回响应等。 “两个模型”指Nginx的多…...
Java23种设计模式之【单例模式】
目录 一.单例模式的起源,和应用场景 1.单例模式的前世今生! 2.什么是单例模式? 2.1使用单例模式的注意事项 2.2如何理解单例模式? 2.3单例模式的优势以及不足! 2.4使用场景 二.实现 1.实现思路 1.1创建一个 S…...
SQLserver基础入门理论(超基础)二
♥️作者:小刘在C站 ♥️个人主页: 小刘主页 ♥️努力不一定有回报,但一定会有收获加油!一起努力,共赴美好人生! ♥️学习两年总结出的运维经验,以及思科模拟器全套网络实验教程。专栏…...
macbookpro怎么删除软件没有鼠标
macbookpro怎么删除软件没有鼠标,macbookpro触摸板可以替代鼠标进行操作。左右键功能与鼠标相同,可用于执行删除操作。此外,还可以利用键盘上的Delete键来删除选中的文件。 删除软件方法 方法1、打开应用程序,键盘按住control,加点…...
华为数通方向HCIP-DataCom H12-821题库(单选题:241-260)
第241题 LS Request报文不包括以下哪一字段? A、通告路由器(Advertising Router) B、链路状态 ID (Link Srate ID) C、数据库描述序列号(Database Dascription Sequence lumber) D、链路状态类型 Link state type) 答案:C 解析: LS Request 报文中包括以下字段…...
PHP8内置函数中的变量函数-PHP8知识详解
在php8中,与变量相关的内置函数比较多,本文说一些比较重要的、常见的内置函数。今日着重讲解了5个,分别是:检测变量是否为空的函数empty()、判断变量是否定义过的函数isset()、销毁指定的变量的函数unset()、获取变量的类型的函数…...
9月3日,每日信息差
第一、中国中铁与广州市城中村改造做地主体签署战略合作框架协议。根据协议,双方将积极响应广州市统筹做地推进高质量发展工作精神,充分发挥双方优势资源,共同加大在物业复建安置、基础设施建设、综合开发投资、城中村改造(微改造…...
2023年了,java后端还有未来吗?
前言 Java当下确实是比较的内卷,但关键在于个人,可以看看不同地方(这里主要举例北上广深一线城市)对于Java开发工程师这个职位的具体要求: 在以下北上广深这些一线大城市的面试招聘当中不难看出,凡是工资…...
使用cmake,将github上的某一个库进行集成到vs2022上
可以参考如下链接的内容: (还未完成,将在后序补充) 1.首先使用cmake,得到对应库的lib,include,bin文件夹 可以参考 https://www.youtube.com/watch?vu5-Df1YlxCI 2.现在我用cmake对这个第三方库进行编译,生成了三个文件夹:一个放的是lib文件(lib文件…...
第二张微服务的调用与注册
文章目录 工程导入利用RestTemplate调用服务需求创建RestTemplate的实例到Spring容器使用RestTemplate发送请求消费者和提供者 Eureka注册中心服务远程调用会出现的问题Eureka的结构和作用Eureka的配置过程搭建注册中心服务注册服务发现 Ribbon负载均衡负载均衡原理源码跟踪总结…...
iWatch框架设计
iWatch框架设计 一、项目框架结构设计 1、项目文件介绍 OverSeaProject:是IOS相关文件文件内容iWatchApp和iWatch Extension:是之前使用xcode14之前的xcode创建的360 app的Watch App,产生的文件结构,包含一个app和Extension的ta…...
【python】读取.dat格式文件
import binascii# 打开二进制文件以只读二进制模式 with open(EXCEL/文件.dat, rb) as file:binary_data file.read()print(binary_data)# 将二进制数据转换为十六进制字符串 hex_data binascii.hexlify(binary_data).decode(utf-8) # binary_data 现在包含了文件的二进制内容…...
机器学习课后习题 --- 朴素贝叶斯
(一)单选题 1.假设会开车的本科生比例是15%,会开车的研究生比例是23%。若在某大学研究生占学生比例是20%,则会开车的学生是研究生的概率是多少? A:80%B:16.6% C:23% D:15% 2.下列关于朴素贝叶斯的特点说法错误的是…...
【设备树笔记整理7】实践操作
1 使用设备树给DM9000网卡_触摸屏指定中断 1.1 修改方法 根据设备节点的compatible属性,在驱动程序中构造/注册 platform_driver,在 platform_driver 的 probe 函数中获得中断资源。 1.2 实验方法 以下是修改好的代码:第6课第1节_网卡_触摸…...
使用VisualStudio制作上位机(六)
文章目录 使用VisualStudio制作上位机(六)第五部分:应用程序打包第一步:勾选为Release模式第二步:生成解决方案第三步:将我们额外添加的文件放入到Release这个文件夹里 使用VisualStudio制作上位机…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
《基于Apache Flink的流处理》笔记
思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...
让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...
Java数组Arrays操作全攻略
Arrays类的概述 Java中的Arrays类位于java.util包中,提供了一系列静态方法用于操作数组(如排序、搜索、填充、比较等)。这些方法适用于基本类型数组和对象数组。 常用成员方法及代码示例 排序(sort) 对数组进行升序…...
【Java多线程从青铜到王者】单例设计模式(八)
wait和sleep的区别 我们的wait也是提供了一个还有超时时间的版本,sleep也是可以指定时间的,也就是说时间一到就会解除阻塞,继续执行 wait和sleep都能被提前唤醒(虽然时间还没有到也可以提前唤醒),wait能被notify提前唤醒…...
无需布线的革命:电力载波技术赋能楼宇自控系统-亚川科技
无需布线的革命:电力载波技术赋能楼宇自控系统 在楼宇自动化领域,传统控制系统依赖复杂的专用通信线路,不仅施工成本高昂,后期维护和扩展也极为不便。电力载波技术(PLC)的突破性应用,彻底改变了…...
