Declarative Prompt-Programming Framework: Difference between revisions

From GM-RKB
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
A [[Declarative Prompt-Programming Framework]] is a [[prompt-programming framework]] that uses a [[declarative syntax]] to express the structure, inputs, outputs, and constraints of [[LLM interaction]]s while hiding implementation details.
A [[Declarative Prompt-Programming Framework]] is a [[prompt-programming framework]] that uses a [[declarative syntax]] to express the structure, inputs, outputs, and constraints of [[LLM interaction]]s while hiding implementation details.
* <B>Context:</B>
* <B>Context:</B>
** It can typically represent [[Prompt Design]] as [[data]] rather than [[code]], allowing for more structured and maintainable [[prompt management]].
** It can typically represent [[Prompt Design]] as [[structured data]] rather than [[imperative code]], allowing for more systematic and maintainable [[prompt management]].
** It can typically use [[Declarative Syntax]] (such as [[YAML]], [[JSON]], or [[custom DSL]]s) to express what the [[LLM interaction]] should look like without specifying how it is executed.
** It can typically use [[Declarative Syntax]] (such as [[YAML]], [[JSON]], or [[custom DSL]]s) to express what the [[LLM interaction]] should accomplish without specifying how it is executed.
** It can typically provide [[Prompt Specification]] documents that are parsed and executed by a [[runtime interpreter]].
** It can typically provide [[Prompt Specification]] documents that are parsed and executed by a [[runtime interpreter]].
** It can typically support [[Schema Validation]] for both [[input]] and [[output]] to reduce [[prompt failure]]s.
** It can typically support [[Schema Validation]] for both [[input]] and [[output]] to reduce [[prompt failure]]s and ensure [[data consistency]].
** It can typically enable [[Modular Reuse]] through [[import]] and [[include]] directives for [[prompt block]]s.
** It can typically enable [[Modular Reuse]] through [[import mechanism]]s and [[include directive]]s for [[prompt component]]s.
** It can typically abstract [[Model-Specific Detail]]s, creating a [[model-agnostic representation]] of [[declarative prompt-programming intention]]s.
** It can typically support [[Version Control]] integration due to its [[text-based representation]].
** ...
** ...
** It can often include [[Templating Directive]]s (using systems like [[Jinja2]] or [[Liquid]]) for [[dynamic text generation]].
** It can often include [[Templating Directive]]s (using systems like [[Jinja2]] or [[Liquid]]) for [[dynamic content generation]].
** It can often implement [[Control Flow Construct]]s such as [[loop]]s, [[conditional]]s, and [[function definition]]s.
** It can often implement [[Control Flow Construct]]s such as [[declarative prompt-programming loop]]s, [[declarative prompt-programming conditional]]s, and [[declarative prompt-programming function definition]]s.
** It can often support [[Version Control]] integration due to its [[human-readable format]].
** It can often provide [[Type Checking]] for [[declarative prompt-programming variable]]s to ensure [[data integrity]].
** It can often support [[Model Chaining]] to create [[multi-step declarative prompt-programming workflow]]s.
** It can often enable [[Collaborative Prompt Development]] through its [[human-readable format]] and [[defined structure]].
** It can often facilitate [[Prompt Versioning]] to track [[declarative prompt-programming evolution]].
** ...
** ...
** It can range from being a [[Simple Declarative Prompt-Programming Framework]] to being a [[Complex Declarative Prompt-Programming Framework]], depending on its [[declarative prompt-programming feature set]].
** It can range from being a [[Simple Declarative Prompt-Programming Framework]] to being a [[Complex Declarative Prompt-Programming Framework]], depending on its [[declarative prompt-programming feature complexity]].
** It can range from being a [[Domain-Specific Declarative Prompt-Programming Framework]] to being a [[General-Purpose Declarative Prompt-Programming Framework]], depending on its [[declarative prompt-programming application scope]].
** It can range from being a [[Domain-Specific Declarative Prompt-Programming Framework]] to being a [[General-Purpose Declarative Prompt-Programming Framework]], depending on its [[declarative prompt-programming application scope]].
** It can range from being a [[Lightweight Declarative Prompt-Programming Framework]] to being a [[Comprehensive Declarative Prompt-Programming Framework]], depending on its [[declarative prompt-programming integration capability]].
** It can range from being a [[Specialized Declarative Prompt-Programming Framework]] to being a [[Universal Declarative Prompt-Programming Framework]], depending on its [[declarative prompt-programming model compatibility]].
** ...
** ...
** It can integrate with [[Retrieval-Augmented Generation Pipeline]]s for [[structured document processing]].
** It can integrate with [[Retrieval-Augmented Generation Pipeline]]s for [[structured document processing]].
** It can connect to [[LLM API]] for [[standardized model interaction]].
** It can connect to [[LLM API]] for [[standardized model interaction]].
** It can support [[Agent Orchestration System]]s for [[multi-step workflow management]].
** It can support [[Agent Orchestration System]]s for [[multi-step workflow management]].
** It can interface with [[Version Control System]]s for [[declarative prompt-programming history tracking]].
** It can incorporate [[External Knowledge Source]]s via [[declarative prompt-programming retrieval mechanism]]s.
** It can work with [[Validation Tool]]s for [[declarative prompt-programming quality assurance]].
** ...
** ...
* <B>Examples:</B>
* <B>Examples:</B>
** [[Declarative Prompt-Programming Framework Implementation]]s, such as:
** [[Declarative Prompt-Programming Framework Implementation]]s, such as:
*** [[YAML-Based Declarative Prompt-Programming Framework]]s, such as:
*** [[YAML-Based Declarative Prompt-Programming Framework]]s, such as:
**** [[PDL (Prompt Declaration Language)]] using [[YAML]] with [[Jinja2]] for [[templating function]]s.
**** [[IBM PDL (Prompt Declaration Language)]] using [[YAML]] with [[Jinja2]] for [[templating function]]s and [[type checking]] via [[JSON Schema]].
**** [[PromptLang]] developed by [[Netflix]] for [[content recommendation prompt system]]s.
**** [[PromptLang]] developed by [[Netflix]] for [[content recommendation prompt system]]s.
**** [[Pathway Templates]] for [[declarative prompt-programming structured workflow]]s.
*** [[JSON-Based Declarative Prompt-Programming Framework]]s, such as:
*** [[JSON-Based Declarative Prompt-Programming Framework]]s, such as:
**** [[OpenAI Prompt JSON]] for [[structured dialogue system]]s.
**** [[OpenAI Prompt JSON]] for [[structured dialogue system]]s.
**** [[Prompt Schema]] for [[declarative prompt-programming standardization]].
*** [[DSL-Based Declarative Prompt-Programming Framework]]s, such as:
**** [[Impromptu]] for [[model-driven declarative prompt-programming]] with [[platform independence]].
**** [[Questo]] for [[declarative query generation]].
** [[Declarative Prompt-Programming Framework Application Domain]]s, such as:
** [[Declarative Prompt-Programming Framework Application Domain]]s, such as:
*** [[Controlled Chatbot Declarative Prompt-Programming Framework]]s for [[regulated conversation flow]].
*** [[Controlled Chatbot Declarative Prompt-Programming Framework]]s for [[regulated conversation flow]].
*** [[RAG Pipeline Declarative Prompt-Programming Framework]]s for [[document retrieval workflow]].
*** [[RAG Pipeline Declarative Prompt-Programming Framework]]s for [[document retrieval workflow]].
*** [[Regulated Domain Declarative Prompt-Programming Framework]]s for [[finance]] and [[legal]] applications requiring [[auditability]].
*** [[Regulated Domain Declarative Prompt-Programming Framework]]s for [[finance]] and [[legal]] applications requiring [[auditability]].
*** [[Code Generation Declarative Prompt-Programming Framework]]s for [[structured programming task]]s.
*** [[Chain-of-Thought Declarative Prompt-Programming Framework]]s for [[multi-step reasoning process]]es.
*** [[ReAct Agent Declarative Prompt-Programming Framework]]s for [[reasoning and acting cycle]]s.
** [[Declarative Prompt-Programming Framework Capability Implementation]]s, such as:
*** [[Templating Integration Declarative Prompt-Programming Framework]]s, such as:
**** [[Jinja2-Powered Declarative Prompt-Programming Framework]]s for [[dynamic text substitution]].
**** [[Liquid-Based Declarative Prompt-Programming Framework]]s for [[conditional content inclusion]].
*** [[Control Flow Declarative Prompt-Programming Framework]]s, such as:
**** [[Conditional Logic Declarative Prompt-Programming Framework]]s for [[branching prompt path]]s.
**** [[Loop-Enabled Declarative Prompt-Programming Framework]]s for [[iterative prompt processing]].
** ...
** ...
* <B>Counter-Examples:</B>
* <B>Counter-Examples:</B>
** [[Prompt-Optimization Framework]]s, such as [[DSPy]] and [[TextGrad]], which focus on [[prompt tuning]] and [[automation]] rather than [[declarative structure]].
** [[Prompt-Optimization Framework]]s, such as [[DSPy]] and [[TextGrad]], which focus on [[prompt tuning]] and [[automation]] rather than [[declarative structure]] and [[human readability]].
** [[Imperative Prompt-Programming Framework]]s, which use [[procedural code]] to directly define the [[execution flow]] of [[LLM interaction]]s.
** [[Imperative Prompt-Programming Framework]]s, which use [[procedural code]] to directly define the [[execution flow]] of [[LLM interaction]]s with emphasis on [[how]] rather than [[what]].
** [[Ad-hoc Prompt Design Approach]]es, which lack [[formal structure]] and [[schema validation]].
** [[Ad-hoc Prompt Design Approach]]es, which lack [[formal structure]], [[schema validation]], and [[reusable component]]s that characterize [[declarative prompt-programming framework]]s.
* <B>See:</B> [[Prompt Engineering]], [[LLM Orchestration Framework]], [[Declarative Programming]], [[YAML Configuration]], [[JSON Schema]].
** [[Template-Only System]]s, which provide basic [[text substitution]] without the full [[declarative prompt-programming capabilities]] like [[schema validation]] and [[control flow]].
** [[Model-Specific Framework]]s that tightly couple [[prompt design]] to [[specific LLM implementation]]s, lacking the [[model-agnostic abstraction]] of [[declarative prompt-programming framework]]s.
* <B>See:</B> [[Prompt Engineering]], [[LLM Orchestration Framework]], [[Declarative Programming]], [[YAML Configuration]], [[JSON Schema]], [[Domain-Specific Language]], [[Model-Driven Engineering]], [[Structured Output Generation]], [[Retrieval-Augmented Generation]], [[Chain-of-Thought Prompting]].


----
----
Line 40: Line 67:
[[Category:Concept]]
[[Category:Concept]]
[[Category:AI Technology]]
[[Category:AI Technology]]
[[Category:Quality Silver]]
[[Category:Prompt Engineering]]
[[Category:Quality Gold]]

Revision as of 19:49, 1 May 2025

A Declarative Prompt-Programming Framework is a prompt-programming framework that uses a declarative syntax to express the structure, inputs, outputs, and constraints of LLM interactions while hiding implementation details.