View Source ExOpenAI.Components.CreateMessageRequest (ex_openai.ex v2.0.0-beta2)

Module for representing the OpenAI schema CreateMessageRequest.

Fields

  • :attachments - optional - [{:%{}, [], [{{:optional, [], [:file_id]}, {{:., [], [{:__aliases__, [alias: false], [:String]}, :t]}, [], []}}, {{:optional, [], [:tools]}, {:list, [], [{:|, [], [{{:., [], [ExOpenAI.Components.AssistantToolsCode, :t]}, [], []}, {{:., [], [ExOpenAI.Components.AssistantToolsFileSearchTypeOnly, :t]}, [], []}]}]}}]}] | any()

  • :content - required - String.t() | [ExOpenAI.Components.MessageContentImageFileObject.t() | ExOpenAI.Components.MessageContentImageUrlObject.t() | ExOpenAI.Components.MessageRequestContentTextObject.t()]

  • :metadata - optional - ExOpenAI.Components.Metadata.t()

  • :role - required - :user | :assistant
    The role of the entity that is creating the message. Allowed values include:

  • user: Indicates the message is sent by an actual user and should be used in most cases to represent user-generated messages.
  • assistant: Indicates the message is generated by the assistant. Use this value to insert messages from the assistant into the conversation.
    Allowed values: "user", "assistant"

Summary

Types

@type t() :: %ExOpenAI.Components.CreateMessageRequest{
  attachments:
    ([
       %{
         optional(:file_id) => String.t(),
         optional(:tools) => [
           ExOpenAI.Components.AssistantToolsCode.t()
           | ExOpenAI.Components.AssistantToolsFileSearchTypeOnly.t()
         ]
       }
     ]
     | any())
    | nil,
  content:
    String.t()
    | [
        (ExOpenAI.Components.MessageContentImageFileObject.t()
         | ExOpenAI.Components.MessageContentImageUrlObject.t())
        | ExOpenAI.Components.MessageRequestContentTextObject.t()
      ],
  metadata: ExOpenAI.Components.Metadata.t() | nil,
  role: :user | :assistant
}