Skip to content

walterbm/cohere-rust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cohere Rust SDK

This crate provides a simplified interface with the cohere.ai API in Rust.

Documentation

See the Cohere API's documentation.

Also see some code examples for the SDK here.

Usage

To use this crate, you must first obtain a Cohere API key. Once you have an API key you can either set it as the COHERE_API_KEY environment variable or pass it directly when constructing the client.

Additionally, this crate relies on the tokio async-runtime to make all the API operations non-blocking.

This is a basic example of the creating the client and using the generate endpoint.

use cohere_rust::api::{
    generate::{GenerateRequest, ReturnLikelihoods},
    Truncate,
};
use cohere_rust::Cohere;

#[tokio::main]
async fn main() {
    // automatically reads API key from `COHERE_API_KEY`
    let co = Cohere::default();

    let request = GenerateRequest {
        max_tokens: Some(20),
        return_likelihoods: Some(ReturnLikelihoods::None),
        truncate: Some(Truncate::End),
        prompt: "Once upon a time in a magical land called",
        ..Default::default()
    };

    match co.generate(&request).await {
        Ok(r) => println!("Generate response: {:?}", r),
        Err(e) => {
            println!("Generate failed! {}", e)
        }
    }
}

Example usage of other endpoints can be found here.

Versioning

This SDK supports the latest API version. For more information, please refer to the Versioning Docs.

Endpoints

For a full breakdown of endpoints and arguments, please consult the Cohere Docs.

Cohere Endpoint Function
/generate co.generate()
/chat co.chat()
/embed co.embed()
/rerank co.rerank()
/classify co.classify()
/summarize co.summarize()
/tokenize co.tokenize()
/detokenize co.detokenize()
/detect-language co.detect_language()
/check-api-key co.check_api_key()

Responses

All of the endpoint functions will return a Cohere object corresponding to the endpoint (e.g. for generate, it would be GenerateResponse). The names of these fields and a detailed breakdown of the response body can be found in the Cohere Docs.

Errors

Unsuccessful API calls from the SDK will return an error. Please see the documentation's page on errors for more information about what the errors mean.

About

Rust crate for accessing the Cohere API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages