export type ChatCompletionRequestMessage = { /** * The contents of the message. `content` is required for all messages, and may be null for assistant messages with function calls. */ content: string | null; /** * The name and arguments of a function that should be called, as generated by the model. */ function_call?: { /** * The arguments to call the function with, as generated by the model in JSON format. Note that the model does not always generate valid JSON, and may hallucinate parameters not defined by your function schema. Validate the arguments in your code before calling your function. */ arguments: string; /** * The name of the function to call. */ name: string; }; /** * The name of the author of this message. `name` is required if role is `function`, and it should be the name of the function whose response is in the `content`. May contain a-z, A-Z, 0-9, and underscores, with a maximum length of 64 characters. */ name?: string; /** * The role of the messages author. One of `system`, `user`, `assistant`, or `function`. */ role: "system" | "user" | "assistant" | "function"; };