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.5.tar.gz
(30.2 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.5.tar.gz.
File metadata
- Download URL: fast_tavern-0.1.5.tar.gz
- Upload date:
- Size: 30.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ae7e0d8955e5da4dceb9f09a9a753ecc82e2af83ce96c05d4421ce9e7bfb5df
|
|
| MD5 |
6786ef61d1a8ea82cde0060732149882
|
|
| BLAKE2b-256 |
e80164ef34b7f56c3d15efa9739fff992ee5e064c0aba102729458f5f494e406
|
File details
Details for the file fast_tavern-0.1.5-py3-none-any.whl.
File metadata
- Download URL: fast_tavern-0.1.5-py3-none-any.whl
- Upload date:
- Size: 38.3 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 |
37bae4f4222f524743f9f02c436c11c0b86ac20600ee8766d1725ad4cdd56ee7
|
|
| MD5 |
ffc007fd991e311f39bc86b2fc4246ec
|
|
| BLAKE2b-256 |
865a11c3e59b737bb6f140c8740eb9fe844ec293848623b6dba82265bc2147fe
|