await-openai

Crates.ioawait-openai
lib.rsawait-openai
version0.23.0
sourcesrc
created_at2024-01-19 08:13:15.063168
updated_at2024-08-19 06:10:29.16002
descriptionutils for openai
homepagehttps://github.com/washanhanzi/await-openai
repositoryhttps://github.com/washanhanzi/await-openai
max_upload_size
id1105061
size178,406
Jingyu (washanhanzi)

documentation

README

about this workspace

ease your way to work with openai, gemini and anthropic api

[!WARNING] wip, not stable.

use full version number as dependency.

breaking change may happen in minor version update until 1.0.0.

await-openai

only support chat completion for now

compare to async-openai

  • dedicate completion chunk type
  • only types

features

tiktoken

tokens usage calculation for openai api.

support tools tokens usage estimation and image tokens usage calculation.

tool

blazing fast serilization compared to openai-func-enums

claude

transform openai's request to anthropic's request.

transform authropic's response to openai's response.

benchmark

Test Category Test Performed Time (ns or µs) Outliers
Deserialize Default Request 413.61 ns - 415.89 ns
Deserialize Default Request with async-openai 432.63 ns - 433.11 ns 6 (6.00%): 2 low mild, 2 high mild, 2 high severe
Deserialize Image Input Request 1.1024 µs - 1.1066 µs 5 (5.00%): 1 low severe, 1 low mild, 2 high mild, 1 high severe
Serialize Default Request 477.29 ns - 479.68 ns
Serialize With async-openai builder pattern 847.53 ns - 851.97 ns 6 (6.00%): 1 low mild, 3 high mild, 2 high severe
Serialize Function Tool 910.31 ns - 912.73 ns 13 (13.00%): 5 high mild, 8 high severe
Serialize Function Tool with Func Enum 6.4547 µs - 6.4676 µs 8 (8.00%): 6 high mild, 2 high severe

async-gemini

async-claude

Commit count: 60

cargo fmt