A framework-agnostic prompt engine: preset + worldbook + character + regex + macros -> compiled messages.
Project description
fast-tavern(Python 版)
Repo: Lianues/fast-tavern
这是主项目 fast-tavern 的 Python 移植版,目标是对齐 TypeScript 实现的行为(提示词组装与多阶段调试输出)。
安装(开发期)
在本目录下执行:
pip install -e .[dev]
pytest
打包/发布
在本目录下执行:
pip install build twine
python -m build
twine upload dist/*
快速开始(与 TS 用法对齐)
from fast_tavern import build_prompt, History
result = build_prompt(
preset=preset,
character=character,
globals={"worldBooks": world_books, "regexScripts": regex_scripts},
history=History.openai(
[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello"},
{"role": "assistant", "content": "Hi!"},
]
),
view="model",
macros={"user": "Bob"},
variables={"score": 1},
output_format="openai",
system_role_policy="keep",
)
print(result["stages"]["tagged"]["afterPostRegex"])
### 旧酒馆格式直接调用(包装入口)
```python
from fast_tavern import build_prompt_from_silly_tavern
result = build_prompt_from_silly_tavern(
preset=legacy_preset_settings, # 旧 ST preset/settings
character=legacy_character, # 可选,旧 ST character
globals={
"worldBooks": legacy_worldbooks,
"regexScripts": legacy_regexes,
},
history=legacy_chat,
view="model",
outputFormat="openai",
)
也可单独调用转换函数:
convert_preset_from_silly_tavern/convert_worldbook_from_silly_tavernconvert_regex_from_silly_tavern/convert_character_from_silly_tavern/convert_history_from_silly_tavern
print(result["stages"]["output"]["afterPostRegex"])
### Regex flags 说明(与 TS 的差异点)
- `findRegex` 支持 `"/pattern/flags"` 与 `"pattern"` 两种写法。
- flags 映射:`i/m/s` -> Python `re` 对应 flags;`g` 用于决定“替换一次/全部”;`u` 默认等价;`y` 不支持(若遇到会按普通正则处理)。
### 发布后安装
```bash
pip install fast-tavern
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
fast_tavern-0.1.6.tar.gz
(30.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fast_tavern-0.1.6.tar.gz.
File metadata
- Download URL: fast_tavern-0.1.6.tar.gz
- Upload date:
- Size: 30.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a9d109fc5af24a70c0b3220f7eaa7c83f32ae1c67b1379fae9ddbb089e71e02
|
|
| MD5 |
d3c459dedacce39314c1095eae3ed700
|
|
| BLAKE2b-256 |
77c1349a8b2520047b508a6931d4086c166abca09a54da0ca409e5f2c29d4057
|
File details
Details for the file fast_tavern-0.1.6-py3-none-any.whl.
File metadata
- Download URL: fast_tavern-0.1.6-py3-none-any.whl
- Upload date:
- Size: 38.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b981225ff4c146510d8ddec6b5afc01637bbf7e2c973421716d975c60c00276e
|
|
| MD5 |
0f4c0a9a11bd49fad610496890275c28
|
|
| BLAKE2b-256 |
b0e07772c1456da4582afcc10569e761dea4543cc76481fb7ed18d5bf0687c43
|