Skip to content

The type of messages in deserialized CreateChatCompletionRequest are all SystemMessage #216

Closed
@sontallive

Description

@sontallive

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 }

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions