This content originally appeared on DEV Community and was authored by Lucas Pereira de Souza
Integrar a API do ChatGPT com Node.js é uma maneira poderosa de adicionar funcionalidades de processamento de linguagem natural ao seu aplicativo. Neste post, vamos explorar como configurar a integração, desde a instalação das bibliotecas necessárias até a implementação de chamadas à API do ChatGPT.
1. Pré-requisitos
- Node.js instalado na sua máquina.
- Uma conta na OpenAI e uma chave de API válida.
- Familiaridade básica com JavaScript e Node.js.
2. Instalando as Dependências
Primeiro, crie um novo projeto Node.js e instale as dependências necessárias. Vamos utilizar o axios
para fazer as requisições HTTP e o dotenv
para gerenciar as variáveis de ambiente.
mkdir chatgpt-nodejs
cd chatgpt-nodejs
npm init -y
npm install axios dotenv
3. Configurando o Projeto
Dentro do diretório do projeto, crie um arquivo .env
para armazenar sua chave de API da OpenAI:
OPENAI_API_KEY=your-api-key-here
Agora, crie um arquivo index.js
e adicione o código básico para configurar o uso do dotenv
e do axios
:
require('dotenv').config();
const axios = require('axios');
const apiKey = process.env.OPENAI_API_KEY;
const apiUrl = 'https://api.openai.com/v1/chat/completions';
async function getChatGPTResponse(prompt) {
try {
const response = await axios.post(apiUrl, {
model: "gpt-4",
messages: [{ role: "user", content: prompt }],
max_tokens: 150,
}, {
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
}
});
const reply = response.data.choices[0].message.content;
console.log('ChatGPT:', reply);
} catch (error) {
console.error('Error fetching response:', error.response ? error.response.data : error.message);
}
}
getChatGPTResponse('Olá, como você está?');
4. Entendendo o Código
-
dotenv: Carrega as variáveis de ambiente do arquivo
.env
. - axios: Realiza uma chamada POST para a API do ChatGPT.
- apiKey: Armazena a chave da API que é utilizada na requisição.
- apiUrl: URL da API do ChatGPT.
-
getChatGPTResponse: Função assíncrona que envia o
prompt
para o ChatGPT e exibe a resposta.
5. Executando o Código
Para executar o código, rode o comando:
node index.js
Se tudo estiver configurado corretamente, você verá a resposta do ChatGPT no console.
6. Customizando a Integração
Você pode ajustar vários parâmetros na chamada à API, como o modelo, o número de tokens de resposta (max_tokens
), e até incluir mensagens de contexto na lista de messages
. Por exemplo:
const conversation = [
{ role: "system", content: "Você é um assistente útil." },
{ role: "user", content: "Me explique o que é uma API." }
];
async function getChatGPTResponse(messages) {
try {
const response = await axios.post(apiUrl, {
model: "gpt-4",
messages: messages,
max_tokens: 150,
}, {
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
}
});
const reply = response.data.choices[0].message.content;
console.log('ChatGPT:', reply);
} catch (error) {
console.error('Error fetching response:', error.response ? error.response.data : error.message);
}
}
getChatGPTResponse(conversation);
7. Conclusão
Integrar a API do ChatGPT com Node.js é uma tarefa relativamente simples que pode adicionar funcionalidades de IA avançadas ao seu aplicativo. Com a flexibilidade da API, você pode criar desde assistentes de conversação até sistemas complexos de processamento de linguagem natural.
Experimente diferentes prompts e configurações para ver como o ChatGPT pode se adaptar às suas necessidades específicas!
Esse é um exemplo básico para começar a integração. À medida que você se familiariza com a API, pode explorar recursos mais avançados, como o ajuste fino dos modelos e o uso de contextos de conversa mais complexos.
This content originally appeared on DEV Community and was authored by Lucas Pereira de Souza
Lucas Pereira de Souza | Sciencx (2024-08-12T16:10:00+00:00) Como Integrar a API do ChatGPT com Node.js. Retrieved from https://www.scien.cx/2024/08/12/como-integrar-a-api-do-chatgpt-com-node-js/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.