Skip to content

Commit 6a68775

Browse files
author
Dongri Jin
committed
Add chat gpt api
1 parent 6c80991 commit 6a68775

File tree

13 files changed

+290
-191
lines changed

13 files changed

+290
-191
lines changed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "openai-api-rs"
3-
version = "0.1.1"
3+
version = "0.1.2"
44
edition = "2021"
55
authors = ["Dongri Jin <[email protected]>"]
66
license = "MIT"

README.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,38 @@
44
Cargo.toml
55
```toml
66
[dependencies]
7-
openai-api-rs = "0.1"
7+
openai-api-rs = "0.1.2"
88
```
99

1010
## Example:
1111
```bash
1212
export OPENAI_API_KEY={YOUR_API}
1313
```
1414

15+
### Chat
16+
```rust
17+
use openai_api_rs::v1::api::Client;
18+
use openai_api_rs::v1::chat_completion::{self, ChatCompletionRequest};
19+
use std::env;
20+
21+
#[tokio::main]
22+
async fn main() -> Result<(), Box<dyn std::error::Error>> {
23+
let client = Client::new(env::var("OPENAI_API_KEY").unwrap().to_string());
24+
let req = ChatCompletionRequest {
25+
model: chat_completion::GPT3_5_TURBO.to_string(),
26+
messages: vec![chat_completion::ChatCompletionMessage {
27+
role: chat_completion::MessageRole::user,
28+
content: String::from("NFTとは?"),
29+
}],
30+
};
31+
let result = client.chat_completion(req).await?;
32+
println!("{:?}", result.choices[0].message.content);
33+
34+
Ok(())
35+
}
36+
```
37+
38+
### Completion
1539
```rust
1640
use openai_api_rs::v1::completion::{self, CompletionRequest};
1741
use openai_api_rs::v1::api::Client;

examples/chat_completion.rs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
use openai_api_rs::v1::api::Client;
2+
use openai_api_rs::v1::chat_completion::{self, ChatCompletionRequest};
3+
use std::env;
4+
5+
#[tokio::main]
6+
async fn main() -> Result<(), Box<dyn std::error::Error>> {
7+
let client = Client::new(env::var("OPENAI_API_KEY").unwrap().to_string());
8+
let req = ChatCompletionRequest {
9+
model: chat_completion::GPT3_5_TURBO.to_string(),
10+
messages: vec![chat_completion::ChatCompletionMessage {
11+
role: chat_completion::MessageRole::user,
12+
content: String::from("NFTとは?"),
13+
}],
14+
};
15+
let result = client.chat_completion(req).await?;
16+
println!("{:?}", result.choices[0].message.content);
17+
18+
Ok(())
19+
}
20+
21+
// OPENAI_API_KEY=xxxx cargo run --package openai-api-rs --example chat_completion

examples/completion.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use openai_api_rs::v1::completion::{self, CompletionRequest};
21
use openai_api_rs::v1::api::Client;
2+
use openai_api_rs::v1::completion::{self, CompletionRequest};
33
use std::env;
44

55
#[tokio::main]
@@ -22,11 +22,11 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
2222
best_of: None,
2323
logit_bias: None,
2424
user: None,
25-
};
25+
};
2626
let result = client.completion(req).await?;
2727
println!("{:}", result.choices[0].text);
2828

2929
Ok(())
3030
}
3131

32-
// cargo run --package openai-rs --example completion
32+
// OPENAI_API_KEY=xxxx cargo run --package openai-api-rs --example completion

0 commit comments

Comments
 (0)