jutella

Crates.iojutella
lib.rsjutella
version0.3.1
sourcesrc
created_at2024-09-19 08:19:46.208616
updated_at2024-09-24 07:39:49.461523
descriptionChatbot API client library and CLI interface.
homepage
repositoryhttps://github.com/dmitry-markin/jutella
max_upload_size
id1380052
size157,014
Dmitry Markin (dmitry-markin)

documentation

README

jutella

License crates.io docs.rs

Chatbot API client library and CLI interface. Currently supports OpenAI chat API, including OpenAI and Azure endpoints.

Command line interface

To get started with CLI, put your API key and endpoint into ~/.config/jutella.toml. See a config example.

Screenshot

Invoking the CLI with jutella -x makes it copy every response to clipboard on X11.

Installation

  1. Install cargo from https://rustup.rs/.

  2. Install the CLI from crates.io with cargo install jutella.

  3. Alternatively, clone the repo and build the CLI with cargo build --release. The resulting executable will be target/release/jutella.

Library

To use the chat API, initialize ChatClient with OPENAI_API_KEY and ChatClientConfig:

let mut chat = ChatClient::new(Auth::Token(api_key), ChatClientConfig::default())?;

Request replies via ChatClient::ask():

let answer = chat.ask("What is the highest point on Earth?".to_string()).await?;
println!("{answer}");

ChatClient keeps the conversation context and uses it with every ask() to generate the reply.

Commit count: 34

cargo fmt