#llm #wrapper #github #client #false #level #pantry

pantry-rs

Rust API 用于处理 pantry 项目,位于 https://github.com/JuliaMerz/pantry

4 个版本

0.0.4 2023 年 10 月 13 日
0.0.3 2023 年 9 月 6 日
0.0.2 2023 年 8 月 30 日
0.0.1 2023 年 8 月 9 日

#3 in #false

每月 25 次下载

MIT/Apache

95KB
1.5K SLoC

pantry.rs

Rust 库,用于 pantry llm 运行器。

docs.rs 阅读文档

使用方法

API 连接到您的本地 pantry 安装,因此您需要先下载 pantry。Pantry LLM API 的客户端库。

示例

强烈建议您使用 PantryClientLLMSession,它们是围绕 PantryAPI 的高级包装。

let perms = UserPermissions {
    perm_superuser: false,
    perm_load_llm: false,
    perm_unload_llm: false,
    perm_download_llm: false,
    perm_session: true, //this is for create_session AND prompt_session
    perm_request_download: true,
    perm_request_load: true,
    perm_request_unload: true,
    perm_view_llms: true,
};

let pantry = PantryClient::register("my project name".into(), perms).await.unwrap();

// Pause here and use the UI to accept the permission request.

// The empty hashmap means we just use default parameters.
// create_session just uses the best currently running LLM. use create_session_id or _flex for
// more finegrained control
let sess = pantry.create_session(HashMap::new()).await.unwrap();

let recv = ses.prompt_session("About me: ".into(), HashMap::new()).await.unwrap();

如果您还没有从 ui 运行 LLM,可以使用

pantry.load_llm_flex(None, None).await.unwrap();

如果您想使用现有的 ggml 基础设施,可以获取裸模型路径

let (model, path) = pantry.bare_model_flex(None, None).await.unwrap();

依赖项

~7–19MB
~254K SLoC