Skip to main content

CandyFish - 简单文本训练器

CandyFish 是一个轻量级的文本生成与训练工具库,旨在为开发者和研究者提供简单易用的文本生成模型训练和推理接口。

特性

  • 🚀 简单易用:简洁的API设计,几行代码即可开始训练或生成文本
  • 🏗️ 模块化设计:轻松加载、保存和复用模型
  • 🔥 高效训练:支持自定义学习率和训练轮次
  • 🎯 灵活生成:可调节生成温度和长度,满足不同需求
  • 📚 兼容多种格式:支持标准文本对训练数据

安装

pip install candyfish

快速开始

1. 基本使用

from candyfish import Model

# 加载模型
model = Model()
model.load('pretrained_model.spt')

# 文本生成
response = model.generate(
    prompt='<|user|>你好<|assistant|>',
    temperature=0.7,
    max_length=100
)
print(response)

2. 模型训练

from candyfish import Model

# 初始化模型
model = Model()

# 准备训练数据
training_data = [
    ('输入文本1', '目标输出1'),
    ('输入文本2', '目标输出2'),
    # 更多训练样本...
]

# 开始训练
model.train(
    sample=training_data,
    study_lr=0.001,
    epochs=20
)

# 保存模型
model.save('my_trained_model.spt')

API参考

Model 类

load(path)

  • 从指定路径加载预训练模型
  • 参数:
    • path: 模型文件路径

save(path)

  • 将模型保存到指定路径
  • 参数:
    • path: 保存路径

train(sample, study_lr, epochs)

  • 训练模型
  • 参数:
    • sample: 训练样本列表,格式为[(输入文本, 目标文本), ...]
    • study_lr: 学习率 (默认: 0.001)
    • epochs: 训练轮次 (默认: 20)

generate(prompt, temperature, max_length)

  • 根据提示生成文本
  • 参数:
    • prompt: 输入提示文本
    • temperature: 生成温度 (默认: 0.7)
    • max_length: 生成最大长度 (默认: 100)
  • 返回:生成的文本

应用场景

  • 聊天机器人开发
  • 文本自动补全
  • 创意写作辅助
  • 对话系统原型开发
  • 教育领域的问答系统

贡献

欢迎提交issue和pull request!请确保您的代码符合PEP8规范并通过所有测试。

许可证

MIT License

Metadata

Release files for candyfish 2025.8.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for candyfish 2025.8.2
File Size Uploaded
candyfish-2025.8.2.tar.gz 11.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for candyfish 2025.8.2
File Interpreter ABI Platform
candyfish-2025.8.2-py3-none-any.whl Python 3 none any Details

Total release size: 22.8 kB

Release files / candyfish-2025.8.2.tar.gz

Download URL candyfish-2025.8.2.tar.gz
Size 11.7 kB
Tags Source
SHA-256 checksum
How to use checksums
b6f9ca513deec14c885932ce82355b58c428b0ce6a50524bcf70ac0e9b04988a
BLAKE2b-256 checksum
How to use checksums
7e5c7ce03f0d90f1cdec1d59cdb8c4b9b9c8d3100a488f85fb865077495f5dda
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.32.4

Release files / candyfish-2025.8.2-py3-none-any.whl

Download URL candyfish-2025.8.2-py3-none-any.whl
Size 11.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4dcc1b71e66a7ad780696ea85d10ad47e3e0952c0162e61b794290ae43243769
BLAKE2b-256 checksum
How to use checksums
154c6020cdcbd0e807a8d6e35f8e00e3f610d70bd340dd51c7f3825cf07e1752
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.32.4

Release history Release notifications | RSS feed

This release

2025.8.2 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page