9个版本
新增 0.3.3 | 2024年8月21日 |
---|---|
0.3.2 | 2024年8月21日 |
0.3.0 | 2024年7月15日 |
0.2.0 | 2023年9月11日 |
0.1.3 | 2023年8月10日 |
1644 在 网络编程
每月510次下载
19KB
296 行
lib.rs
:
为Flows.network提供的LLM服务集成
快速入门
要开始,让我们写一个微小的flow函数。
use llmservice_flows::{
chat::ChatOptions,
LLMServiceFlows,
};
use lambda_flows::{request_received, send_response};
use serde_json::Value;
use std::collections::HashMap;
#[no_mangle]
#[tokio::main(flavor = "current_thread")]
pub async fn run() {
request_received(handler).await;
}
async fn handler(_qry: HashMap<String, Value>, body: Vec<u8>) {
let co = ChatOptions {
model: Some("gpt-4"),
token_limit: 8192,
..Default::default()
};
let mut lf = LLMServiceFlows::new("https://api.openai.com/v1");
lf.set_api_key("your api key");
let r = match lf.chat_completion(
"any_conversation_id",
String::from_utf8_lossy(&body).into_owned().as_str(),
&co,
)
.await
{
Ok(c) => c.choice,
Err(e) => e,
};
send_response(
200,
vec![(
String::from("content-type"),
String::from("text/plain; charset=UTF-8"),
)],
r.as_bytes().to_vec(),
);
}
当接收到Lambda请求时,使用LLMServiceFlows::chat_completion进行聊天,然后发送响应。
依赖项
~6–18MB
~264K SLoC