Module message

Source
Expand description

Message module for OpenAI tools.

This module provides data structures and functionality for handling OpenAI API messages, including text content, images, tool calls, and multi-modal interactions. It serves as the foundation for communication between users and OpenAI models.

§Core Components

  • Message - The main message structure containing role, content, and metadata
  • Content - Represents different types of content (text, images, etc.)
  • ToolCall - Represents function calls made by OpenAI models

§Supported Content Types

The module supports various content types for rich interactions:

  • Text content: Plain text messages
  • Image content: Images from URLs or local files (PNG, JPEG, GIF)
  • Multi-modal content: Combining text and images in a single message

§Usage in the Library

This module is used throughout the OpenAI tools library:

§Examples

§Basic Text Message

use openai_tools::common::message::Message;
use openai_tools::common::role::Role;

let message = Message::from_string(Role::User, "Hello, how are you?");

§Multi-modal Message with Text and Image

use openai_tools::common::message::{Message, Content};
use openai_tools::common::role::Role;

let contents = vec![
    Content::from_text("What's in this image?"),
    Content::from_image_file("path/to/image.png"),
];
let message = Message::from_message_array(Role::User, contents);

Structs§

Content
Represents different types of content that can be included in a message.
Message
Represents a message in an OpenAI conversation.
ToolCall
Represents a tool call made by an OpenAI model.