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

Uploaded Python 3

File details

Details for the file fast_tavern-0.1.7.tar.gz.

File metadata

  • Download URL: fast_tavern-0.1.7.tar.gz
  • Upload date:
  • Size: 30.6 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.7.tar.gz
Algorithm Hash digest
SHA256 aff98ea0199c0604fde72636a97f1adcc369ee9786e0aee9e81b9e880ab6e6f2
MD5 436d8e92cea17ba0ef401f94de48e550
BLAKE2b-256 3cd03465a326f0fbf6f70c03b22c155216a00ab30a6c2573d312b1f44e3e74d3

See more details on using hashes here.

File details

Details for the file fast_tavern-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: fast_tavern-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 38.5 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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 0b6a9873864e404c212751eac85dc1dc13ad5e093a04ab5d5108f563024cb7d3
MD5 a14337f214f7ccf6fc467851fdcfc79b
BLAKE2b-256 5ea5c7964627557091f1b9619a564cbfeac7a89281f92a7f4d030512f82eb005

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