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.8.tar.gz
(30.8 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.8.tar.gz.
File metadata
- Download URL: fast_tavern-0.1.8.tar.gz
- Upload date:
- Size: 30.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e3ddd82f38da3436666471b08c2d83f8ef8a462a0187e2500d95f18c1de1ea70
|
|
| MD5 |
ff86ae9e48e906861a9cbd5bbe794913
|
|
| BLAKE2b-256 |
10eeba7e9b89775bec2fb5fb7e3986189e403cbd59a386d253d486896a01b6bb
|
File details
Details for the file fast_tavern-0.1.8-py3-none-any.whl.
File metadata
- Download URL: fast_tavern-0.1.8-py3-none-any.whl
- Upload date:
- Size: 38.7 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 |
2558b0fe8fb5655a805889153218cbfaebd371a8354de73aacb5fdc791d3195d
|
|
| MD5 |
247c9b02dce7d771ca207fa3e1b98b24
|
|
| BLAKE2b-256 |
d54c2b8b5255a800a696330a1de7feb4f57acc0151d1f8f265b44880b848f70e
|