9 releases

0.2.1 Sep 11, 2023
0.2.0 Sep 11, 2023
0.1.6 Jul 13, 2023
0.1.3 Jun 30, 2023

#1834 in Network programming

Download history 19/week @ 2024-01-10 16/week @ 2024-01-17 9/week @ 2024-01-24 3/week @ 2024-01-31 18/week @ 2024-02-07 31/week @ 2024-02-14 59/week @ 2024-02-21 50/week @ 2024-02-28 44/week @ 2024-03-06 44/week @ 2024-03-13 60/week @ 2024-03-20 83/week @ 2024-03-27 80/week @ 2024-04-03 77/week @ 2024-04-10 89/week @ 2024-04-17 77/week @ 2024-04-24

348 downloads per month

MIT/Apache

14KB
241 lines

This is a library for integrating Claude in your flow function for flows.network.

Visit Claude

use flowsnet_platform_sdk::logger;
use lambda_flows::{request_received, send_response};
use claude_flows::{
    chat::ChatOptions,
    ClaudeFlows,
};
use serde_json::Value;
use std::collections::HashMap;

#[no_mangle]
#[tokio::main(flavor = "current_thread")]
pub async fn run() {
    logger::init();
    request_received(handler).await;
}

async fn handler(_qry: HashMap<String, Value>, body: Vec<u8>) {
    let co = ChatOptions::default();
    let of = ClaudeFlows::new();

    let r = match of
        .chat_completion(
            "any_conversation_id",
            String::from_utf8_lossy(&body).into_owned().as_str(),
            &co,
        )
        .await
    {
        Ok(c) => c,
        Err(e) => e,
    };

    send_response(
        200,
        vec![(
            String::from("content-type"),
            String::from("text/plain; charset=UTF-8"),
        )],
        r.as_bytes().to_vec(),
    );
}

This example lets you have a conversation with Claude using chat_completion by Lambda request.

The whole document is here.

Dependencies

~1–1.8MB
~41K SLoC