The project is in a healthy, maintained state
This gem provides an easy way to use OpenAI's chat API in Ruby on Rails applications
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Runtime

~> 0.18
 Project Readme

OpenAI Single Chat

OpenAI Single Chat is a Ruby gem that provides a simple interface to interact with OpenAI's chat API. It allows you to easily integrate AI-powered chat functionality into your Ruby applications.

Installation

Add this line to your application's Gemfile:

gem 'openai_single_chat'

And then execute:

bundle install

Configuration

Set your OpenAI API key as an environment variable:

export OPENAI_API=your_openai_api_key_here

For Rails applications, you can use the dotenv gem and add your API key to a .env file:

OPENAI_API=your_openai_api_key_here

After setting up your .env file, you may need to take additional steps to ensure the environment variables are loaded:

  • If you're using Docker, you might need to rebuild your container:
    docker-compose build
    docker-compose up
  • For local development, you may need to restart your Rails server.

Make sure your application is configured to load the .env file, typically in your config/application.rb or config/environments/development.rb.

Usage

Here's a basic example of how to use the OpenAI Single Chat gem:

require 'openai_single_chat'

client = OpenaiSingleChat::Client.new
response = client.chat("Hello, AI!")
puts response

Specifying a model

You can specify a different OpenAI model when initializing the client:

client = OpenaiSingleChat::Client.new('gpt-4o')

If no model is specified, it defaults to 'gpt-4o-mini'.

client = OpenaiSingleChat::Client.new
# Uses 'gpt-4o-mini' as the default model

Rails Integration

To use OpenAI Single Chat in a Rails application:

  1. Add the gem to your Gemfile and run bundle install.
  2. Create a controller action in app/controllers/chat_controller.rb:
class ChatController < ApplicationController
  def index
    if params[:message]
      client = OpenaiSingleChat::Client.new
      @response = client.chat(params[:message])
    end
  end
end
  1. Create a view in app/views/chat/index.html.erb:
<h1>Chat with AI</h1>

<%= form_with url: chat_index_path, method: :get, local: true do |f| %>
  <%= f.text_field :message, placeholder: 'Enter your message' %>
  <%= f.submit 'Send' %>
<% end %>

<% if @response %>
  <h2>AI Response:</h2>
  <p><%= @response %></p>
<% end %>
  1. Add the following routes to your config/routes.rb:
Rails.application.routes.draw do
  root 'chat#index'
  get 'chat/index'
  # ... other routes ...
end

License

The gem is available as open source under the terms of the MIT License.