Integre o ChatGPT em aplicativos Ruby

Integre o ChatGPT em aplicativos Ruby

A Inteligência Artificial (IA) é uma tecnologia em constante evolução com aplicações em diversas áreas.

Neste post, vamos explicar como se conectar com ChatGPT, um chatbot de linguagem natural criado pela OpenAI, usando um script do Ruby.

Conectando com o ChatGPT

O ChatGPT pode ser usado em vários aplicativos, desde atendimento ao cliente até geração de texto. Para conectar, precisamos acessar a API da plataforma e obter as credenciais na página do desenvolvedor do ChatGPT.


Como obter credenciais de acesso

Primeiro, crie uma conta no site da OpenAI e gere uma nova chave secreta. Encontre o processo completo em https://platform.openai.com/. É crucial manter essa chave secreta segura, pois ela fornece acesso à API OpenAI.

Observe que o uso da API OpenAI incorre em custos que variam dependendo do tipo de aplicativo, do volume de solicitações e do tempo de resposta. Encontre mais informações na página de preços do OpenAI [https://openai.com/pricing].

Uma vez obtidas as credenciais, podemos usá-las em nosso script Ruby para nos conectar à API ChatGPT. Abaixo estão os exemplos de código.


Exemplos e Código

Esta seção inclui exemplos de código para se conectar ao ChatGPT usando Ruby.

Primeiro, crie um arquivo Gemfile e inclui o seguinte código:

ruby

source "https://rubygems.org"

gem "ruby-openai"


Depois, execute bundle install no terminal. Crie um arquivo chamado main.rb e adicione require 'openai' no início do código.

Para adicionar o access_token, escolha uma das seguintes opções:






client = OpenAI::Client.new(access_token: "<ACCESS_KEY>")
# O esta versión
OpenAI.configure do |config| config.access_token = "<ACCESS_KEY>" end client = OpenAI::Client.new


Em seguida, adicione este código:

response = client.chat(
  parameters: {
      model: "gpt-3.5-turbo", # Required.
      messages: [{ role: "user", content: "Hello!"}], # Required.
      temperature: 0.7,
  })
puts response.dig("choices", 0, "message", "content")


Este código usa a biblioteca OpenAI para interagir com sua API de chatbot de linguagem natural. Depois de configurar o token de acesso de autenticação, uma instância de cliente OpenAI API é criada com a biblioteca OpenAI::Client.

O método de chat do cliente é então chamado para enviar uma mensagem ao modelo do chatbot, fornecendo parâmetros como o modelo, uma mensagem de entrada e a temperatura de decodificação usada pelo modelo para gerar respostas.

Explicaremos um pouco o que significa esse código.

  • model: gpt-3.5-turbo. Este parâmetro especifica o modelo de linguagem a ser usado na API OpenAI. Neste caso, o gpt-3.5-turbo, uma versão avançada do modelo GPT-3, foi selecionado.
  • messages: [{ role: "user", content: "Hello!"}]. Este parâmetro define a conversa entre o usuário e o modelo. Aqui, há apenas uma mensagem de função de usuário com Hello! A API retornará uma resposta gerada pelo modelo com base nessa mensagem.
  • temperature: 0.7: Este parâmetro controla a "criatividade" das respostas geradas pelo modelo. Um valor mais alto (próximo de 1) levará a respostas mais diversificadas e criativas, enquanto um valor mais baixo (próximo de 0) tornará as respostas mais focadas no contexto e determinísticas. Nesse caso, a temperatura foi ajustada para 0,7, o que sugere uma resposta moderadamente criativa.
  • puts response.dig("choices", 0, "message", "content"): Essa linha extrai a resposta gerada pelo modelo (conteúdo da mensagem) da estrutura de dados retornada pela API e a imprime no console.

Opções de model

O OpenAI oferece vários modelos de linguagem, como gpt-3.5-turbo, text-davinci-002, text-curie-002, text-babbage-002, text-ada-002 e outros. Porém, gpt-3.5-turbo é o modelo mais avançado e poderoso disponível na API OpenAI.

Opções de temperature

Você pode definir a temperatura para um valor decimal entre 0 e 1. Um valor mais alto, como 0,8 ou 0,9, produzirá respostas mais criativas e variadas, enquanto um valor mais baixo, como 0,2 ou 0,3, produzirá respostas mais consistentes e previsíveis . Você pode ajustar esse parâmetro com base em suas necessidades e na natureza das respostas que deseja obter do modelo.

O parâmetro messages na API OpenAI é uma lista de objetos que representam uma conversa entre o usuário e o modelo de linguagem. Cada objeto na lista contém duas propriedades: role e content. A propriedade role pode ser user ou assistant. A propriedade content possui o texto da mensagem.

Você pode iniciar uma conversa incluindo várias mensagens na lista de messages, alternando entre os papéis de user e assistant. Aqui um exemplo:

messages: [
  { role: "user", content: "Tell me a joke." },
  { role: "assistant", content: "Why did the chicken cross the road? To get to the other side!" },
  { role: "user", content: "That's funny! Tell me another one." }
]


Como você pode ver, há três mensagens na conversa: A primeira é do usuário pedindo uma piada, a segunda é uma resposta do assistente com uma piada e a terceira é uma nova mensagem do usuário pedindo outra piada.

Quando você envia uma lista de mensagens para a API, o modelo de idioma gera uma resposta com base na conversa fornecida. No exemplo acima, o modelo geraria outra piada com base no contexto da conversa.

Você pode personalizar a lista de mensagens de acordo com suas necessidades e o tipo de interação que deseja ter com o modelo de idioma. A lista pode ter qualquer número de mensagens e pode incluir perguntas, declarações, solicitações de informações, instruções e muito mais.

--------

Finalmente, a resposta do chatbot é impressa no console usando a função puts, que extrai a resposta do hash com o método dig.

Para tornar a mensagem não estática, modifique o código para aceitar argumentos do console.

Em seguida, adicione o seguinte código após require 'openai':

if ARGV.empty?
  puts "Please specify a message to send to the chatbot as an argument"
  exit
end

message = ARGV.join(" ")


Este código verifica se um argumento foi fornecido e, se não, solicita que o usuário forneça uma mensagem para enviar ao chatbot.

Agora modifique o conteúdo do método chat para que ele receba a mensagem do argumento:

response = client.chat(
  parameters: {
      model: "gpt-3.5-turbo",
      messages: [{ role: "user", content: message}],
      temperature: 0.7,
  })


Ao correr ruby main.rb "Como vai?", rvocê receberá a seguinte mensagem:

➜ ruby main.rb "Como vai?"

Estou bem, obrigado por perguntar. Como posso te ajudar hoje?

➜ ruby main.rb "diga-me o que é Rubi em uma linha"

Ruby é uma linguagem de programação interpretada e orientada a objetos.

Aqui está o código no gist para que você possa usá-lo como referência.


Usar este script para se conectar ao ChatGPT do Ruby oferece várias vantagens:

  1. Integração com aplicativos Ruby existentes: Se você já trabalha com aplicações desenvolvidas em Ruby, este script facilita a integração do ChatGPT aos seus projetos sem a necessidade de aprender uma nova linguagem de programação ou mudar para outra plataforma.
  2. Simplicidade e facilidade de uso: O script fornecido é fácil de entender e usar, mesmo para quem está começando com Ruby ou a API ChatGPT. A estrutura do código é clara e os comentários incluídos ajudam a entender seu funcionamento.
  3. Personalização: Ao usar esse script, você tem a flexibilidade de modificar e customizar o código de acordo com suas necessidades e preferências. Por exemplo, você pode ajustar a temperatura do modelo, adicionar mais parâmetros ou alterar a maneira como as respostas são tratadas.
  4. Escalabilidade: Esse script pode servir como ponto de partida para projetos maiores e mais complexos. À medida que suas necessidades evoluem, você pode adicionar mais funcionalidades e recursos ao script, como gerenciamento de sessão, análise de sentimento ou suporte a vários idiomas.
  5. Portabilidade: O script é compatível com qualquer ambiente compatível com Ruby, permitindo que você implemente seu aplicativo em uma ampla variedade de plataformas e sistemas operacionais.
  6. Comunidade e suporte: Ruby é uma linguagem de programação amplamente utilizada com uma comunidade ativa e recursos online. Se você tiver problemas ou precisar de ajuda, provavelmente encontrará soluções e suporte na comunidade Ruby.

Com este script de amostra, você pode interagir com o modelo de linguagem OpenAI para obter respostas e executar várias tarefas. Aqui estão algumas ideias para estender e personalizar o script:

  1. Múltiplas interações: Você pode modificar o script para oferecer suporte a várias interações com o modelo de idioma em vez de uma única consulta. Você pode solicitar a entrada do usuário em um loop e adicionar novas mensagens à lista de mensagens a cada iteração.
  2. Funcionalidades específicas: Você pode usar o modelo de idioma para tarefas específicas, como geração de texto, resumo de texto, tradução, geração de código, geração de ideias e muito mais. Você pode adaptar o script e as perguntas do usuário para atender à tarefa específica.
  3. Aplicativo de chat: Você pode usar o script como base para desenvolver um aplicativo de chat completo onde os usuários podem interagir com o modelo de linguagem por meio de uma interface gráfica ou um aplicativo de linha de comando.
  4. Interface de usuário: Você pode desenvolver uma interface gráfica com o usuário (GUI) para facilitar a interação com o modelo de linguagem. Você pode usar bibliotecas e estruturas Ruby populares, como Ruby on Rails, Sinatra ou Hanami, para criar um aplicativo da Web ou de desktop.
  5. Integração com outros serviços: Você pode integrar o script com outras APIs ou serviços para enriquecer as respostas do modelo de linguagem ou fornecer informações adicionais. Por exemplo, você pode conectá-lo a uma API meteorológica para obter informações meteorológicas e gerar respostas relacionadas ao clima.


Estas são apenas algumas ideias para expandir e personalizar o script. Dependendo de suas necessidades e objetivos específicos, você pode adaptá-lo e melhorá-lo para obter resultados mais avançados e personalizados.

O uso deste script Ruby para conectar-se ao ChatGPT fornece uma maneira simples, personalizável e escalável de aproveitar a Inteligência Artificial em seus aplicativos e projetos existentes.

A Inteligência Artificial é uma tecnologia empolgante com inúmeras aplicações práticas. Neste post, demonstramos como se conectar ao ChatGPT usando um script Ruby e a API da plataforma. Com um pouco de prática, qualquer pessoa pode começar a explorar as possibilidades da IA ​​e aplicar essa tecnologia em seu próprio trabalho.

Sucesso em seu projeto!

💡
As opiniões e comentários expressos neste artigo são de propriedade exclusiva de seu autor e não representam necessariamente o ponto de vista da Revelo.

A Revelo Content Network acolhe todas as raças, etnias, nacionalidades, credos, gêneros, orientações, pontos de vista e ideologias, desde que promovam diversidade, equidade, inclusão e crescimento na carreira dos profissionais de tecnologia.