siddarth1872004/prompt-craft
GitHub: siddarth1872004/prompt-craft
一款基于 Streamlit 与 Gemini API 构建的交互式 Prompt 工程工作室,集提示词优化、安全审计、多模型基准测试与自动化断言于一体。
Stars: 0 | Forks: 0
# PromptCraft -- 交互式 Prompt 工程与安全审计工作室
PromptCraft 是一个交互式 prompt 工程、优化和安全审计工作室,使用 **Streamlit** 和 **Google Gemini API** 构建。它可以帮助开发者优化原始 prompt,自动注入 few-shot 示例,根据安全漏洞启发式算法(prompt 注入、越狱、数据泄露)审计 prompt,并评估多模型 token 基准测试。
## 架构拓扑
```
graph TB
subgraph UI_LAYER["Streamlit User Interface - app.py"]
STUDIO["Prompt Workbench and Playground"]
OPT_VIEW["Optimizer and Few-Shot Generator"]
AUDIT_VIEW["Security and Injection Auditor"]
BENCH_VIEW["Token and Latency Benchmark Studio"]
end
subgraph CORE_MODULES["Core Engine"]
ANALYZER["Prompt Analyzer and Security Inspector"]
CFG["Config and Environment Loader"]
TEST_UTIL["Test Suite and Assertions Engine"]
end
subgraph GEMINI_CLIENT["Gemini API Integration - client.py"]
GEMINI_NATIVE["Google GenAI / Gemini 2.0 Client"]
STREAM["Streaming SSE Response Handler"]
end
STUDIO --> ANALYZER
OPT_VIEW --> ANALYZER
AUDIT_VIEW --> ANALYZER
BENCH_VIEW --> ANALYZER
ANALYZER --> GEMINI_CLIENT
GEMINI_CLIENT --> GEMINI_NATIVE
GEMINI_NATIVE --> STREAM
STREAM --> STUDIO
style UI_LAYER fill:#18181b,stroke:#a1a1aa,color:#fff
style CORE_MODULES fill:#000000,stroke:#ffffff,color:#fff
style GEMINI_CLIENT fill:#18181b,stroke:#e4e4e7,color:#fff
```
## Prompt 优化与审计时序图
```
sequenceDiagram
participant User as Developer
participant UI as Streamlit Studio
participant Analyzer as Prompt Analyzer
participant Gemini as Gemini API Client
User->>UI: Input raw prompt draft
UI->>Analyzer: Execute security audit scan
Analyzer->>Analyzer: Check injection heuristics & jailbreak patterns
alt Vulnerability Detected
Analyzer-->>UI: Flag security risk (High/Medium/Low)
end
UI->>Gemini: Request prompt optimization & few-shot generation
Gemini-->>UI: Stream optimized prompt & synthetic test cases
User->>UI: Run benchmark test suite across models
UI->>Gemini: Parallel completion requests
Gemini-->>UI: Return token count, latency & output quality scores
```
## 核心功能
- **自动化 Prompt 优化**:将模糊的指令转化为结构化的、经过 system 角色优化的 prompt,并自动生成 few-shot 示例。
- **Prompt 安全与越狱审计**:扫描输入是否存在 prompt 注入技术、间接越狱以及 system prompt 泄露风险。
- **多模型对比实验场**:执行并排补全,以比较不同模型变体之间的延迟、token 使用量和输出质量。
- **自动化测试断言**:定义验证规则(JSON schema 验证、regex 匹配、关键词包含)以测试 prompt 的可靠性。
## 目录结构
```
prompt-craft/
|-- app.py # Main Streamlit web application & tabbed UI
|-- client.py # Google Gemini API client & response parser
|-- config.py # Settings, model defaults, & environment variables
|-- prompt_analyzer.py # Security audit rules & prompt injection analyzer
|-- test_utils.py # Test suite execution & assertion evaluator
|-- requirements.txt # Streamlit, google-generativeai, python-dotenv dependencies
|-- .env.example # API Key configuration template
|-- README.md # ASCII Architecture & User Documentation
`-- .gitignore # Git ignore rules
```
## 快速入门指南
### 前置条件
- Python 3.10+
- 一个 **Google Gemini API Key**
### 本地设置
1. **克隆代码仓库**:
git clone https://github.com/siddarth1872004/prompt-craft.git
cd prompt-craft
2. **安装依赖**:
pip install -r requirements.txt
3. **配置 API Key**:
cp .env.example .env
# 编辑 .env 并插入 GEMINI_API_KEY=your_key_here
4. **启动 Streamlit 应用**:
streamlit run app.py
5. **在浏览器中打开**:
导航至 `http://localhost:8501`。
## 许可证
基于 **MIT License** 发布。详情请参阅 `LICENSE`。
标签:AI安全审计, DLL 劫持, Gemini API, Kubernetes, Streamlit, 大语言模型, 性能基准测试, 提示词工程, 策略决策点, 访问控制, 逆向工具