Integração do ChatGPT em uma API Python
Este artigo oferece um guia prático para integrar o ChatGPT, um modelo de linguagem avançado da OpenAI, em uma API Flask usando Python 3.7.8. Aprenda a configurar a API Key da OpenAI, criar um endpoint e desenvolver um servidor Flask que processa mensagens do cliente e retorna respostas geradas pelo modelo ChatGPT, ideal para criar chatbots, assistentes virtuais e outras aplicações de geração de texto.
Introdução
Para integrar o ChatGPT em uma API Flask com Python 3.7.8, você pode seguir os seguintes passos:
1. Instale o pacote openai usando o comando:
pip install openai
2. Crie um arquivo "app.py" e importe as bibliotecas necessárias:
3. Configure a API Key da OpenAI com a variável de ambiente OPENAI_API_KEY. Você pode criar uma conta na OpenAI e obter sua chave API em: https://beta.openai.com/account/api-keys
4. Crie um endpoint em sua API Flask para receber as solicitações do cliente e gerar as respostas com o ChatGPT. O código a seguir é um exemplo básico de como você pode criar um endpoint que recebe uma mensagem do cliente, chama o modelo ChatGPT da OpenAI para gerar uma resposta e retorna a resposta ao cliente:
Nesse exemplo, o endpoint /api/chat recebe uma solicitação POST com um corpo JSON contendo uma chave prompt com a mensagem do cliente. Em seguida, o modelo ChatGPT é chamado com a mensagem do cliente como entrada. A resposta gerada pelo modelo é retornada ao cliente como um JSON contendo a chave message.
Observe que o exemplo acima usa o modelo text-davinci-002 da OpenAI. Você pode escolher outros modelos da OpenAI, dependendo da sua necessidade.
O modelo text-davinci-002 é um dos modelos de linguagem mais avançados e poderosos disponíveis na plataforma da OpenAI. Ele é treinado em uma ampla variedade de tarefas de processamento de linguagem natural, incluindo geração de texto, tradução automática, resposta a perguntas, entre outras.
O modelo text-davinci-002 é baseado na arquitetura GPT-3 (Generative Pretrained Transformer 3), que é um dos modelos mais avançados de linguagem natural disponíveis atualmente. Ele contém aproximadamente 175 bilhões de parâmetros e é capaz de gerar texto altamente coerente e convincente.
O modelo text-davinci-002 é particularmente adequado para aplicações que exigem geração de texto em larga escala, como assistentes virtuais, chatbots, resumos automáticos de texto, entre outros. No entanto, tenha em mente que o modelo text-davinci-002 é um modelo pago e seu uso está sujeito a restrições da OpenAI. É importante verificar os termos e condições de uso antes de usar este modelo em sua aplicação.
5. Inicie o servidor Flask executando o comando python app.py no terminal. O servidor estará ouvindo em:
http://localhost:5000/
Com esses passos, você integrou o ChatGPT em sua API Flask. Agora você pode enviar uma solicitação POST para o endpoint /api/chat com uma mensagem do cliente e receber a resposta gerada pelo modelo ChatGPT.
1. Instale o pacote openai usando o comando:
pip install openai
2. Crie um arquivo "app.py" e importe as bibliotecas necessárias:
from flask import Flask, request, jsonify import openai
3. Configure a API Key da OpenAI com a variável de ambiente OPENAI_API_KEY. Você pode criar uma conta na OpenAI e obter sua chave API em: https://beta.openai.com/account/api-keys
4. Crie um endpoint em sua API Flask para receber as solicitações do cliente e gerar as respostas com o ChatGPT. O código a seguir é um exemplo básico de como você pode criar um endpoint que recebe uma mensagem do cliente, chama o modelo ChatGPT da OpenAI para gerar uma resposta e retorna a resposta ao cliente:
app = Flask(__name__)
@app.route('/api/chat', methods=['POST'])
def chat():
data = request.json
prompt = data['prompt']
response = openai.Completion.create(
engine="text-davinci-002",
prompt=prompt,
max_tokens=1024,
n=1,
stop=None,
temperature=0.7,
)
message = response.choices[0].text.strip()
return jsonify({'message': message})
if __name__ == '__main__':
app.run(debug=True)
Nesse exemplo, o endpoint /api/chat recebe uma solicitação POST com um corpo JSON contendo uma chave prompt com a mensagem do cliente. Em seguida, o modelo ChatGPT é chamado com a mensagem do cliente como entrada. A resposta gerada pelo modelo é retornada ao cliente como um JSON contendo a chave message.
Observe que o exemplo acima usa o modelo text-davinci-002 da OpenAI. Você pode escolher outros modelos da OpenAI, dependendo da sua necessidade.
O modelo text-davinci-002 é um dos modelos de linguagem mais avançados e poderosos disponíveis na plataforma da OpenAI. Ele é treinado em uma ampla variedade de tarefas de processamento de linguagem natural, incluindo geração de texto, tradução automática, resposta a perguntas, entre outras.
O modelo text-davinci-002 é baseado na arquitetura GPT-3 (Generative Pretrained Transformer 3), que é um dos modelos mais avançados de linguagem natural disponíveis atualmente. Ele contém aproximadamente 175 bilhões de parâmetros e é capaz de gerar texto altamente coerente e convincente.
O modelo text-davinci-002 é particularmente adequado para aplicações que exigem geração de texto em larga escala, como assistentes virtuais, chatbots, resumos automáticos de texto, entre outros. No entanto, tenha em mente que o modelo text-davinci-002 é um modelo pago e seu uso está sujeito a restrições da OpenAI. É importante verificar os termos e condições de uso antes de usar este modelo em sua aplicação.
5. Inicie o servidor Flask executando o comando python app.py no terminal. O servidor estará ouvindo em:
http://localhost:5000/
Com esses passos, você integrou o ChatGPT em sua API Flask. Agora você pode enviar uma solicitação POST para o endpoint /api/chat com uma mensagem do cliente e receber a resposta gerada pelo modelo ChatGPT.
Código completo
Segue abaixo um exemplo completo de como integrar o ChatGPT em uma API Flask com Python 3.7.8:
from flask import Flask, request, jsonify
import openai
app = Flask(__name__)
# Configura a API Key da OpenAI
openai.api_key = "sua_chave_api_da_openai"
# Endpoint para receber as solicitações do cliente e gerar as respostas com o ChatGPT
@app.route('/api/chat', methods=['POST'])
def chat():
# Obtém a mensagem do cliente do corpo da solicitação
data = request.json
prompt = data['prompt']
# Chama o modelo ChatGPT da OpenAI para gerar uma resposta
response = openai.Completion.create(
engine="text-davinci-002",
prompt=prompt,
max_tokens=1024,
n=1,
stop=None,
temperature=0.7,
)
# Obtém a resposta gerada pelo modelo e retorna ao cliente
message = response.choices[0].text.strip()
return jsonify({'message': message})
if __name__ == '__main__':
app.run(debug=True)
1. A versão atual do text-davinci é a 003.
2. text-davinci é uma engine de "text completion", que é diferente do chatGPT que é uma engine de "chat completion". Da forma como seu código está implementado, ele irá tentar completar o texto informado, o que pode gerar um comportamento não adequado. O chat completion é melhor para esse tipo de aplicação.
3. Um código para usar o chatGPT ao invés do text-davinci seria:
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": prompt}
]
)
message = response.choices[0].message.content.strip()
E se tiver uma assinatura do GPT Plus, pode trocar a engine para 'gpt-4'. A resposta é mais lenta, mas tá um luxo!