Для интеграции ChatGPT в приложение Rails вам потребуются следующие шаги:
-
Получите API-ключ GPT, откройте сайт https://openai.com/ и зарегистрируйте аккаунт, елкгда будут инструкции по получению ключа.
-
Добавьте библиотеку 'httparty' в файл Gemfile вашего приложения и запустите
bundle install- Создайте класс в папке 'lib' вашего приложения для обращения к сервису GPT:
class GPT
include HTTParty
base_uri 'https://api.openai.com/v1'
headers 'Content-Type' => 'application/json',
'Authorization' => "Bearer #{ENV['OPENAI_GPT_API_KEY']}"
def ask(question, model='text-davinci-002', max_tokens=100)
response = self.class.post('/engines/'+ model + '/completions',
body: JSON.dump({ prompt: question,
temperature: 0.5,
max_tokens: max_tokens
})
)
return response['choices'][0]['text']
end
end- Добавьте переменную окружения OPENAI_GPT_API_KEY в файл '.env' вашего приложения:
OPENAI_GPT_API_KEY=<ваш_ключ_GPT>- В вашем контроллере добавьте действие, которое будет обращаться к классу GPT и возвращать ответ на заданный вопрос:
class QuestionsController < ApplicationController
def chat
@question = params[:question]
@answer = GPT.new.ask(@question)
end
end- Создайте представление для отображения ответа в чате:
<h2>GPT response:</h2>
<%= @answer %></p>- Настройте маршруты в вашем файле 'config/routes.rb':
Rails.application.routes.draw do
get '/chat', to: 'questions#chat'
end- В вашем файле 'app/views' добавьте форму для отправки вопроса:
<h2>Ask a question:</h2>
action="/chat" method="get">
<input type="text" name="question">
<input type="submit" value="Ask">
</form>
result
{"id":"chatcmpl-71HaTn7eNAMSCiDLopE4FuhYUw8gj","object":"chat.completion","created":1680540289,"model":"gpt-3.5-turbo-0301","usage":{"prompt_tokens":24,"completion_tokens":458,"total_tokens":482},"choices":[{"message":{"role":"assistant","content":"Как ИИ, я могу дать несколько советов по изучению английского языка:\n\n1. Изучайте язык регулярно. Выделите каждый день какое-то время на практику, старайтесь изучать новые слова и грамматические правила.\n\n2. Используйте разнообразные источники для изучения языка. Это могут быть учебные пособия, ресурсы в Интернете, курсы, аудио- и видеоматериалы.\n\n3. Занимайтесь с носителями языка. Общение с родными говорящими поможет вам улучшить ваши навыки говорения, понимания и более глубокого погружения в языковую среду.\n\n4. Совершенствуйте свой английский язык постоянно. Старайтесь не ограничиваться изучением только элементарных навыков, и продолжайте углубляться в изучение языка.\n\n5. Помните, что один из лучших способов научиться аглийскому языку, это использовать его в жизни. Читайте на английском, смотрите фильмы и слушайте музыку на английском языке, общайтесь с носителями языка - так вы сможете быстро достичь успеха в изучении языка."},"finish_reason":"stop","index":0}]}