#ai-api #artificial-intelligence #openai-api #api-bindings

bin+lib rust-ai

A collection of 3rd-party AI APIs for Rust

22 releases

0.1.22 Feb 22, 2024
0.1.21 Nov 7, 2023
0.1.19 Jun 16, 2023
0.1.18 May 6, 2023
0.1.9 Mar 28, 2023

#219 in Text processing

Download history 1/week @ 2024-02-14 127/week @ 2024-02-21 49/week @ 2024-02-28 240/week @ 2024-03-06 23/week @ 2024-03-13 2/week @ 2024-03-27 9/week @ 2024-04-03

175 downloads per month

Apache-2.0

355KB
6.5K SLoC

AI in Rust

Provide a collection of third-party APIs that give public access to AI capabilities.

WARNING: this crate is NOT PRODUCTION ready.

Support List

OpenAI

Category Variant Tested Models Stream
Chat completions - gpt-4-turbo-preview, gpt-4-0125-preview, gpt-4-1106-vision-preview, gpt-4-1106-preview, gpt-4-vision-preview, gpt-4, gpt-4-0314, gpt-4-0613, gpt-3.5-turbo-0125, gpt-3.5-turbo-1106, gpt-3.5-turbo, gpt-3.5-turbo-16k, gpt-3.5-turbo-16k-0613, gpt-3.5-turbo-0613, gpt-3.5-turbo-0301, text-davinci-003, text-davinci-002, code-davinci-002[^note_3] yes
Completions - gpt-4-turbo-preview, gpt-4-0125-preview, gpt-4-1106-vision-preview, gpt-4-1106-preview, gpt-4-vision-preview, gpt-4, gpt-4-0314, gpt-4-0613, gpt-3.5-turbo-0125, gpt-3.5-turbo-1106, gpt-3.5-turbo, gpt-3.5-turbo-16k, gpt-3.5-turbo-16k-0613, gpt-3.5-turbo-0613, gpt-3.5-turbo-0301, text-davinci-003 yes
Edits - text-davinci-edit-001, code-davinci-edit-001 -
Images Generations dall-e-2, dall-e-3 -
Images Edits dall-e-2 -
Images Variations dall-e-2 -
Embeddings - text-embedding-ada-002[^note_4] -
Audios Transcriptions whisper-1 -
Audios Translation whisper-1 -
Moderation - text-moderation-latest[^note_2], text-moderation-stable -

Note:

  • Updated on Feburary 22nd, 2024.
  • OpenAI's Fine Tunes endpoints are currently not supported.
  • OpenAI's Assistants endpoints are currently not supported.

Azure

Category Capability Endpoint
Cognitive service Speech Text-to-Speech, Voice-List, Speech-to-Text (Batch)

Note:

  • Azure CN is not supported by this repo yet.

Usage

Create a config.yml in your working directory, or root of this crate. Contents like this:

openai:
  api_key: sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  org_id: org-xxx
  base_endpoint: https://api.openai.com
azure:
  speech:
    key: 4c7eXXXXXXXXXXXXXXXXXXXXXXX54c32
    region: westus

If you prefer to load configuration from environment variables, set the contents to RUST_AI_CONFIG like example chat-completion-streamed does.

[^note_2]: OpenAI's responses for moderation indicate usage of text-moderation-004 model (March 23rd, 2023). But developers cannot use its API endpoints to specify variants other than text-moderation-latest and text-moderation-stable.

[^note_3]: GPT-4/GPT-4-0314/GPT-4-0613 tested, GPT-4-32K/GPT-4-32K-0314 not tested because developer currently only has access to 8K token ones (May 6th, 2023).

[^note_4]: You may notice the actual model behind Embedding API to be text-embedding-ada-002-v2 (March 23rd, 2023).

Dependencies

~14–28MB
~497K SLoC