• ssprompt:一个LLM Prompt分发管理工具


    🌟前言

    自从OpenAI掀起了一轮新的AI革命,国内外众多玩家入场接受时代洗礼,一时间LLM相关技术井喷,而提示工程( prompt engineering )就在其中。
    它就像是为大语言模型(LLM)设计的"语言游戏"。通过这个"游戏",我们可以更有效地引导 LLM 来处理问题。在真正的通用智能到来前,基于当前的LLM范式,要充分发挥LLM的优势,Prompt设计越来越复杂化,进一步Prompt的代码化,模块化会越发明显,同时写prompt将会成为AI时代人的基本技能。
    基于此,我构思创作了ssprompt,希望每个人都能利用Prompt,享受AI时代红利

    🔔ssprompt介绍

    ssprompt是一个Prompt分发管理工具,定义了一套Prompt分发规则
    支持创建Prompt工程和拉取Prompt Hub上对应Prompt的工程文件到本地工程

    image.png

    注:以下为 0.1.0 第一版ssprompt的内容介绍,项目还在持续完善,如有疏漏或不足之处请包涵了解,谢谢~

    ssprompt show

    命令介绍

    • ssprompt new -> 新建一个新的Prompt工程,指定工程目录,Prompt类型等参数
    • ssprompt init -> 基于当前目录,引导创建一个Prompt工程
    • ssprompt add -> 添加一个不同Prompt类型和相关依赖到metafile,并生成相应的Prompt工程目录(工程配置文件)
    • ssprompt show -> 展示本地Prompt工程的基本信息(metafile)或拉取PromptHub上对应工程的信息
    • ssprompt pull -> 拉取远端工程到本地项目中,相关工程可以引用Prompt文件或代码
    • ssprompt list -> 展示当前版本ssprompt支持的命令
    • ssprompt about -> 展示ssprompt的介绍和版本信息
    • ssprompt version -> 展示ssprompt的版本信息

    更多命令参数详情,请使用ssprompt [command] -h进一步了解

    Metafile介绍

    ssprompt通过定义prompt工程的Meta文件来约束管理Prompt分发规则和内容
    ssprompt关于prompt定义了四种类型的Prompt

    • Text
    • Json
    • Yaml
    • Python

    可以按需生成对应的Prompt上传到PromptHub进行分发
    metafile以Prompt工程名称命名,如prompt_project.yaml ,是ssprompt管理Prompt分发的关键

    注:上述类型结合参考了langchain和haystack

    #Prompt工程基础信息
    meta:
      name: open #工程名称
      author: 
      - ptonlix >
      description: ''
      license: MIT #Prompt工程遵循的协议
      llm:    #Prompt支持的LLM模型
      - gpt-3.5-turbo 
      readme_format: md #Readme文件格式
      tag:  #Prompt工程相关类型领域,如question-generation common为公共领域
      - common
      version: 0.1.0 #版本号
    
    #Text类型的Prompt
    text_prompt:
      dirname: text #目录名称, 默认为text
    
    #Json类型的Prompt
    json_prompt:
      dirname: json #目录名称,默认为json
      list:                  #支持多个json类型子工程
      - dependencies:   
          langchain: 0.0.266 #json解析依赖的三方库版本号,如langchain等
        name: example        #子工程名,对应生成工程目录名
    
    #Yaml类型的prompt
    yaml_prompt: 
      dirname: yaml #目录名称,默认为yaml
      list:					 #支持多个yaml类型子工程
      - dependencies:		
          langchain: 0.0.266 #yaml解析依赖的三方库版本号,如langchain等
        name: example		 #子工程名,对应生成工程目录名
    
    #Python类型的Prompt
    python_prompt:	#目录名称,默认为yaml
      dirname: python		 #目录名称,默认为yaml
      list: 				 #支持多个yaml类型子工程
      - dependencies:
          langchain: 0.0.266 #Python库引用的三方库版本号,如langchain等
        name: example		 #子工程名,对应生成工程目录名
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    版本依赖规则

    当前版本支持三种版本依赖规则

    • Caret requirements

      • ^1.2.3
    • Tilde requirements

      • ~1.2.3
    • Wildcard requirements

      • 1.2.*
    • laster

      • 支持最新版本

    🌊 PromptHub

    目前ssprompt生成的Prompt工程,依赖Git管理,通过Git将Prompt工程上传到Git仓库以便ssprompt拉取引用

    当前默认PromptHub托管在GitHub ptonlix/PromptHub

    目前PromptHub的Prompt工程还在持续建设中 🕜

    后续会陆续收集和建设更多Prompt工程发布到我们PromptHub ☁️

    🍗 欢迎大家上传自己的Prompt到PromptHub,共建一个开源的Prompt生态

    GitHub Token

    由于目前GitHub API请求访问限制,不采用authentication访问,会限制一个小时只能访问60次,导致使用ssprompt频繁拉取工程时存在403限制请求

    推荐在使用ssprompt时,设置GitHub Personal access tokens到环境变量

    export GITHUB_ACCESS_KEY=`Your GitHub Token`
    
    • 1

    🚀 Quick Install

    系统依赖

    Ssprompt requires Python 3.10+

    ✨支持多平台使用,满足广大Prompt Engineer💻

    pip安装

    pip install ssprompt
    
    • 1

    Linux, macOS, Windows (WSL)

    curl -sSL https://raw.githubusercontent.com/ptonlix/ssprompt/main/install.py | python3 -
    
    • 1

    Windows (Powershell)

    (Invoke-WebRequest -Uri https://raw.githubusercontent.com/ptonlix/ssprompt/main/install.py -UseBasicParsing).Conte
    
    
    • 1
    • 2

    🚩 Roadmap

    • 搭建ssprompt初步框架,完善基本功能
    • 完善ssprompt命令
      1. pull命令支持拉取特定类型Prompt工程到本地
      2. show命令支持展示更多PromptHub信息
    • 搭建和完善PromptHub
      1. 收集全网优秀的Prompt案例,使用ssprompt 构建工程并上传到PromptHub
    • ssprompt网站与文档建设
      1. ssprompt 说明文档
      2. PromptHub 网站建设

    🌏 项目交流讨论

    🔗 项目地址 ptonlix/ssprompt

    😊 如果你也对本项目感兴趣,欢迎联系作者,加入ssprompt项目群参与讨论交流。

    💥 欢迎大家贡献力量,一起共建ssprompt,您可以做任何有益事情

    • 报告错误
    • 建议改进
    • 文档贡献
    • 代码贡献

      👏👏👏
  • 相关阅读:
    Java工作流系统,快速实现业务审批(源码)
    虚拟ip、浮动ip
    面试八股 | 计算机网络 | TCP三次握手
    C#-委托的详细用法
    useEffect
    springboot与elasticsearch-7.16.2的基础CRUD使用——入门向
    QML的Popup遇到的坑
    【Hack The Box】windows练习-- Fuse
    [题] 分解质因数 #质数(素数)
    安卓APP源码和设计报告——基于Android的垃圾分类系统
  • 原文地址:https://blog.csdn.net/ptonlix/article/details/132731692