Ruby On Rails

10 min

How to Use ChatGPT API with Ruby on Rails

How to Use ChatGPT API with Ruby on Rails

Agnesh ( ROR Developer )

Sachin Gevariya

Founder and Technical Director

Side-by-side comparison showing Rails CSV export memory usage: naive in-memory approach consuming 76 MB+ versus streaming approach holding steady at 1 MB for 1 million rows

What is chatGPT?

ChatGPT is a natural language processing tool developed by the AI research company OpenAI.
Released in Novermber 2022. ChatGPT allows user to ask it questions using conversational, or
natural, language. The language model can answer questions and assist you with tasks like
composing emails, essays, and code.

allows a user to ask it questions using conversational, or natural, language

Now let’s back to our topic.

Here are the steps using which we can easily integergrate Chatgpt’s API in your rails application.

1. Install Gem

First of all, we need to add openAI gem into our gemfile. File: Gemfile

gem <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"ruby-openai"</span></span
gem <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"ruby-openai"</span></span
gem <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"ruby-openai"</span></span

Then, run bundle install.

2. ChatGPT-related configuration.

Once you’ve installed the gem, we need to set up openAI API key

2.1 Where do we find openAI key?

Get your API key from https://beta.openai.com/account/api-keys

NOTE: If you are not registered/login into this URL then first do that.

We can pass the API key directly to a new client, like

client <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">=</span> OpenAI<span class="token double-colon punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">::</span><span class="token class-name" style="box-sizing: border-box; color: rgb(221, 74, 104);">Client</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span><span class="token keyword keyword-new" style="box-sizing: border-box; color: rgb(0, 119, 170);">new</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">(</span><span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">access_token</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"your_key"</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">)</span
client <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">=</span> OpenAI<span class="token double-colon punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">::</span><span class="token class-name" style="box-sizing: border-box; color: rgb(221, 74, 104);">Client</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span><span class="token keyword keyword-new" style="box-sizing: border-box; color: rgb(0, 119, 170);">new</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">(</span><span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">access_token</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"your_key"</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">)</span
client <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">=</span> OpenAI<span class="token double-colon punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">::</span><span class="token class-name" style="box-sizing: border-box; color: rgb(221, 74, 104);">Client</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span><span class="token keyword keyword-new" style="box-sizing: border-box; color: rgb(0, 119, 170);">new</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">(</span><span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">access_token</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"your_key"</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">)</span

2.2. Added into our app

let’s create a ChatGPT client in our Rails app.

To do this just follow the suggested steps.

Create a new route in our app, like so

get <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'/chat_gpt'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span> <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">to</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'communication'</span></span
get <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'/chat_gpt'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span> <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">to</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'communication'</span></span
get <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'/chat_gpt'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span> <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">to</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'communication'</span></span

Now create communication_controller.rb file.

<span class="token keyword keyword-class" style="box-sizing: border-box; color: rgb(0, 119, 170);">class</span> <span class="token class-name" style="box-sizing: border-box; color: rgb(221, 74, 104);">CommunicationController</span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">&lt;</span> ActionController<span class="token double-colon punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">::</span>Base
    skip_before_action <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">:verify_authenticity_token</span>

    <span class="token keyword keyword-def" style="box-sizing: border-box; color: rgb(0, 119, 170);">def</span> <span class="token method-definition" style="box-sizing: border-box;"><span class="token function" style="box-sizing: border-box; color: rgb(221, 74, 104);">chat_gpt</span></span>
        <span class="token keyword keyword-return" style="box-sizing: border-box; color: rgb(0, 119, 170);">return</span> <span class="token keyword keyword-unless" style="box-sizing: border-box; color: rgb(0, 119, 170);">unless</span> params<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'question'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span>present<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">?</span>

        <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@client</span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">=</span> OpenAI<span class="token double-colon punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">::</span><span class="token class-name" style="box-sizing: border-box; color: rgb(221, 74, 104);">Client</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span><span class="token keyword keyword-new" style="box-sizing: border-box; color: rgb(0, 119, 170);">new</span> <span class="token comment" style="box-sizing: border-box; color: rgb(112, 128, 144);">#(access_token: "your_key")</span>
        <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@response</span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">=</span> <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@client</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span>completions<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">(</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">parameters</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">{</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">model</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"text-davinci-003"</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">prompt</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> params<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'question'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">max_tokens</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token number" style="box-sizing: border-box; color: rgb(153, 0, 85);">2000</span>
        <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">}</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">)</span>

    <span class="token keyword keyword-end" style="box-sizing: border-box; color: rgb(0, 119, 170);">end</span>
<span class="token keyword keyword-end" style="box-sizing: border-box; color: rgb(0, 119, 170);">end</span

<span class="token keyword keyword-class" style="box-sizing: border-box; color: rgb(0, 119, 170);">class</span> <span class="token class-name" style="box-sizing: border-box; color: rgb(221, 74, 104);">CommunicationController</span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">&lt;</span> ActionController<span class="token double-colon punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">::</span>Base
    skip_before_action <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">:verify_authenticity_token</span>

    <span class="token keyword keyword-def" style="box-sizing: border-box; color: rgb(0, 119, 170);">def</span> <span class="token method-definition" style="box-sizing: border-box;"><span class="token function" style="box-sizing: border-box; color: rgb(221, 74, 104);">chat_gpt</span></span>
        <span class="token keyword keyword-return" style="box-sizing: border-box; color: rgb(0, 119, 170);">return</span> <span class="token keyword keyword-unless" style="box-sizing: border-box; color: rgb(0, 119, 170);">unless</span> params<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'question'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span>present<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">?</span>

        <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@client</span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">=</span> OpenAI<span class="token double-colon punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">::</span><span class="token class-name" style="box-sizing: border-box; color: rgb(221, 74, 104);">Client</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span><span class="token keyword keyword-new" style="box-sizing: border-box; color: rgb(0, 119, 170);">new</span> <span class="token comment" style="box-sizing: border-box; color: rgb(112, 128, 144);">#(access_token: "your_key")</span>
        <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@response</span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">=</span> <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@client</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span>completions<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">(</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">parameters</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">{</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">model</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"text-davinci-003"</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">prompt</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> params<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'question'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">max_tokens</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token number" style="box-sizing: border-box; color: rgb(153, 0, 85);">2000</span>
        <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">}</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">)</span>

    <span class="token keyword keyword-end" style="box-sizing: border-box; color: rgb(0, 119, 170);">end</span>
<span class="token keyword keyword-end" style="box-sizing: border-box; color: rgb(0, 119, 170);">end</span

<span class="token keyword keyword-class" style="box-sizing: border-box; color: rgb(0, 119, 170);">class</span> <span class="token class-name" style="box-sizing: border-box; color: rgb(221, 74, 104);">CommunicationController</span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">&lt;</span> ActionController<span class="token double-colon punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">::</span>Base
    skip_before_action <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">:verify_authenticity_token</span>

    <span class="token keyword keyword-def" style="box-sizing: border-box; color: rgb(0, 119, 170);">def</span> <span class="token method-definition" style="box-sizing: border-box;"><span class="token function" style="box-sizing: border-box; color: rgb(221, 74, 104);">chat_gpt</span></span>
        <span class="token keyword keyword-return" style="box-sizing: border-box; color: rgb(0, 119, 170);">return</span> <span class="token keyword keyword-unless" style="box-sizing: border-box; color: rgb(0, 119, 170);">unless</span> params<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'question'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span>present<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">?</span>

        <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@client</span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">=</span> OpenAI<span class="token double-colon punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">::</span><span class="token class-name" style="box-sizing: border-box; color: rgb(221, 74, 104);">Client</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span><span class="token keyword keyword-new" style="box-sizing: border-box; color: rgb(0, 119, 170);">new</span> <span class="token comment" style="box-sizing: border-box; color: rgb(112, 128, 144);">#(access_token: "your_key")</span>
        <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@response</span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">=</span> <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@client</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span>completions<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">(</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">parameters</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">{</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">model</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"text-davinci-003"</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">prompt</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> params<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'question'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">max_tokens</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token number" style="box-sizing: border-box; color: rgb(153, 0, 85);">2000</span>
        <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">}</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">)</span>

    <span class="token keyword keyword-end" style="box-sizing: border-box; color: rgb(0, 119, 170);">end</span>
<span class="token keyword keyword-end" style="box-sizing: border-box; color: rgb(0, 119, 170);">end</span

2.3 Now let’s work on the view part.

NOTE: Here i have simply implemented the view part, You can make it more attractive if
you want.

FILE: views/communication/chat_gpt.html.erb

<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">&lt;</span>h2<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">&gt;</span>Send a message<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">&lt;</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">/</span>h2<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">&gt;</span>
<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">&lt;</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">%=</span> form_tag<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">(</span>chat_gpt_path<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span> <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">:method</span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">=&gt;</span> <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">:get</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">)</span> <span class="token keyword keyword-do" style="box-sizing: border-box; color: rgb(0, 119, 170);">do</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">%&gt;
    &lt;%= text_field_tag 'question', nil, placeholder: 'your quetsion
please' %&gt;</span></span>
<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">&lt;</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">%</span> <span class="token keyword keyword-end" style="box-sizing: border-box; color: rgb(0, 119, 170);">end</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">%&gt;

# I AM TAKING RESPONSES ON THE SAME PAGE.
&lt;div class="anwser"&gt;</span></span>
<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">&lt;</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">%=</span> <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@response</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'choices'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token number" style="box-sizing: border-box; color: rgb(153, 0, 85);">0</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'text'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span> <span class="token keyword keyword-if" style="box-sizing: border-box; color: rgb(0, 119, 170);">if</span> <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@response</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span>present<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">?</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">%&gt;
&lt;/div&gt;</span></span

<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">&lt;</span>h2<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">&gt;</span>Send a message<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">&lt;</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">/</span>h2<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">&gt;</span>
<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">&lt;</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">%=</span> form_tag<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">(</span>chat_gpt_path<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span> <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">:method</span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">=&gt;</span> <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">:get</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">)</span> <span class="token keyword keyword-do" style="box-sizing: border-box; color: rgb(0, 119, 170);">do</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">%&gt;
    &lt;%= text_field_tag 'question', nil, placeholder: 'your quetsion
please' %&gt;</span></span>
<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">&lt;</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">%</span> <span class="token keyword keyword-end" style="box-sizing: border-box; color: rgb(0, 119, 170);">end</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">%&gt;

# I AM TAKING RESPONSES ON THE SAME PAGE.
&lt;div class="anwser"&gt;</span></span>
<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">&lt;</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">%=</span> <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@response</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'choices'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token number" style="box-sizing: border-box; color: rgb(153, 0, 85);">0</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'text'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span> <span class="token keyword keyword-if" style="box-sizing: border-box; color: rgb(0, 119, 170);">if</span> <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@response</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span>present<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">?</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">%&gt;
&lt;/div&gt;</span></span

<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">&lt;</span>h2<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">&gt;</span>Send a message<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">&lt;</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">/</span>h2<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">&gt;</span>
<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">&lt;</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">%=</span> form_tag<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">(</span>chat_gpt_path<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span> <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">:method</span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">=&gt;</span> <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">:get</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">)</span> <span class="token keyword keyword-do" style="box-sizing: border-box; color: rgb(0, 119, 170);">do</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">%&gt;
    &lt;%= text_field_tag 'question', nil, placeholder: 'your quetsion
please' %&gt;</span></span>
<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">&lt;</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">%</span> <span class="token keyword keyword-end" style="box-sizing: border-box; color: rgb(0, 119, 170);">end</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">%&gt;

# I AM TAKING RESPONSES ON THE SAME PAGE.
&lt;div class="anwser"&gt;</span></span>
<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">&lt;</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">%=</span> <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@response</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'choices'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token number" style="box-sizing: border-box; color: rgb(153, 0, 85);">0</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'text'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span> <span class="token keyword keyword-if" style="box-sizing: border-box; color: rgb(0, 119, 170);">if</span> <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@response</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span>present<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">?</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">%&gt;
&lt;/div&gt;</span></span

If you want data into Json form

<span class="token keyword keyword-class" style="box-sizing: border-box; color: rgb(0, 119, 170);">class</span> <span class="token class-name" style="box-sizing: border-box; color: rgb(221, 74, 104);">CommunicationController</span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">&lt;</span> ActionController<span class="token double-colon punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">::</span>Base
    skip_before_action <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">:verify_authenticity_token</span>

    <span class="token keyword keyword-def" style="box-sizing: border-box; color: rgb(0, 119, 170);">def</span> <span class="token method-definition" style="box-sizing: border-box;"><span class="token function" style="box-sizing: border-box; color: rgb(221, 74, 104);">chat_gpt</span></span>
        <span class="token keyword keyword-return" style="box-sizing: border-box; color: rgb(0, 119, 170);">return</span> <span class="token keyword keyword-unless" style="box-sizing: border-box; color: rgb(0, 119, 170);">unless</span> params<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'question'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span>present<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">?</span>

        <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@client</span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">=</span> OpenAI<span class="token double-colon punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">::</span><span class="token class-name" style="box-sizing: border-box; color: rgb(221, 74, 104);">Client</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span><span class="token keyword keyword-new" style="box-sizing: border-box; color: rgb(0, 119, 170);">new</span> <span class="token comment" style="box-sizing: border-box; color: rgb(112, 128, 144);">#(access_token: "your_key")</span>
        <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@response</span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">=</span> <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@client</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span>completions<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">(</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">parameters</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">{</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">model</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"text-davinci-003"</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">prompt</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> params<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'question'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">max_tokens</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token number" style="box-sizing: border-box; color: rgb(153, 0, 85);">2000</span>
        <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">}</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">)</span>
    <span class="token keyword keyword-end" style="box-sizing: border-box; color: rgb(0, 119, 170);">end</span>

    render json<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">{</span> <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">text</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@response</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'choices'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token number" style="box-sizing: border-box; color: rgb(153, 0, 85);">0</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span> <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">}</span>
<span class="token keyword keyword-end" style="box-sizing: border-box; color: rgb(0, 119, 170);">end</span

<span class="token keyword keyword-class" style="box-sizing: border-box; color: rgb(0, 119, 170);">class</span> <span class="token class-name" style="box-sizing: border-box; color: rgb(221, 74, 104);">CommunicationController</span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">&lt;</span> ActionController<span class="token double-colon punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">::</span>Base
    skip_before_action <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">:verify_authenticity_token</span>

    <span class="token keyword keyword-def" style="box-sizing: border-box; color: rgb(0, 119, 170);">def</span> <span class="token method-definition" style="box-sizing: border-box;"><span class="token function" style="box-sizing: border-box; color: rgb(221, 74, 104);">chat_gpt</span></span>
        <span class="token keyword keyword-return" style="box-sizing: border-box; color: rgb(0, 119, 170);">return</span> <span class="token keyword keyword-unless" style="box-sizing: border-box; color: rgb(0, 119, 170);">unless</span> params<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'question'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span>present<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">?</span>

        <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@client</span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">=</span> OpenAI<span class="token double-colon punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">::</span><span class="token class-name" style="box-sizing: border-box; color: rgb(221, 74, 104);">Client</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span><span class="token keyword keyword-new" style="box-sizing: border-box; color: rgb(0, 119, 170);">new</span> <span class="token comment" style="box-sizing: border-box; color: rgb(112, 128, 144);">#(access_token: "your_key")</span>
        <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@response</span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">=</span> <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@client</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span>completions<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">(</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">parameters</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">{</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">model</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"text-davinci-003"</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">prompt</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> params<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'question'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">max_tokens</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token number" style="box-sizing: border-box; color: rgb(153, 0, 85);">2000</span>
        <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">}</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">)</span>
    <span class="token keyword keyword-end" style="box-sizing: border-box; color: rgb(0, 119, 170);">end</span>

    render json<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">{</span> <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">text</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@response</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'choices'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token number" style="box-sizing: border-box; color: rgb(153, 0, 85);">0</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span> <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">}</span>
<span class="token keyword keyword-end" style="box-sizing: border-box; color: rgb(0, 119, 170);">end</span

<span class="token keyword keyword-class" style="box-sizing: border-box; color: rgb(0, 119, 170);">class</span> <span class="token class-name" style="box-sizing: border-box; color: rgb(221, 74, 104);">CommunicationController</span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">&lt;</span> ActionController<span class="token double-colon punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">::</span>Base
    skip_before_action <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">:verify_authenticity_token</span>

    <span class="token keyword keyword-def" style="box-sizing: border-box; color: rgb(0, 119, 170);">def</span> <span class="token method-definition" style="box-sizing: border-box;"><span class="token function" style="box-sizing: border-box; color: rgb(221, 74, 104);">chat_gpt</span></span>
        <span class="token keyword keyword-return" style="box-sizing: border-box; color: rgb(0, 119, 170);">return</span> <span class="token keyword keyword-unless" style="box-sizing: border-box; color: rgb(0, 119, 170);">unless</span> params<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'question'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span>present<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">?</span>

        <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@client</span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">=</span> OpenAI<span class="token double-colon punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">::</span><span class="token class-name" style="box-sizing: border-box; color: rgb(221, 74, 104);">Client</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span><span class="token keyword keyword-new" style="box-sizing: border-box; color: rgb(0, 119, 170);">new</span> <span class="token comment" style="box-sizing: border-box; color: rgb(112, 128, 144);">#(access_token: "your_key")</span>
        <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@response</span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">=</span> <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@client</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span>completions<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">(</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">parameters</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">{</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">model</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"text-davinci-003"</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">prompt</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> params<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'question'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">max_tokens</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token number" style="box-sizing: border-box; color: rgb(153, 0, 85);">2000</span>
        <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">}</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">)</span>
    <span class="token keyword keyword-end" style="box-sizing: border-box; color: rgb(0, 119, 170);">end</span>

    render json<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">{</span> <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">text</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@response</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'choices'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token number" style="box-sizing: border-box; color: rgb(153, 0, 85);">0</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span> <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">}</span>
<span class="token keyword keyword-end" style="box-sizing: border-box; color: rgb(0, 119, 170);">end</span

<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">{</span>
 <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"text"</span></span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">{</span>
     <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"text"</span></span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> "\n\nRuby is a general<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">-</span>purpose<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span> object<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">-</span>oriented programming language<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span> It is
    dynamic<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span> reflective<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span> <span class="token keyword keyword-and" style="box-sizing: border-box; color: rgb(0, 119, 170);">and</span> offers an intuitive syntax<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span> Ruby is commonly used to create web
    applications that are scalable<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span> robust <span class="token keyword keyword-and" style="box-sizing: border-box; color: rgb(0, 119, 170);">and</span> secure<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span> It is also used to develop back<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">-</span><span class="token keyword keyword-end" style="box-sizing: border-box; color: rgb(0, 119, 170);">end</span>
    systems <span class="token keyword keyword-and" style="box-sizing: border-box; color: rgb(0, 119, 170);">and</span> <span class="token constant" style="box-sizing: border-box; color: rgb(153, 0, 85);">API</span> services<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span>"<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
     <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"index"</span></span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token number" style="box-sizing: border-box; color: rgb(153, 0, 85);">0</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
     <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"logprobs"</span></span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> null<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
     <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"finish_reason"</span></span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"stop"</span></span>
    <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">}</span>
<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">}</span

<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">{</span>
 <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"text"</span></span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">{</span>
     <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"text"</span></span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> "\n\nRuby is a general<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">-</span>purpose<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span> object<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">-</span>oriented programming language<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span> It is
    dynamic<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span> reflective<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span> <span class="token keyword keyword-and" style="box-sizing: border-box; color: rgb(0, 119, 170);">and</span> offers an intuitive syntax<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span> Ruby is commonly used to create web
    applications that are scalable<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span> robust <span class="token keyword keyword-and" style="box-sizing: border-box; color: rgb(0, 119, 170);">and</span> secure<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span> It is also used to develop back<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">-</span><span class="token keyword keyword-end" style="box-sizing: border-box; color: rgb(0, 119, 170);">end</span>
    systems <span class="token keyword keyword-and" style="box-sizing: border-box; color: rgb(0, 119, 170);">and</span> <span class="token constant" style="box-sizing: border-box; color: rgb(153, 0, 85);">API</span> services<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span>"<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
     <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"index"</span></span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token number" style="box-sizing: border-box; color: rgb(153, 0, 85);">0</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
     <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"logprobs"</span></span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> null<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
     <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"finish_reason"</span></span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"stop"</span></span>
    <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">}</span>
<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">}</span

<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">{</span>
 <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"text"</span></span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">{</span>
     <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"text"</span></span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> "\n\nRuby is a general<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">-</span>purpose<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span> object<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">-</span>oriented programming language<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span> It is
    dynamic<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span> reflective<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span> <span class="token keyword keyword-and" style="box-sizing: border-box; color: rgb(0, 119, 170);">and</span> offers an intuitive syntax<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span> Ruby is commonly used to create web
    applications that are scalable<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span> robust <span class="token keyword keyword-and" style="box-sizing: border-box; color: rgb(0, 119, 170);">and</span> secure<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span> It is also used to develop back<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">-</span><span class="token keyword keyword-end" style="box-sizing: border-box; color: rgb(0, 119, 170);">end</span>
    systems <span class="token keyword keyword-and" style="box-sizing: border-box; color: rgb(0, 119, 170);">and</span> <span class="token constant" style="box-sizing: border-box; color: rgb(153, 0, 85);">API</span> services<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span>"<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
     <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"index"</span></span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token number" style="box-sizing: border-box; color: rgb(153, 0, 85);">0</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
     <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"logprobs"</span></span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> null<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
     <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"finish_reason"</span></span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"stop"</span></span>
    <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">}</span>
<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">}</span

Here are some filters

1. How to use ChatGPT for the name generator?

As we know that we can use chatGPT in manyexamples. Here is an example of aBusinessName Generator.Using that we can get our business name with the help of chatGPT. So for that, we need set prompts like it. Let’s implement this into the above example

<span class="token keyword keyword-class" style="box-sizing: border-box; color: rgb(0, 119, 170);">class</span> <span class="token class-name" style="box-sizing: border-box; color: rgb(221, 74, 104);">CommunicationController</span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">&lt;</span> ActionController<span class="token double-colon punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">::</span>Base
    skip_before_action <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">:verify_authenticity_token</span>

    <span class="token keyword keyword-def" style="box-sizing: border-box; color: rgb(0, 119, 170);">def</span> <span class="token method-definition" style="box-sizing: border-box;"><span class="token function" style="box-sizing: border-box; color: rgb(221, 74, 104);">chat_gpt</span></span>
        <span class="token keyword keyword-return" style="box-sizing: border-box; color: rgb(0, 119, 170);">return</span> <span class="token keyword keyword-unless" style="box-sizing: border-box; color: rgb(0, 119, 170);">unless</span> params<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'question'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span>present<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">?</span>
        <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@client</span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">=</span> OpenAI<span class="token double-colon punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">::</span><span class="token class-name" style="box-sizing: border-box; color: rgb(221, 74, 104);">Client</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span><span class="token keyword keyword-new" style="box-sizing: border-box; color: rgb(0, 119, 170);">new</span> <span class="token comment" style="box-sizing: border-box; color: rgb(112, 128, 144);">#(access_token: "your_key")</span>
        prompt <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">=</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'generate a Business Name as domain\n\nKeywords:'</span></span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">+</span>
        params<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'question'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span>
        <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@response</span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">=</span> <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@client</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span>completions<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">(</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">parameters</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">{</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">model</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"text-davinci-003"</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">prompt</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> prompt<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">max_tokens</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token number" style="box-sizing: border-box; color: rgb(153, 0, 85);">2000</span>
        <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">}</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">)</span>
    <span class="token keyword keyword-end" style="box-sizing: border-box; color: rgb(0, 119, 170);">end</span>

    render json<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">{</span> <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">text</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@response</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'choices'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token number" style="box-sizing: border-box; color: rgb(153, 0, 85);">0</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span> <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">}</span>
<span class="token keyword keyword-end" style="box-sizing: border-box; color: rgb(0, 119, 170);">end</span

<span class="token keyword keyword-class" style="box-sizing: border-box; color: rgb(0, 119, 170);">class</span> <span class="token class-name" style="box-sizing: border-box; color: rgb(221, 74, 104);">CommunicationController</span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">&lt;</span> ActionController<span class="token double-colon punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">::</span>Base
    skip_before_action <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">:verify_authenticity_token</span>

    <span class="token keyword keyword-def" style="box-sizing: border-box; color: rgb(0, 119, 170);">def</span> <span class="token method-definition" style="box-sizing: border-box;"><span class="token function" style="box-sizing: border-box; color: rgb(221, 74, 104);">chat_gpt</span></span>
        <span class="token keyword keyword-return" style="box-sizing: border-box; color: rgb(0, 119, 170);">return</span> <span class="token keyword keyword-unless" style="box-sizing: border-box; color: rgb(0, 119, 170);">unless</span> params<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'question'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span>present<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">?</span>
        <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@client</span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">=</span> OpenAI<span class="token double-colon punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">::</span><span class="token class-name" style="box-sizing: border-box; color: rgb(221, 74, 104);">Client</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span><span class="token keyword keyword-new" style="box-sizing: border-box; color: rgb(0, 119, 170);">new</span> <span class="token comment" style="box-sizing: border-box; color: rgb(112, 128, 144);">#(access_token: "your_key")</span>
        prompt <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">=</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'generate a Business Name as domain\n\nKeywords:'</span></span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">+</span>
        params<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'question'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span>
        <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@response</span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">=</span> <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@client</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span>completions<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">(</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">parameters</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">{</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">model</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"text-davinci-003"</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">prompt</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> prompt<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">max_tokens</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token number" style="box-sizing: border-box; color: rgb(153, 0, 85);">2000</span>
        <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">}</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">)</span>
    <span class="token keyword keyword-end" style="box-sizing: border-box; color: rgb(0, 119, 170);">end</span>

    render json<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">{</span> <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">text</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@response</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'choices'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token number" style="box-sizing: border-box; color: rgb(153, 0, 85);">0</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span> <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">}</span>
<span class="token keyword keyword-end" style="box-sizing: border-box; color: rgb(0, 119, 170);">end</span

<span class="token keyword keyword-class" style="box-sizing: border-box; color: rgb(0, 119, 170);">class</span> <span class="token class-name" style="box-sizing: border-box; color: rgb(221, 74, 104);">CommunicationController</span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">&lt;</span> ActionController<span class="token double-colon punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">::</span>Base
    skip_before_action <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">:verify_authenticity_token</span>

    <span class="token keyword keyword-def" style="box-sizing: border-box; color: rgb(0, 119, 170);">def</span> <span class="token method-definition" style="box-sizing: border-box;"><span class="token function" style="box-sizing: border-box; color: rgb(221, 74, 104);">chat_gpt</span></span>
        <span class="token keyword keyword-return" style="box-sizing: border-box; color: rgb(0, 119, 170);">return</span> <span class="token keyword keyword-unless" style="box-sizing: border-box; color: rgb(0, 119, 170);">unless</span> params<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'question'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span>present<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">?</span>
        <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@client</span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">=</span> OpenAI<span class="token double-colon punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">::</span><span class="token class-name" style="box-sizing: border-box; color: rgb(221, 74, 104);">Client</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span><span class="token keyword keyword-new" style="box-sizing: border-box; color: rgb(0, 119, 170);">new</span> <span class="token comment" style="box-sizing: border-box; color: rgb(112, 128, 144);">#(access_token: "your_key")</span>
        prompt <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">=</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'generate a Business Name as domain\n\nKeywords:'</span></span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">+</span>
        params<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'question'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span>
        <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@response</span> <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">=</span> <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@client</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">.</span>completions<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">(</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">parameters</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">{</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">model</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"text-davinci-003"</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">prompt</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> prompt<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
        <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">max_tokens</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token number" style="box-sizing: border-box; color: rgb(153, 0, 85);">2000</span>
        <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">}</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">)</span>
    <span class="token keyword keyword-end" style="box-sizing: border-box; color: rgb(0, 119, 170);">end</span>

    render json<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">{</span> <span class="token symbol" style="box-sizing: border-box; color: rgb(153, 0, 85);">text</span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token variable" style="box-sizing: border-box; color: rgb(238, 153, 0);">@response</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'choices'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token number" style="box-sizing: border-box; color: rgb(153, 0, 85);">0</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span> <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">}</span>
<span class="token keyword keyword-end" style="box-sizing: border-box; color: rgb(0, 119, 170);">end</span

RESPONSE:

<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">{</span>
    <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"text"</span></span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">{</span>
         <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"text"</span></span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"\n\n1. nYogafashion.com"</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
         <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"index"</span></span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token number" style="box-sizing: border-box; color: rgb(153, 0, 85);">0</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
         <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"logprobs"</span></span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> null<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
         <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"finish_reason"</span></span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"stop"</span></span>
    <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">}</span>
<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">}</span

<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">{</span>
    <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"text"</span></span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">{</span>
         <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"text"</span></span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"\n\n1. nYogafashion.com"</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
         <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"index"</span></span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token number" style="box-sizing: border-box; color: rgb(153, 0, 85);">0</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
         <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"logprobs"</span></span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> null<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
         <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"finish_reason"</span></span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"stop"</span></span>
    <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">}</span>
<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">}</span

<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">{</span>
    <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"text"</span></span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">{</span>
         <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"text"</span></span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"\n\n1. nYogafashion.com"</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
         <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"index"</span></span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token number" style="box-sizing: border-box; color: rgb(153, 0, 85);">0</span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
         <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"logprobs"</span></span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> null<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">,</span>
         <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"finish_reason"</span></span><span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> <span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">"stop"</span></span>
    <span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">}</span>
<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">}</span

2. Count-related filter

If you want 5 names then just set this prompt.

prompt <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">=</span> "generate a <span class="token comment" style="box-sizing: border-box; color: rgb(112, 128, 144);">#{params['count']} Business Name as</span>
domain\n\nKeywords<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> "<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">+</span> params<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'question'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span

prompt <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">=</span> "generate a <span class="token comment" style="box-sizing: border-box; color: rgb(112, 128, 144);">#{params['count']} Business Name as</span>
domain\n\nKeywords<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> "<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">+</span> params<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'question'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span

prompt <span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">=</span> "generate a <span class="token comment" style="box-sizing: border-box; color: rgb(112, 128, 144);">#{params['count']} Business Name as</span>
domain\n\nKeywords<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">:</span> "<span class="token operator" style="box-sizing: border-box; color: rgb(154, 110, 58); background: rgba(255, 255, 255, 0.5);">+</span> params<span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">[</span><span class="token string-literal" style="box-sizing: border-box;"><span class="token string" style="box-sizing: border-box; color: rgb(102, 153, 0);">'question'</span></span><span class="token punctuation" style="box-sizing: border-box; color: rgb(153, 153, 153);">]</span

And many more..

Yeah, Your app is now ready for checking. Now just start the server and check your chatGPT
responses on the same page.

Do you need any help or advice regarding ROR we’d be happy to update or create new ones for
you.

Get in touch with us.

Similar Blogs

Explore Similar Blogs

Explore Similar Blogs

Learn how AI is transforming meetings, notes,
and team productivity.

Learn how AI is transforming meetings, notes,
and team productivity.

next step

Tell us what you are trying to build.

No spec required. Send a paragraph, an old repo link, or a screenshot of the system you are replacing. A senior Rails engineer will review it and reply with real feedback.

essence logo

next step

Tell us what you are trying to build.

No spec required. Send a paragraph, an old repo link, or a screenshot of the system you are replacing. A senior Rails engineer will review it and reply with real feedback.

essence logo

next step

Tell us what you are trying to build.

No spec required. Send a paragraph, an old repo link, or a screenshot of the system you are replacing. A senior Rails engineer will review it and reply with real feedback.

essence logo