编程进阶探索:以LangGPT为例,构建LLM的高效提示模板框架

Prompt设计技巧及迭代过程 简单点来说,prompt就是给AI的指令,prompt工程是设计和优化提示词的技术和方法论,让AI更准确地理解需求并高质量地完成任务。这是一个通用的prompt设计框架,在设计prompt的过程中,可以结合实际的场景需求,对该框架进行内容填充,写出第一版的prompt。当然,除了这个框架,还有很多其他的框架,大家可以按需选择。框架名称框架内容ICIOInstruction(任务)、Context(背景与上下文)、Input Data(输入数据)、Output Indicator(输出类型)CRISPECap 阅读详情

Prompt进阶系列1:LangGPT(从编程语言反思LLM的结构化可复用提示设计框架)

大语言模型 (Large Language Models, LLMs) 在不同领域都表现出了优异的性能。然而,对于非AI专家来说,制定高质量的提示来引导 LLMs 是目前AI应用领域的一项重要挑战。现有的提示工程研究已经提出了一些零散的优化原则,也有些研究设计了基于经验的提示优化器。然而,这些研究缺乏结构化的设计模板,学习成本高,可复用性低。受到编程语言的结构化和可复用性的启发,提出了双层提示设计框架 LangGPT,作为面向 LLM 的编程语言。LangGPT 具有易于学习的规范结构,并为迁移和复用提供了扩展结构。实验表明,与 baseline 相比,LangGPT 极大地增强了 LLM 生成高质量回复的能力。此外,也证明了 LangGPT 框架能有效地指导 LLM 自动化地生成高质量提示。

  1. 提示优化介绍

以 ChatGPT 为代表的大型语言模型(Large Language Models, LLMs)[Achiam 等人,2023;Schulman 等人,2023] 可以基于强大的语言理解能力、推理能力和生成能力执行各种各样的任务[Sun 等人,2023b;Sun 等人,2023c;Yu 等人,2023]。此外,注入领域知识还能让 LLM 执行与领域相关的特定任务 [Wang 等人,2023a;Li 等人,2023b;Zhang 等人,2023;Ren 等人,2023]。要充分发挥 LLM 的这些能力,就需要构造高质量的提示[Eric,2022;Chen 等人,2023;Gajula,2023]。因此,提示工程 (Prompt Engineering) 吸引了许多研究人员的关注[Varshney 和 Surla,2023;Mesk´o,2023;Wang,2023]。

  • 提示工程是典型的经验科学,主要涉及提示设计和提示优化。由于 LLM 具备自然语言理解能力,可以通过非结构化的自然语言指令直接要求 LLM 执行任务。在此基础上,研究人员首先探索并总结出了一些优化提示的技巧。[Bsharat等人,2023年]介绍了26条指导原则,旨在让 LLMs 表现得更好。除了这些直接作用于提示的优化技巧外,一些研究人员还基于历史数据的提出了提示优化方法。[Sun 等人,2023a] 引导 LLM 从不正确的推理中得出特定实例的新提示,然后总结每个实例的对应提示,作为优化原始提示的参考。[Pryzant等人,2023年]定义了自然语言"梯度",利用小批量数据求解该"梯度"并利用波束搜索和 Bandit 选择程序,按照梯度的相反语义方向编辑当前提示。[Fan 等人,2023 年]对一个大型提示数据库进行分析,并提出了一个自动提示优化框架。
  • 基于历史数据的直接提示优化原则和方法需要丰富的经验。因此,这些方法通常只在特定任务或领域中表现良好。为了提高通用性,一些研究人员提出了自适应提示优化方法。[Guo 等人,2023 年] 将 LLM 与进化算法联系起来,提出了一种新的离散提示优化框架,称为 EvoPrompt。[Li等人,2023a]设计了一种多轮对话对齐策略,并利用GPT-4[Achiam等人,2023]生成易读的提示集。同时,他们还提出了一种高效的提示筛选指标,能以线性复杂度筛选出高质量的提示。[Wang等人,2023b]引入了PromptAgent,它可以反思模型错误并产生建设性的错误反馈,以诱导精确的专家级见解和深入的指导。[Hao等人,2022] 和 [Cheng等人,2023] 还从协调人类和 LLM 偏好风格的角度优化了提示。
  • 提示优化可以大大提高 LLM 的性能,但由于缺乏系统性设计,高质量提示的可复用性很差。因此,一些研究人员设计了构建提示的规则。[Nigh, 2023]收集了大量高质量提示,并总结了用于提示设计的 CRISPE 规则。[ZamfirescuPereira等人,2023年]以基于LLM的聊天机器人设计工具原型为设计探针,支持非人工智能专家参与"终端用户提示工程"。此外,一些研究人员为不同领域的应用设计了提示构建规则。[Cao 等人,2023 年]为 ChatGPT 提出了各种利用深度学习执行程序修复任务的提示模板。[Yeh等人,2022年]将生物医学关系提取任务重新表述为简单提示表述下的 cloze 测试任务,从而系统地生成全面的提示语。[Liu和Chilton,2022年]在文生图任务的五个实验中评估了涵盖51个主题和51种风格的5493个生成提示,并总结了提示设计指南。
  • 这些方法以AI专家大量的使用经验为基础,主要依赖列出的设计规则,缺乏系统性。此外,这些规则具有较强的领域相关性和模型相关性,但通用性、灵活性和可复用性较低。为了进一步释放 LLM 的性能,一些研究人员定义了 Agent。Agent 赋予 LLMs 使用工具、获取领域知识、保留长期或短期记忆以及制定计划的能力[Xu 等人,2023;Xi 等人,2023;Park 等人,2023]。虽然Agent [Chase,2022;Hong 等人,2023;Wu 等人,2023]系统地设计了提示的关键组件并预留了灵活的自定义接口,但学习成本非常高。此外,非 AI 专家很难修改 Agent 设计,可复用性较差。

为了推广基于 LLM 的应用,进一步激发 LLM 的潜力,希望设计一个高质量、可复用的提示模板。该模板应具有通用性和可扩展性。此外,该模板还应该易学易用。受 prompt 是 LLM 时代的编程语言这一观点的启发 [Alouani, 2023; Mund, 2023],设计了一种面向 LLM 的编程语言,即一种 prompt 设计框架
Lang
uage for
GPT
-like LLMs (LangGPT)。LangGPT 具有编程语言的系统性、规范性和可复用性的特点,并保留了自然语言的灵活性和可扩展性。首先分析了自然语言和编程语言之间的差异,以确定提示模板应具备的属性。LangGPT 设计为双层结构,由模块和内部元素组成。LangGPT 中的模块可分为两类:内置模块和扩展模块。对于内置模块,详细设计了每个模块的必要内部元素,并给出了示例模板。此外,对于扩展模块,统一了基本内部元素的设计。实验证明,在引导 LLM 方面,LangGPT 比基线提示更好。此外,LLM 可以利用这一框架自动生成提示,就像生成代码一样。

这项工作的主要贡献为:

  • 提出了双层结构的提示设计框架 LangGPT,以提高提示的通用性和可复用性。还在 LangGPT 的基础上编写了详细的提示设计规则,从而降低了提示设计的学习成本,使 LLM 能够自动生成高质量的提示语。此外,提供了基于 LangGPT 的常见场景的通用提示模板,进一步简化了提示设计成本。
  • 通过实验证明,基于 LangGPT 设计的提示可以更好地引导 LLM 执行任务。同时,举例说明了 LangGPT 可以帮助 LLM 生成高质量的提示。
  • 建立了一个基于 LangGPT 的在线社区,提供使用文档和提示设计界面。此外,收集和分享优秀的提示案例也促进了 LLM 应用的交流。在社区中进行了用户体验调查,验证了 LangGPT 的易用性和可复用性。
  1. 参考编程语言构造提示设计规则

与自然语言相比,编程语言更具标准化和可复用性。为了设计高质量的可复用的提示,分析了自然语言和编程语言之间的差异,并提出了提示设计原则。

2.1 自然语言与编程语言的区别

自然语言主要用于交流,而编程语言则是为机器执行任务定义的指令[GeeksforGeeks, 2023]。不同的应用目的导致这两种语言的创造和演变背景截然不同。

  1. 目标受众
    :自然语言是由人类对人类说的[Grune等人,2012],而编程语言是由人类为机器准备的[Chakray,2018]。
  2. 结构
    :计算机只能理解固定的指令,这要求编程语言具有严格、严谨的语法和语义。相反,自然语言具有宽松而灵活的语法和语义,允许创造和变化,并具有高度的容错性。
  3. 模糊性
    :自然语言更加模棱两可,但人类有能力明确自然语言表达的意思。例如,顺序混乱和打字错误等问题对阅读的影响较小,发音错误也可以理解[Chakray,2018;Aho,2007]。编程语言比较准确,因为它们需要为计算机提供明确的指令[GeeksforGeek,2023]。
  4. 演变与更新
    :自然语言通过人类的使用和交流,随着时间的推移自然演变[Sipser,1996]。自然语言在增加新词与新的意义,以及摒弃过时用法方面是比较灵活的[Fromkin等人,2018年]。相反地,编程语言是专门为与机器通信而设计的[Sebesta,2012],新的语法规则和功能需要明确的升级或正式发布[Pratt等人,1984]。

总而言之,这两种语言的主要区别在于,自然语言更模糊、更灵活,而编程语言更规范、更精确。LLM本质上执行大量计算,与机器有许多相似之处。因此,借鉴了编程语言的特点,结合自然语言的优势,提出了一种面向 LLM 的自然语言编程框架–LangGPT。

2.2 提示设计规则

参考编程语言的设计思想来优化提示。在分析了编程语言和自然语言的区别之后,提出了提示的设计原则:

  • (1)
    提示应具有规范化的格式
    。灵活和模糊的自然语言对于LLM来说是很难理解的。格式规范的提示使用户的目的和要求更加突出。
  • (2)
    提示的结构应该是可扩展的
    。自定义结构便于用户根据自己的领域和任务设计合适的提示。
  • (3)
    具体要求必须明确、完整
    。指令和附加要求都应明确和完整,以避免误解或偏见。
  • (4)
    语言要灵活
    。在需求明确的情况下,灵活的语言可以更好地适应不同的领域。此外,灵活的语言也便于用户学习。

3 面向大语言模型的自然语言编程框架

基于这些设计规则,提出了一种面向 LLM 的双层自然语言编程框架–LangGPT。

3.1 整体双层结构

为了系统地设计符合规则的提示,充分参考了面向对象编程语言的设计思想和结构[Rentsch,1982;Lutz,2010]。将提示视为一个软件项目,并将提示设计过程类比为软件开发过程。对应关系如图1所示。

图 1:编程语言和自然语言提示之间的类比。依据层次结构分析了两种语言之间的相似性。不同大小的圆圈表示不同的层。较小的圆圈表示更靠近内层,对应于较深的颜色。

通过类比分析可以发现,自然语言提示与编程语言具有相似的多层次结构。因此,参考编程语言的结构,提出了提示设计的双层结构,并定义了提示的模块和元素的概念。

一个完整的提示包含几个模块。模块类似于编程语言中的类,每个模块代表要求LLM的一个方面。例如,可以在Constraint、Goal、Profile等方面增加提示。在一个模块中,包括许多内部元素。元素类似于编程语言中的函数和属性,表示对LLM的直接和特定指令的内容。例如“输出不应超过500字”可以是提示中属于Constraint模块的元素。

双层结构可以很好地标准化提示的格式。然而,如果过于严格地要求提示遵循预定义的内置模块和基本元素,无法利用自然语言的灵活性的优势。此外,还会降低LangGPT对不同领域不同任务的通用性,不利于高质量提示的复用。为了解决这些问题,将模块和元素的类型进行了划分。首先定义了内置模块和基本元素作为预定义的双层提示模板。此外,还构建了支持自定义的扩展模块和自定义元素。为内置模块和扩展模块提供Markdown[Gruber,2012]和JSON[Pezoa等人,2016]格式。此外,为不同的模块编写了基本元素,并定义了编写自定义元素的规则。

3.2 内置模块的构造

该模块作为完整提示和指令单元之间的连接部分,对于控制提示的结构有非常重要的作用。

为几乎所有提示所需的关键方面定义了内置模块。此外,还针对与应用程序相关的某些场景定义了内置模块,以便于学习和使用。表1展示了为某些场景定义的内置模块。

  • Prof. (Profile)指出了用户对LLM在角色方面的要求,包括个人简介、人物肖像等。
  • Cons. (Constraint)表示约束或突出,即不允许LLM超出的范围以及生成回复时必须满足的要求等。
  • Goal列出了用户想要实现的目标,这就是LLM需要完成的目标。Init. (Initialization)即初始化,以告知LLM即将开始对话。有时,该模块中还会给出指定的第一句话。
  • Ex. (Example)给出了输入-输出对作为供LLM学习的例子。
  • Wkflo. (Workflow)指示了执行任务时的工作流程,类似于 CoT 方法 [Wei 等人., 2023]。当任务需求比较复杂时,往往需要实例化这个模块。
  • Skill用于向LLM表明他们拥有的技能。经过工具学习的LLM,可以指导他们调用工具,更准确地执行任务。另外,计划在未来的工作中提供使用该模块下工具的能力,参考代理工具的设计[Chase, 2022;洪等人,2023]。
  • Sug. (Suggestion)包括对LLM的建议和行为规划。该模块重点列出常见场景,并告诉LLM在此类情况下可以采取的行为或应对措施。
  • Bkgrd. (Background)表示LLM在执行任务时需要具备的背景信息和记忆。
  • Style限定了LLM生成回复的风格。
  • Outf. (Output Format)定义了LLM的输出格式。指定输出格式可以提高某些任务中结果提取的效率和准确性。

表 1:内置模块定义的状态。该表列出了目前定义的8类应用场景以及为这些场景定义的模块。 ✓表示已经针对该场景设计了相应的模块。相反, ✗ 表示没有设计。

3.3 内部基本元素

  • 提示通常包含三个目的:
    1. 向LLM传递某种信息;
    2. 让LLM执行某个有输出或无输出的任务;
    3. 前两者的结合。

第一个与编程语言中属性或变量的定义非常相似。相应地,后两类类似于编程语言中的函数。因此,构建了这三种类型的基本元素。使用“⟨PROPERTY⟩ 是⟨VALUE⟩”语句来模拟赋值操作。对于后两种情况,需要指定输入信息、任务和输出,其中输入和输出可以省略。使用“对于给定的⟨VALUE⟩的⟨PROPERTY⟩,请执行以下操作:⟨ACTIONS⟩;返回⟨RESULT⟩。”的形式来模拟函数。在提供的基本元素模式中,
尖括号
中包含的内容需要根据模块和使用场景来填充。需要注意的是,提供的模式仅指定了编辑内部元素的想法。为了提高提示的通用性和灵活性,可以调整语言来表达关键信息。在表 2 中,展示了一些模块中基本元素的一些示例。

表2:写作场景中内置模块的基本内部元素示例。该提示属于写作场景,其目的是为给定的文章生成标题。选择了五个模块作为示例——Profile、Goal、Constraint、Workflow和Style——并展示了每个模块的一个内部元素。特别是,对于Workflow模块,展示了一个类似函数的基本元素。

3.4 扩展模块和自定义元素

定义的内置模块已经尽可能全面地涵盖了提示的许多方面。此外,还添加了LangGPT涵盖的应用场景和模块。但受限于自身的能力和领域知识,无法考虑LLM的所有应用场景。

因此,除了内置模块和基本元素之外,还定义了扩展模块和自定义元素,以提高提示的通用性和复用性。扩展模块和自定义元素的设计流程如图2所示。

这个过程可以帮助用户快速分析他们的需求并提出提示中需要包含的要点。基于LangGPT提供的设计模板以及设计流程,可以优化高质量提示以快速匹配应用场景。

图 2:扩展模块和自定义元素的设计流程。对于内置模块无法覆盖所有方面的应用场景,可以根据需要定义新的扩展模块。定义了扩展模块后,还应该根据扩展模块的要求来设计内部元素。另外,如果内置模块能够满足应用场景需求,但基本元素无法满足所有需求,可以直接在内置模块中添加自定义元素。需要注意的是,扩展模块和内置模块应尽可能相互排斥,以最大限度地减少修改成本。

  1. 实验

为了验证提出的LangGPT的先进性,在两个方面进行了实验:LLM执行任务的效果和LangGPT的可用性调研。在的实验中,选择了两种类型的应用场景:写作和角色扮演。对于每个场景,选择了五个由社区用户构建和共享的具体的任务助手。

4.1 Baseline

为了进行比较,选择了两个baseline。

  • 直接指令
    :提示仅包含对LLM提出的说明以及所需的必要信息。
  • CRISPE
    :提示设计规则 [Night,2023]。该框架从宏观角度前瞻性地定义了提示的组成部分。它需要一个完整的提示,包含Capacity和Role、Insight、Statement、Personality和Experiment。

直接指令提示非常直观,可最大限度地节省token。但这种方式内容太少,往往不能全面传达需求,也难以抓住重点。 CRISPE提供了一个相对完整的设计框架,而不是一些零散的规则。但它没有清晰的结构化设计,不利于学习和高质量提示的复用。另外,CRISPE对提示中包含的元素有严格的规范,泛化能力较低。由于这些方法在提示设计上的缺点,设计了LangGPT。然而,除了这些直观的优势之外,还需要验证提示能否引导LLM执行任务,这才是提示设计最本质的目的。

4.2 大语言模型

选择了表 3 中所示的这些LLM进行评估,实验中的所有任务均于2024年1月18日前完成。

表 3:实验中使用的LLM。“unk”表示不知道这些模型的规模。

4.3 评估指标

由于任务场景的复杂性,缺乏客观的评价指标。因此,使用人工评估和LLM评估来评估LLM执行任务的能力。为了更好地保证评估的合理性,针对两种场景设定了评估标准。

对于写作任务,要求评估者从3个维度评估LLM执行任务的有效性:文本连贯性、格式规范和内容丰富度。生成主题连贯的内容的能力很重要。然而,发现LLM在生成任务中通常能够保持主题一致性,因此没有针对这方面设计评估指标。对于角色扮演任务,同样设计了3个维度的评价指标:语言风格、角色相关性和主题一致性。对于每个评估指标,定义了从0到5的分数来表示不同的级别,并解释了每个整数分数对应的情况的描述。此外,允许评估者在不同级别之间打 .5 分。

该评估框架还可以指导高性能LLM,例如GPT-4和Ernie Bot-4,自动评估其表现。由于LLM作为评估者的一致性较低[Liu et al., 2023],实验中也发现LLM评分的区分度很低,因此仅采用了人工评估的结果。

4.4 结果

提示引导LLM执行任务能力最直观的体现是LLM在执行提示引导的任务时的表现。因此,评估了LLM在两种情况下的表现,结果如表 4 及表 5 所示。

表 4:引导LLM执行任务的不同提示的结果。粗体字体表示在当前场景中效果最佳的提示类型。 I、C、L 分别表示三种提示符,即Instruction-only、CRISPE、LangGPT。 s1到s3分别代表两种场景的三个评估指标。对于写作场景来说,s1是文本连贯性,s2是格式规范,s3是内容丰富度。对于角色扮演场景,s1是语言风格,s2是角色相关性,s3是主题一致性。

从结果可以看出,LangGPT更擅长引导LLM执行任务。此外,还注意到一个有趣的现象。某些具有特别严格安全限制的LLM将拒绝回答,例如关于吹牛和暴躁等话题的问题或请求。 LangGPT可以让这些LLM认识到这只是一种说话方式,而
不是真正具有破坏性的行为
,并引导LLM生成回复。其他两个baseline都无法做到这一点。

为了评估 LangGPT 的易用性,在在线社区进行了一项用户调查。该社区已经运行了六个多月,已经聚集了来自各行各业的数千名用户,包括制造、建筑、信息技术、金融和娱乐。因此,调查结果的客观性能够得到保证。设计了一份关于 LangGPT 体验的完整调查问卷,以确保答案的质量。调查问卷包括关于易用性的评分问题。用户评分结果如图3所示。从图3可以看出,87.81%的用户给出了3分或更高的分数,这表明用户对LangGPT的易用性表示认可。此外,LangGPT在用户调查中的总体满意度得分为8.48分(满分10分)。

图 3:用户调查中的易用性评分。最低分是0分,表示非常难用,最高分是5分,表示非常容易使用。 “:”用于分隔分数和百分比。

表 5:不同LLM在两种情况下的平均得分。

4.5 案例研究

为了更直观地展示LangGPT的效果,从实验中筛选了具体案例。除了直接的效果比较之外,还尝试使用LangGPT来指导LLM生成质量提示。

提示引导LLM

在的实验中,使用三种提示来引导LLM扮演马屁精,图 4 中给出了一个示例。

在此示例中,直接指令提示和 CRISPE 提示引导的 ChatGPT 都只是回复用户的话语。相比之下,LangGPT 引导的 ChatGPT 在针对用户给定主题进行了更加夸张的吹嘘。此外,它从更广泛的角度表达赞美,也更有个性。

LangGPT引导LLM编写提示

在实验中,还尝试让LLM使用 LangGPT 构建提示。图 5 展示了一个示例。

图 4:马屁精的案例。 ChatGPT-3.5 在三种不同提示下对用户的回复。需要注意的是,明远大学是虚构的。

图 5:ChatGPT-3.5 使用 LangGPT 生成提示的示例。为了便于演示,一些模块被省略。

如果直接要求LLM生成有关 MBTI 评估的提示,他们可能会拒绝。然而,LangGPT 可以指导LLM生成无害的高质量提示。

5 结论

在本文中,提出了 LangGPT,一个用于提示设计的结构化且可扩展的框架。 LangGPT具有类似于面向对象编程语言的系统结构,易于学习和复用。实验表明,LangGPT 在指导LLM执行任务方面比baseline方法表现更好。还在LangGPT构建的社区中进行了用户调查,以验证LangGPT的易用性和可复用性。在未来的工作中,将进一步优化LangGPT的设计,减少LangGPTtoken消耗。此外,还将添加对LLM使用第三方工具和自定义工具的支持。

  • 伦理声明

在LLM的应用过程中,可能会出现伦理争议,但LangGPT的设计及本文的写作过程避免了可能出现的伦理问题。

更多优质内容请关注公号:汀丶人工智能;会提供一些相关的资源和优质文章,免费获取阅读。

什么是提示词工程,有哪些开源项目 LangGPT通过结构化和模板化的方法,将复杂的提示词设计过程转化为简单、直观的操作步骤,显著降低了学习门槛并提高了效率。同时,其灵活性、交互友好性和社区支持也为用户提供了强大的工具支持,使其能够高效地设计和优化高质量的AI提示词。例如,LangGPT通过内置的经典提示句和格式法等基础方法论,保证了生产的初版提示词的质量。PromptRange是一个构建服务于提示词工程的生态系统的项目,包含提示词调优工具库、提示词靶场平台以及基于移动互联网和微信的外部终端接入。 阅读详情

相关推荐

Prompt进阶系列1:LangGPT(从编程语言反思LLM的结构化可复用提示设计框架)

Prompt进阶系列1:LangGPT(从编程语言反思LLM的结构化可复用提示设计框架)

丨汀、的博客 4030

LangGPT:这个Prompt顶级思维框架(RAG、结构化)有时间一定要看看

了解每个模型的特点和能力,是构建有效prompt的基础。我们在写提示词的时候,针对哪个模型去写?这个问题是应该被确定下来的,在我个人使用过程中,比如选定Claude时,采用XML框架性的描述输入会带来明显的成效。但是在ChatGPT去应用XML和markdown的时候就会产生明显的区别。写好提示词,要有领域深度理解了这十条技巧是不是就一定能写好prompt。一个影响因素是我们对于一个领域、一个行业,一个细分场景的理解到底有多深?

python1234567_的博客 4731

LangGPT提示词框架工作流设计:从输入到思维链再到输出

第一部分: 《LangGPT提示词框架工作流设计:从输入到思维链再到输出》核心概念与联系 在当今快速发展的自然语言处理(NLP)领域,自动文本生成和智能对话系统越来越受到关注。LangGPT作为一种基于语言的通用预训练框架,凭借其强大的文本理解和生成能力,成为这一领域的重要工具

AI天才研究院 1383

LangGPT-人人都可以写高质量的prompt

使用 LangGPT,可以在几分钟内轻松上手大模型指令编写。

qq_33457548的博客 2279

Prompt工程全攻略:15+Prompt框架一网打尽(BROKE、COAST、LangGPT)、学会提示词让大模型更高效

Prompt工程全攻略:15+Prompt框架一网打尽(BROKE、COAST、LangGPT)、学会提示词让大模型更高效

丨汀、的博客 5817

DBeaver连接ClickHouse保姆级教程:从安装到成功测试(附驱动下载问题解决)

本文提供了一份详细的DBeaver连接ClickHouse实战指南,重点解决了驱动下载失败等常见问题。文章从环境准备、DBeaver安装讲起,详细阐述了手动配置ClickHouse驱动的可靠方案,并逐步指导完成连接配置与测试,最后介绍了基础操作与查询优化技巧,旨在帮助用户高效完成连接并快速上手使用。

pink的博客 879

LangGPT提示词: 面向大语言模型的自然语言编程框架

大语言模型 (Large Language Models, LLMs) 在不同领域都表现出了优异的性能。然而,对于非AI专家来说,制定高质量的提示来引导 LLMs 是目前AI应用领域的一项重要挑战。现有的提示工程研究已经提出了一些零散的优化原则,也有些研究设计了基于经验的提示优化器。然而,这些研究缺乏结构化的设计模板,学习成本高,可复用性低。受到编程语言的结构化和可复用性的启发,我们提出了双层提示设计框架 LangGPT,作为面向 LLM 的编程语言。LangGPT 具有易于学习的规范结构,并为迁移和

zphyix的博客 1800

字节跳动扣子AI应用开发平台之实战

推出背景:扣子平台由字节跳动推出,旨在让非开发者也能快速创建、调试和优化聊天机器人。上线时间:扣子平台于2024年2月1日正式上线。功能定位:扣子是一个AI聊天机器人和应用程序编辑开发平台,可以理解为字节跳动版的GPTs。

恩爸编程 5898

LangGPT:高质量提示词框架

研究团队开发了一种名为LangGPT的框架,旨在为大型语言模型(LLMs)提供结构化且可重用的提示设计方法。LangGPT的设计灵感来源于编程语言的结构化特性,以解决非AI专家在为LLMs设计高效指令时面临的挑战。该框架通过定义一套标准模块和基本元素,以及扩展模块和自定义元素,提升了提示设计的通用性和复用性。

yumuing‘s blog 2060

反激开关电源变压器设计实例讲解(定明芳)

内容来自《反激变压器的设计》(定明芳主讲)。 定名芳老师主要讲了10步,最后应该还有一步,线径的选择已经绕制方式。这里进行了记录整理,把一些公式来源进行了推导。所有的设计都是基于理论计算。 1.确定电源规格 2.确定工作频率和最大占空比 3.计算匝比(利用伏秒平衡原则) 此处插入解释一下伏秒平衡,根源是磁通量平衡。该原则可以用来检查MOS管耐压是否够。 4.计算初级线圈峰值电流 基于CCM模式计算的。ip1是开关管要关闭时的峰值电流,ip2是开关管开始导通时的起始电流。因为时CCM模式,所以,ip

ydgd118的博客 5万+

LabVIEW QMH模板实战:从创建到错误处理的完整指南

本文提供LabVIEW QMH模板从创建到错误处理的完整实战指南。详细解析了队列消息处理器(QMH)作为LabVIEW核心设计模式如何实现任务解耦与异步通信,涵盖事件处理循环、消息处理循环的搭建、用户事件创建、队列引用管理、消息优先级控制以及健壮的错误处理机制,帮助开发者构建稳定、可维护的复杂应用程序。

white的博客 726

LangGPT自然语言编程框架:让大语言模型提示工程更简单高效

LangGPT自然语言编程框架:让大语言模型提示工程更简单高效 【免费下载链接】LangGPT 项目地址: https://gitcode.com/gh_mirrors/lan/LangGPT ...

gitblog_00165的博客 558

君正T31x metartc集成测试

metartc为国内杨大侠部分开源的一款用于嵌入式领域webrtc库,它与谷歌官方webrtc相比,编译到君正平台的可执行文件仅有5M即可实现webrtc的通信。1. 目前实现的是基于开源版v5.0-b0版本做的简单修改,官方的好几个版本都多少缺点东西,我这里给整理了一下。目前是局域网连接的webrtc,后续尝试走stun和turn试一下NAT穿越的效果。

fsmpeg的博客 3159

探索未来编程与自然语言的桥梁 —— LangGPT-tools

探索未来编程与自然语言的桥梁 —— LangGPT-tools 在人工智能迅速发展的今天,我们迎来了一个将编程思维融入自然语言处理的新时代。LangGPT-tools 正是这一领域的先锋之作,它不仅仅是一个工具包,而是开启了一扇连接大型语言模型(LLMs)和系统化、可复用的提示设计框架的大门。 项目介绍 LangGPT-tools 是基于广受关注的 LangGPT 项目的一系列模板和适配器集合,旨...

gitblog_01043的博客 461

C# WPF上位机开发(利用tcp/ip网络访问plc)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 c# wpf如果是用来开发非标上位机的,那么和plc的通信肯定是少不了的。而且,大部分plc都支持modbus协议,所以这个时候如果有一个库可以帮助我们和plc设备进行modbus通信,那就非常方便的。目前NuGet下关于modbus的函数库还是有一些的,比如EasyModbus。

嵌入式-老费,一个分享专业嵌入式知识的blog 2530

Sigrity System Explorer Transient Analysis模式进行瞬态仿真分析操作指导-差分信号

Sigrity System Explorer Transient Analysis模式可以用于瞬态仿真分析,通过搭建简易拓扑用于前仿真分析通道的时域性能,下面搭建一个简易的差分拓扑进行说明,以下图为例,准备好发送接收端的IBIS模型, (ibis_se.ibs,本例发送接收端都使用相同的IBIS模型),以及传输线的S参数模型(welement_se.sp)最上方的图形界面是传输线的模型,本例是一个上下都有参考平面的带状线,右侧的梯形是蚀刻角度,根据W1和W2以及铜厚来确定。

weixin_54787054的博客 440

【亲测免费】 LangGPT 项目使用教程

LangGPT 项目旨在通过结构化、模板化的方法,帮助每个人轻松创建高质量的 ChatGPT 提示词。它被视为一种专门为大型语言模型设计提示词的编程语言。当前的提示词设计方法通常只提供一些技巧和原则,缺乏系统性和适应性。LangGPT 通过引入模板、变量和命令,将提示词设计过程变得像面向对象编程一样直观和简单。LangGPT 为大规模、高效地生产高质量提示词奠定了基础。 ## 项目快速启动 #

gitblog_00754的博客 1412

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

项目介绍:LangGPT

摘要:LangGPT是一个结构化提示词框架,采用模板、变量与指令三大机制,帮助用户像编程一样创建高质量、可复用的ChatGPT提示。该框架解决了传统提示设计零散、不易复用的问题,通过模块化结构提升效率。其亮点包括双层结构化设计、类似编程语言的变量封装、实证验证的显著效果(用户满意度8.48/10)以及社区支持。无需安装即可使用Markdown模板,支持GPT-4/3.5等模型,并计划扩展多平台兼容性。项目地址:https://github.com/langgptai/LangGPT

hello! 1073

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

探索高效沟通的新境界:LangGPT - 大模型时代的智能Prompt创造工具

LangGPT是一款革命性的智能Prompt创造工具,旨在帮助每个人成为提示词专家。作为结构化提示词(Structured Prompt)的提出者和元提示词(Meta-Prompt)的发起者,LangGPT提供了最流行的提示词落地范式,让普通人也能轻松驾驭大语言模型的强大能力。 ## 为什么需要LangGPT?深入理解Prompt的重要性 在大模型时代,输入(Input)的质量直接决定了输出的

gitblog_00048的博客 665

LangGPT结构化提示词编写实践

将不使用系统提示的书生浦语大模型作为 baseline 对比,提交的系统提示词要指导LLM表现出比baseline更高的性能,提供对比截图并加以分析说明即可。(2) 修改下面命令中的 API_KEY 等配置,在命令行执行命令,即可完成书籍创作。如果遇到“请求过于频繁,请稍后再试”报错,是 API 存在调用频率限制,可以使用。注册免费的 API 服务。任选下面其中1个任务基于LangGPT格式编写提示词 (注意:写博客时切记删除自己的 api_key!

nsczx的博客 961

7步掌握LangGPT文本处理全流程:从入门到精通的AI助手使用指南

LangGPT是一款面向大模型的自然语言编程框架,能够帮助用户快速实现从文本生成、分析到自动化处理的全流程AI应用。本文将通过简单易懂的步骤,带您从零开始掌握LangGPT的核心功能,让AI文本处理变得高效而简单。 ## 一、认识LangGPT:AI文本处理的强大框架 LangGPT采用创新的多层结构设计,将传统编程语言的严谨性与自然语言提示词的灵活性完美结合。其核心优势在于通过结构化提示词(

gitblog_01066的博客 629

书生大模型第四期打卡 | 基础岛 第三关 LangGPT结构化提示词编写实践

提示词设计框架有CRISPE、CO-STAR等,具体来说有一些技巧,比如通过假设角色来更好地拟合任务背景(你是一个人工智能领域的专家、你是一个精通简化代码的程序员),明确LLM所能够达到的目标(您的任务是为我详细为我讲述CNN的原理),尽可能详细任务内容(包括卷积核、通道数、步长等详细的概念内容),设定回复风格(请以严谨准确的词汇表达),设置回复对象(我是一个六岁的小孩请务必能让我听懂),以及回复格式(json格式、csv格式)。我是您的提示词专家助手,请随时告诉我您需要设计什么用途的提示词吧。

m0_56841969的博客 847

2025最硬核LangGPT学习指南:从零基础到AI提示词大师

你是否还在为写不好AI提示词而烦恼?花了大量时间学习各种技巧,却依然无法让AI生成满意的结果?本文将带你从零基础开始,系统掌握LangGPT这一革命性的提示词设计框架,让你在30天内从AI小白蜕变为提示词专家! 读完本文你将获得: - 一套系统化的LangGPT学习路径,避免走弯路 - 5个实战案例,涵盖工作与生活场景 - 10个提升提示词效果的独家技巧 - 完整的资源库,包括模板、工具和社区支...

gitblog_00356的博客 801

提示词高级阶段学习day1

的。

weixin_49534890的博客 1099
上一篇: Python实战:GPT-2驱动的机器学习模型构建指南
下一篇: 智谱AI布局情感智能:收购聆心智能,推出CharacterGLM大模型
fengbeely
博客等级 码龄2年 957粉丝 108原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值