mesh

Crates.iomesh
lib.rsmesh
version0.5.2
created_at2024-09-05 17:51:14.853038+00
updated_at2024-09-12 20:46:49.527638+00
descriptionRust SDK to build AI-powered apps
homepagehttps://github.com/roushou/mesh
repositoryhttps://github.com/roushou/mesh
max_upload_size
id1364932
size4,142
Roushou (roushou)

documentation

README

Mesh

Crates.io MIT licensed APACHE-2.0 licensed Build Status

Mesh is a Rust SDK designed to build AI-powered applications using (popular) LLM providers such as Anthropic, OpenAI, Replicate and more.

More information about this crate can be found in the crate documentation.

Getting started

Add mesh as a dependency in your application.

$ cargo add mesh

An example to create a message using Claude 3.5 Sonnet from Anthropic.

use mesh::anthropic::{
    client::Client,
    completion::message::{Content, ContentType, Message, MessageRequest, Role},
    config::Config,
    models::claude::ClaudeModel,
};

#[tokio::main]
async fn main() {
    let api_key = std::env::var("ANTHROPIC_API_KEY").expect("ANTHROPIC_API_KEY should be defined");

    let config = Config::new(api_key);
    let client = Client::new(config).unwrap();

    let message = MessageRequest {
        model: ClaudeModel::Claude35Sonnet,
        max_tokens: 1024,
        messages: vec![Message {
            role: Role::User,
            content: vec![Content {
                content_type: ContentType::Text,
                text: "Explain the theory of relativity".to_string(),
            }],
        }],
        ..Default::default()
    };

    let result = client.create_message(message.clone()).await.unwrap();
    println!("{:?}", result);
}

Licenses

This project is licensed under the MIT license and Apache-2.0 license.

Commit count: 45

cargo fmt