pub struct MessageBuilder { /* private fields */ }
Expand description
Builder for Message
.
Implementations§
Source§impl MessageBuilder
impl MessageBuilder
Sourcepub fn role<VALUE: Into<String>>(&mut self, value: VALUE) -> &mut Self
pub fn role<VALUE: Into<String>>(&mut self, value: VALUE) -> &mut Self
Examples found in repository?
examples/text-generation.rs (line 12)
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
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let request = GenerationParamBuilder::default()
.model("qwen-turbo".to_string())
.input(
InputBuilder::default()
.messages(vec![MessageBuilder::default()
.role("user")
.content("你是谁")
.build()
.unwrap()])
.build()?,
)
.parameters(
ParametersBuilder::default()
.result_format("message")
.build()?,
)
.build()?;
let client = Client::new();
let response = client.generation().call(request).await?;
dbg!(response);
Ok(())
}
More examples
examples/qwen-mt.rs (line 12)
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
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let request = GenerationParamBuilder::default()
.model("qwen-mt-turbo".to_string())
.input(
InputBuilder::default()
.messages(vec![MessageBuilder::default()
.role("user")
.content("我看到这个视频后没有笑")
.build()
.unwrap()])
.build()?,
)
.parameters(
ParametersBuilder::default()
.translation_options(
TranslationOptionsBuilder::default()
.source_lang("Chinese")
.target_lang("English")
.build()?,
)
.build()?,
)
.build()?;
let client = Client::new();
let response = client.generation().call(request).await?;
dbg!(response);
Ok(())
}
examples/text-generation-stream.rs (line 13)
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 38 39 40
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let request = GenerationParamBuilder::default()
.model("qwen-turbo".to_string())
.input(
InputBuilder::default()
.messages(vec![MessageBuilder::default()
.role("user")
.content("qwen 大模型系统是谁开发的?")
.build()
.unwrap()])
.build()?,
)
.stream(true)
.parameters(
ParametersBuilder::default()
.result_format("message")
.incremental_output(true)
.build()?,
)
.build()?;
let client = Client::new();
let mut stream = client.generation().call_stream(request).await?;
while let Some(response) = stream.next().await {
match response {
Ok(go) => go.output.choices.iter().for_each(|c| {
print!("{}", c.message.content);
}),
Err(e) => eprintln!("{}", e),
}
}
Ok(())
}
examples/qwen-mt-stream.rs (line 13)
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 38 39 40 41 42 43 44 45
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let request = GenerationParamBuilder::default()
.model("qwen-mt-turbo".to_string())
.input(
InputBuilder::default()
.messages(vec![MessageBuilder::default()
.role("user")
.content("我看到这个视频后没有笑")
.build()
.unwrap()])
.build()?,
)
.stream(true)
.parameters(
ParametersBuilder::default()
// .incremental_output(true) # Qwen-MT模型暂时不支持增量式流式输出,所以此设置无效
.translation_options(
TranslationOptionsBuilder::default()
.source_lang("Chinese")
.target_lang("English")
.build()?,
)
.build()?,
)
.build()?;
let client = Client::new();
let mut stream = client.generation().call_stream(request).await?;
while let Some(response) = stream.next().await {
match response {
Ok(go) => go.output.choices.iter().for_each(|c| {
println!("{}", c.message.content);
}),
Err(e) => eprintln!("{}", e),
}
}
Ok(())
}
Sourcepub fn content<VALUE: Into<String>>(&mut self, value: VALUE) -> &mut Self
pub fn content<VALUE: Into<String>>(&mut self, value: VALUE) -> &mut Self
Examples found in repository?
examples/text-generation.rs (line 13)
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
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let request = GenerationParamBuilder::default()
.model("qwen-turbo".to_string())
.input(
InputBuilder::default()
.messages(vec![MessageBuilder::default()
.role("user")
.content("你是谁")
.build()
.unwrap()])
.build()?,
)
.parameters(
ParametersBuilder::default()
.result_format("message")
.build()?,
)
.build()?;
let client = Client::new();
let response = client.generation().call(request).await?;
dbg!(response);
Ok(())
}
More examples
examples/qwen-mt.rs (line 13)
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
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let request = GenerationParamBuilder::default()
.model("qwen-mt-turbo".to_string())
.input(
InputBuilder::default()
.messages(vec![MessageBuilder::default()
.role("user")
.content("我看到这个视频后没有笑")
.build()
.unwrap()])
.build()?,
)
.parameters(
ParametersBuilder::default()
.translation_options(
TranslationOptionsBuilder::default()
.source_lang("Chinese")
.target_lang("English")
.build()?,
)
.build()?,
)
.build()?;
let client = Client::new();
let response = client.generation().call(request).await?;
dbg!(response);
Ok(())
}
examples/text-generation-stream.rs (line 14)
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 38 39 40
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let request = GenerationParamBuilder::default()
.model("qwen-turbo".to_string())
.input(
InputBuilder::default()
.messages(vec![MessageBuilder::default()
.role("user")
.content("qwen 大模型系统是谁开发的?")
.build()
.unwrap()])
.build()?,
)
.stream(true)
.parameters(
ParametersBuilder::default()
.result_format("message")
.incremental_output(true)
.build()?,
)
.build()?;
let client = Client::new();
let mut stream = client.generation().call_stream(request).await?;
while let Some(response) = stream.next().await {
match response {
Ok(go) => go.output.choices.iter().for_each(|c| {
print!("{}", c.message.content);
}),
Err(e) => eprintln!("{}", e),
}
}
Ok(())
}
examples/qwen-mt-stream.rs (line 14)
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 38 39 40 41 42 43 44 45
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let request = GenerationParamBuilder::default()
.model("qwen-mt-turbo".to_string())
.input(
InputBuilder::default()
.messages(vec![MessageBuilder::default()
.role("user")
.content("我看到这个视频后没有笑")
.build()
.unwrap()])
.build()?,
)
.stream(true)
.parameters(
ParametersBuilder::default()
// .incremental_output(true) # Qwen-MT模型暂时不支持增量式流式输出,所以此设置无效
.translation_options(
TranslationOptionsBuilder::default()
.source_lang("Chinese")
.target_lang("English")
.build()?,
)
.build()?,
)
.build()?;
let client = Client::new();
let mut stream = client.generation().call_stream(request).await?;
while let Some(response) = stream.next().await {
match response {
Ok(go) => go.output.choices.iter().for_each(|c| {
println!("{}", c.message.content);
}),
Err(e) => eprintln!("{}", e),
}
}
Ok(())
}
pub fn partial<VALUE: Into<bool>>(&mut self, value: VALUE) -> &mut Self
Sourcepub fn build(&self) -> Result<Message, MessageBuilderError>
pub fn build(&self) -> Result<Message, MessageBuilderError>
Examples found in repository?
examples/text-generation.rs (line 14)
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
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let request = GenerationParamBuilder::default()
.model("qwen-turbo".to_string())
.input(
InputBuilder::default()
.messages(vec![MessageBuilder::default()
.role("user")
.content("你是谁")
.build()
.unwrap()])
.build()?,
)
.parameters(
ParametersBuilder::default()
.result_format("message")
.build()?,
)
.build()?;
let client = Client::new();
let response = client.generation().call(request).await?;
dbg!(response);
Ok(())
}
More examples
examples/qwen-mt.rs (line 14)
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
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let request = GenerationParamBuilder::default()
.model("qwen-mt-turbo".to_string())
.input(
InputBuilder::default()
.messages(vec![MessageBuilder::default()
.role("user")
.content("我看到这个视频后没有笑")
.build()
.unwrap()])
.build()?,
)
.parameters(
ParametersBuilder::default()
.translation_options(
TranslationOptionsBuilder::default()
.source_lang("Chinese")
.target_lang("English")
.build()?,
)
.build()?,
)
.build()?;
let client = Client::new();
let response = client.generation().call(request).await?;
dbg!(response);
Ok(())
}
examples/text-generation-stream.rs (line 15)
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 38 39 40
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let request = GenerationParamBuilder::default()
.model("qwen-turbo".to_string())
.input(
InputBuilder::default()
.messages(vec![MessageBuilder::default()
.role("user")
.content("qwen 大模型系统是谁开发的?")
.build()
.unwrap()])
.build()?,
)
.stream(true)
.parameters(
ParametersBuilder::default()
.result_format("message")
.incremental_output(true)
.build()?,
)
.build()?;
let client = Client::new();
let mut stream = client.generation().call_stream(request).await?;
while let Some(response) = stream.next().await {
match response {
Ok(go) => go.output.choices.iter().for_each(|c| {
print!("{}", c.message.content);
}),
Err(e) => eprintln!("{}", e),
}
}
Ok(())
}
examples/qwen-mt-stream.rs (line 15)
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 38 39 40 41 42 43 44 45
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let request = GenerationParamBuilder::default()
.model("qwen-mt-turbo".to_string())
.input(
InputBuilder::default()
.messages(vec![MessageBuilder::default()
.role("user")
.content("我看到这个视频后没有笑")
.build()
.unwrap()])
.build()?,
)
.stream(true)
.parameters(
ParametersBuilder::default()
// .incremental_output(true) # Qwen-MT模型暂时不支持增量式流式输出,所以此设置无效
.translation_options(
TranslationOptionsBuilder::default()
.source_lang("Chinese")
.target_lang("English")
.build()?,
)
.build()?,
)
.build()?;
let client = Client::new();
let mut stream = client.generation().call_stream(request).await?;
while let Some(response) = stream.next().await {
match response {
Ok(go) => go.output.choices.iter().for_each(|c| {
println!("{}", c.message.content);
}),
Err(e) => eprintln!("{}", e),
}
}
Ok(())
}
Trait Implementations§
Source§impl Clone for MessageBuilder
impl Clone for MessageBuilder
Source§fn clone(&self) -> MessageBuilder
fn clone(&self) -> MessageBuilder
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl Freeze for MessageBuilder
impl RefUnwindSafe for MessageBuilder
impl Send for MessageBuilder
impl Sync for MessageBuilder
impl Unpin for MessageBuilder
impl UnwindSafe for MessageBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more