Module message

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.