Closed
Description
I want to deserialize request json to CreateChatCompletionRequest
but i found the messages are all System.
code
use async_openai::types::{
ChatCompletionRequestSystemMessageArgs, ChatCompletionRequestUserMessageArgs,
CreateChatCompletionRequest, CreateChatCompletionRequestArgs,
};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let request: CreateChatCompletionRequest = CreateChatCompletionRequestArgs::default()
.messages([
ChatCompletionRequestSystemMessageArgs::default()
.content("your are a calculator")
.build()?
.into(),
ChatCompletionRequestUserMessageArgs::default()
.content("what is the result of 1+1")
.build()?
.into(),
])
.build()?;
// serialize the request
let serialized = serde_json::to_string(&request)?;
println!("{}", serialized);
// deserialize the request
let deserialized: CreateChatCompletionRequest = serde_json::from_str(&serialized)?;
println!("{:?}", deserialized);
Ok(())
}
result
{"messages":[{"content":"your are a calculator","role":"system"},{"content":"what is the result of 1+1","role":"user"}],"model":""}
CreateChatCompletionRequest { messages: [System(ChatCompletionRequestSystemMessage { content: "your are a calculator", role: System, name: None }), System(ChatCompletionRequestSystemMessage { content: "what is the result of 1+1", role: User, name: None })], model: "", frequency_penalty: None, logit_bias: None, logprobs: None, top_logprobs: None, max_tokens: None, n: None, presence_penalty: None, response_format: None, seed: None, stop: None, stream: None, temperature: None, top_p: None, tools: None, tool_choice: None, user: None, function_call: None, functions: None }