forked from 1jehuang/jcode
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_api.rs
More file actions
37 lines (31 loc) · 1.05 KB
/
test_api.rs
File metadata and controls
37 lines (31 loc) · 1.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
use futures::StreamExt;
use jcode::message::{ContentBlock, Message, ToolDefinition};
use jcode::provider::Provider;
use jcode::provider::claude::ClaudeProvider;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
println!("Testing deprecated legacy Claude CLI provider...");
let provider = ClaudeProvider::new();
let messages = vec![Message {
role: jcode::message::Role::User,
content: vec![ContentBlock::Text {
text: "Say hello in exactly 5 words.".to_string(),
cache_control: None,
}],
timestamp: None,
tool_duration_ms: None,
}];
let tools: Vec<ToolDefinition> = vec![];
let system = "You are a helpful assistant.";
println!("Sending request...");
let mut stream = provider.complete(&messages, &tools, system, None).await?;
println!("Response:");
while let Some(event) = stream.next().await {
match event {
Ok(e) => print!("{:?} ", e),
Err(e) => eprintln!("Error: {}", e),
}
}
println!("\nDone!");
Ok(())
}