Skip to main content

A framework-agnostic prompt engine: preset + worldbook + character + regex + macros -> compiled messages.

Project description

fast-tavern(Python 版)

Repo: Lianues/fast-tavern

这是主项目 fast-tavernPython 移植版,目标是对齐 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_tavern
  • convert_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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fast_tavern-0.1.5-py3-none-any.whl (38.3 kB view details)

Uploaded Python 3

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

Hashes for fast_tavern-0.1.5.tar.gz
Algorithm Hash digest
SHA256 6ae7e0d8955e5da4dceb9f09a9a753ecc82e2af83ce96c05d4421ce9e7bfb5df
MD5 6786ef61d1a8ea82cde0060732149882
BLAKE2b-256 e80164ef34b7f56c3d15efa9739fff992ee5e064c0aba102729458f5f494e406

See more details on using hashes here.

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

Hashes for fast_tavern-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 37bae4f4222f524743f9f02c436c11c0b86ac20600ee8766d1725ad4cdd56ee7
MD5 ffc007fd991e311f39bc86b2fc4246ec
BLAKE2b-256 865a11c3e59b737bb6f140c8740eb9fe844ec293848623b6dba82265bc2147fe

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page