Home

Awesome

๐ŸฆŠ Prompting-Framework-Survey

A curated list of awesome publications and researchers on prompting framework updated and maintained by The Intelligent System Security (IS2).

<div align="center"> <img src="https://github.com/lxx0628/Prompting-Framework-Survey/blob/main/figure/timeline.png" alt="timeline" width="650" /> </div>

Large language models (LLMs) have made significant advancements in both academia and industry, bringing about a fundamental engineering paradigm shift in many areas. While LLMs are powerful, it is also crucial to best use their power where "prompt"๐Ÿ”ง plays a core role. However, the booming LLMs themselves, including excellent APIs like ChatGPT, have several inherent limitations: 1) temporal lag of training data, and 2) the lack of physical capabilities to perform external actions.

Recently, we have observed the trend of utilizing prompt-based tools to better utilize the power of LLMs for downstream tasks, but a lack of systematic literature and standardized terminology, partly due to the rapid evolution of this field. Therefore, we survey related prompting tools and promote the concept of the ๐ŸŒŸ "Prompting Framework" (PF) ๐ŸŒŸ, i.e. the framework for managing, simplifying, and facilitating interaction with large language models. We define the lifecycle of the PF as a hierarchical structure, from bottom to top, namely: Data Level, Base Level, Execute Level, and Service Level.

<div align="center"> <img src="https://github.com/lxx0628/Prompting-Framework-Survey/blob/main/figure/workflow.png" alt="workflow" width="650" /> </div>

We also systematically depict the overall landscape of the emerging PF field and discuss potential future research and challenges. To continuously track the developments in this area, we maintain this repo, which can be a useful resource sharing platform for both academic and industry in this field.

๐Ÿฅœ In a Nutshell

<div align="center"> <img src="https://github.com/lxx0628/Prompting-Framework-Survey/blob/main/figure/nutshell.png" alt="nutshell" width="450" /> </div>

Prompting Framework is a framework for managing, simplifying, and facilitating interaction with large language models, which adheres to four essential properties: modularity, abstraction, extensibility, and standardization. We define the lifecycle of the PF as a hierarchical structure, from bottom to top, namely: Data Level, Base Level, Execute Level, and Service Level.

๐Ÿ“„ Paper Link: Prompting Frameworks for Large Language Models: A Survey

Looking forward to your attention and lively discussion๏ผ

Sincerely welcome:

๐Ÿ™‹โ€โ™‚๏ธ Share good prompting frameworks with us!!!

๐Ÿ™‹โ€โ™€๏ธ Share your experience of using different prompting frameworks and your urgent needs and services!!!

๐Ÿ™‹ Brainstorm the future shape of prompting frameworks!!!

and more ...

๐Ÿ“ฎ Contact Details: liuxiaoxia@zju.edu.cn

๐Ÿฆ„ Update Log

๐ŸŽฌ ใ€2023.11.21ใ€‘First version of "Prompting Frameworks for Large Language Models: A Survey" published on arXiv!

๐Ÿ“– Table of Content

๐ŸŒŸ Related Resource

Fingers crossed these awesome resources sprinkle some extra magic on your tasks too!

๐Ÿ’ผ Tools for Exploring Relevant Literature

๐Ÿพ Tool๐ŸŒฑ Description
Trending PapersA useful tool to help us researchers find and explore papers worth reading first.
Connected PapersExplore academic papers in a visual graph.

๐Ÿ’ผ Related Survey

๐Ÿ”… State-of-the-art Prompting Frameworks

Taking into consideration the technical features, design objectives, and application scenarios, the current prompting framework can be broadly covered by three types: The Shell of LLMs (LLM-SH), Language for Interaction with LLMs (LLM-LNG), and Output Restrictors of LLMs (LLM-RSTR). The rationale behind designing the prompting framework is to facilitate the interaction between LLMs and the external world, and different types of prompting frameworks manifest this enhancement effect from different perspectives.

๐Ÿงฉ The Shell of LLMs

LLM-SH functions are much like a shell or interface layer in computer systems, emphasizing interaction with LLMs by facilitating their engagement with highly capable third parties, thereby enabling stronger interaction between LLMs, users, and external models.

๐Ÿงฉ Language for Interaction with LLMs

LLM-LNG, on the other hand, is designed to create a language (programming or pseudo-language) for interaction with LLMs, focusing on providing users with a more concise and compact interaction channel.

๐Ÿงฉ Output Restrictors of LLMs

LLM-RSTR, meanwhile, achieves controlled generation by emphasizing interactions with LLMs that are of higher quality and better aligned with requirements.

๐Ÿ”… Comparative Analysis of Prompting Frameworks

Comparison of state-of-the-art prompting frameworks follows three macro dimensions: 1) compatibility, 2) capabilities and features, 3) documentation and support. The more detailed dimensions are shown below.

<div align="center"> <img src="https://github.com/lxx0628/Prompting-Framework-Survey/blob/main/figure/dim.png" alt="dim" width="1500" /> </div>