llm 项目介绍
llm 是一个专为 Rust 开发者设计的大型语言模型生态系统。该项目旨在让每个人都能轻松使用大型语言模型,它建立在高效的 GGML 机器学习库之上。
项目概述
llm 项目主要包含以下几个部分:
- llm crate: 这是开发者使用的主要入口点,封装了 llm-base 和各个模型 crate。
- llm-cli: 一个命令行应用程序,为终端用户提供了方便的界面来与支持的模型进行交互。
- ggml 库: llm 项目使用 ggml 张量库作为底层支持,目前仅支持 CPU 推理,但未来有望支持 GPU 推理。
支持的模型
llm 目前支持多种流行的大型语言模型,包括:
- BLOOM
- GPT-2
- GPT-J
- GPT-NeoX (包括 StableLM, RedPajama, Dolly 2.0 等)
- LLaMA (包括 Alpaca, Vicuna, Koala, GPT4All, Wizard 等)
- MPT
使用方法
开发者可以通过在 Cargo.toml 中添加 llm 依赖来在 Rust 项目中使用它。终端用户则可以下载预构建的 llm-cli 可执行文件,或者从源代码构建安装。
llm-cli 支持多种使用模式:
- 一次性文本生成
- 交互式 REPL 模式
- 聊天模式
- 模型序列化
- 模型量化
- 计算模型复杂度
获取模型
llm 支持使用 GGML 格式的模型文件,这些模型主要可以从 Hugging Face 上获取。用户需要根据自己的需求选择合适的量化级别。
特色功能
- 支持使用 Hugging Face tokenizers 来提高分词质量
- 支持会话持久化,可以保存和加载会话状态
- 提供模型量化功能
- 支持 Docker 和 NixOS
社区生态
llm 项目拥有活跃的社区,欢迎通过 GitHub Issues、Discussions 或 Discord 参与讨论。该项目也接受社区贡献。目前已有多个应用和库基于 llm 构建,如 llmcord、local.ai、llm-chain 等。
总的来说,llm 项目为 Rust 开发者提供了一个强大而易用的大型语言模型工具包,让在 Rust 中使用先进的 AI 语言模型变得更加简单。