6 releases

0.4.2 Jan 20, 2024
0.4.1 Dec 17, 2023
0.4.0 Nov 24, 2023
0.3.1 Nov 19, 2023
0.2.0 Nov 19, 2023

#2033 in Web programming

MIT license

135KB
1K SLoC

LLM-SDK

SDK for OpenAI compatible APIs.

Usage

Add llm-sdk by using cargo add llm-sdk.

Features

  • Embedding API
  • Transcription & Translation API
  • Speech API
  • Chat Completion API with tools
  • Chat Completion API streaming
  • Chat Completion API with image input
  • Create Image API
  • Create Image Edit API
  • Create Image Variant API

As assistant API is still in Beta and is super slow, so we don't have plan to support it (and relevant file APIs) for now.

Examples

Here are some examples of how to use the SDK:

// create image
let sdk = LlmSdk::new("https://api.openai.com/v1", "your-api-key");
let req = CreateImageRequest::new("A happy little tree");
let res = sdk.create_image(req);

// chat completion
let messages = vec![
    ChatCompletionMessage::new_system("I can answer any question you ask me.", ""),
    ChatCompletionMessage::new_user("What is human life expectancy in the world?", "user1"),
];
let req = ChatCompletionRequest::new(messages);
let res = sdk.chat_completion(req).await?;

For more usage, please check the test cases.

Dependencies

~6–19MB
~279K SLoC