swift-transformers

Unit Tests

这是一个实用工具集合,旨在帮助在 Swift 应用中采用语言模型。它尽可能遵循 Python transformers API 和抽象,但也致力于提供符合 Swift 习惯的接口,并且不假设用户事先熟悉 transformerstokenizers

原理和概述

请查看我们的文章

模块

import Tokenizers

func testTokenizer() async throws {
    let tokenizer = try await AutoTokenizer.from(pretrained: "pcuenq/Llama-2-7b-chat-coreml")
    let inputIds = tokenizer("Today she took a train to the West")
    assert(inputIds == [1, 20628, 1183, 3614, 263, 7945, 304, 278, 3122])
}

但是,通常您不需要自己对输入文本进行 token 化处理 - Generation 代码会处理它。

支持的模型

此包已经过以下自回归语言模型的测试:

目前不支持诸如 T5 和 Flan 之类的编码器-解码器模型。 它们在我们的优先级列表中排名很高。

其他工具

SwiftPM

要将 swift-transformers 与 SwiftPM 结合使用,您可以将其添加到您的 Package.swift

dependencies: [
    .package(url: "https://github.com/huggingface/swift-transformers", from: "0.1.5")
]

然后,将 Transformers 库作为依赖项添加到您的目标

targets: [
    .target(
        name: "YourTargetName",
        dependencies: [
            .product(name: "Transformers", package: "swift-transformers")
        ]
    )
]

路线图 / 待办事项

许可证

Apache 2.