Class: OmniAI::OpenAI::Chat

Inherits:
Chat
  • Object
show all
Defined in:
lib/omniai/openai/chat.rb,
lib/omniai/openai/chat/stream.rb,
lib/omniai/openai/chat/url_serializer.rb,
lib/omniai/openai/chat/file_serializer.rb,
lib/omniai/openai/chat/text_serializer.rb,
lib/omniai/openai/chat/tool_serializer.rb,
lib/omniai/openai/chat/choice_serializer.rb,
lib/omniai/openai/chat/content_serializer.rb,
lib/omniai/openai/chat/message_serializer.rb,
lib/omniai/openai/chat/response_serializer.rb,
lib/omniai/openai/chat/tool_call_serializer.rb,
lib/omniai/openai/chat/tool_call_result_serializer.rb,
lib/omniai/openai/chat/tool_call_message_serializer.rb

Overview

An OpenAI chat implementation.

Usage:

completion = OmniAI::OpenAI::Chat.process!(client: client) do |prompt|
  prompt.system('You are an expert in the field of AI.')
  prompt.user('What are the biggest risks of AI?')
end
completion.choice.message.content # '...'

Defined Under Namespace

Modules: ChoiceSerializer, ContentSerializer, FileSerializer, MessageSerializer, Model, ReasoningEffort, ResponseFormat, ResponseSerializer, TextSerializer, ToolCallMessageSerializer, ToolCallResultSerializer, ToolCallSerializer, ToolSerializer, URLSerializer, VerbosityText Classes: Stream

Constant Summary collapse

DEFAULT_MODEL =
Model::GPT_5_1
CONTEXT =

Returns:

  • (Context)
Context.build do |context|
  context.serializers[:choice] = ChoiceSerializer.method(:serialize)
  context.deserializers[:choice] = ChoiceSerializer.method(:deserialize)
  context.serializers[:message] = MessageSerializer.method(:serialize)
  context.deserializers[:message] = MessageSerializer.method(:deserialize)
  context.serializers[:text] = TextSerializer.method(:serialize)
  context.deserializers[:text] = TextSerializer.method(:deserialize)
  context.serializers[:response] = ResponseSerializer.method(:serialize)
  context.deserializers[:response] = ResponseSerializer.method(:deserialize)
  context.deserializers[:content] = ContentSerializer.method(:deserialize)
  context.serializers[:file] = FileSerializer.method(:serialize)
  context.serializers[:url] = URLSerializer.method(:serialize)
  context.serializers[:tool] = ToolSerializer.method(:serialize)
  context.serializers[:tool_call] = ToolCallSerializer.method(:serialize)
  context.deserializers[:tool_call] = ToolCallSerializer.method(:deserialize)
  context.serializers[:tool_call_result] = ToolCallResultSerializer.method(:serialize)
  context.deserializers[:tool_call_result] = ToolCallResultSerializer.method(:deserialize)
  context.serializers[:tool_call_message] = ToolCallMessageSerializer.method(:serialize)
  context.deserializers[:tool_call_message] = ToolCallMessageSerializer.method(:deserialize)
end