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.6.tar.gz (30.4 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.6-py3-none-any.whl (38.4 kB view details)

Uploaded Python 3

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

Hashes for fast_tavern-0.1.6.tar.gz
Algorithm Hash digest
SHA256 0a9d109fc5af24a70c0b3220f7eaa7c83f32ae1c67b1379fae9ddbb089e71e02
MD5 d3c459dedacce39314c1095eae3ed700
BLAKE2b-256 77c1349a8b2520047b508a6931d4086c166abca09a54da0ca409e5f2c29d4057

See more details on using hashes here.

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

Hashes for fast_tavern-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 b981225ff4c146510d8ddec6b5afc01637bbf7e2c973421716d975c60c00276e
MD5 0f4c0a9a11bd49fad610496890275c28
BLAKE2b-256 b0e07772c1456da4582afcc10569e761dea4543cc76481fb7ed18d5bf0687c43

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