A LLM Prompt distribution tool
Project description
🌌 ssprompt
简体中文 | English
Change the world, even a little bit.
自从 OpenAI 掀起了一轮新的 AI 革命,国内外众多玩家入场接受时代洗礼,一时间 LLM 相关技术井喷,而提示工程( prompt engineering )就在其中。
它就像是为大语言模型(LLM)设计的"语言游戏"。通过这个"游戏",我们可以更有效地引导 LLM 来处理问题。在真正的通用智能到来前,基于当前的 LLM 范式,要充分发挥 LLM 的优势,Prompt 设计越来越复杂化,进一步 Prompt 的代码化,模块化会越发明显,同时写 prompt 将会成为 AI 时代人的基本技能。
基于此,我构思创作了 ssprompt,希望每个人都能利用 Prompt,享受 AI 时代红利
🚀 Quick Install
系统依赖
Ssprompt requires Python 3.10+
⭐ 支持多平台使用,满足广大 Prompt Engineer💻
pip 安装
pip install ssprompt
Linux, macOS, Windows (WSL)
curl -sSL https://raw.githubusercontent.com/ptonlix/ssprompt/main/install.py | python3 -
Windows (Powershell)
(Invoke-WebRequest -Uri https://raw.githubusercontent.com/ptonlix/ssprompt/main/install.py -UseBasicParsing).Content | py -
🔔 What it can do?
ssprompt是一个 Prompt 分发管理工具,定义了一套 Prompt 分发规则
支持创建 Prompt 工程和拉取Prompt Hub上对应 Prompt 的工程文件到本地工程
注:以下为 0.5.0 第一版 ssprompt 的内容介绍,项目还在持续完善,如有疏漏或不足之处请包涵了解,谢谢~
命令介绍
- 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 <baird0917@163.com>
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 #子工程名,对应生成工程目录名
版本依赖规则
当前版本支持三种版本依赖规则
- 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`
🚩 Roadmap
- 搭建 ssprompt 初步框架,完善基本功能
- 完善 ssprompt 命令
- pull 命令支持拉取特定类型 Prompt 工程到本地
- show 命令支持展示更多 PromptHub 信息
- 搭建和完善 PromptHub
- 收集全网优秀的 Prompt 案例,使用 ssprompt 构建工程并上传到 PromptHub
- ssprompt 网站与文档建设
- ssprompt 说明文档
- PromptHub 网站建设
🌏 项目交流讨论
🎉 扫码联系作者,如果你也对本项目感兴趣,欢迎加入 ssprompt 项目群参与讨论交流。
💥 贡献
欢迎大家贡献力量,一起共建 ssprompt,您可以做任何有益事情
- 报告错误
- 建议改进
- 文档贡献
- 代码贡献
...
👏👏👏
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ssprompt-0.0.5.tar.gz
.
File metadata
- Download URL: ssprompt-0.0.5.tar.gz
- Upload date:
- Size: 29.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.6.1 CPython/3.10.12 Darwin/22.5.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a636b6b8dc95d5063682d85f93d0908851349ebae87650067f6c400543abfa3 |
|
MD5 | 6fc5a500f5f8752b5459425ccdfb1d3b |
|
BLAKE2b-256 | b74239c63cf20256a38e1a3b794d00d5ef4f4e5de71781ce0cc71e42f1502b93 |
File details
Details for the file ssprompt-0.0.5-py3-none-any.whl
.
File metadata
- Download URL: ssprompt-0.0.5-py3-none-any.whl
- Upload date:
- Size: 38.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.6.1 CPython/3.10.12 Darwin/22.5.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba98e11afeb1ce9f2381472c30b5071b5b4629f45b4670d01163280554605f64 |
|
MD5 | ba81398ce5ea2279e4c45babdce9a424 |
|
BLAKE2b-256 | 0866bf995ad2d563c047131cf9c4149b2c491460a7dfe9fee8eca3910ec817b7 |