O ChatGPT é um grande modelo de linguagem desenvolvido pela OpenAI. Foi treinado usando uma técnica chamada aprendizado não supervisionado, o que significa que recebeu um grande conjunto de dados de texto e aprendeu a prever a próxima palavra em uma sequência com base nas palavras anteriores. Isso permite que o ChatGPT gere texto semelhante ao humano, que pode ser usado para diversas finalidades, como gerar respostas a entradas de usuário em um chatbot ou gerar conteúdo para sites e redes sociais.
Um dos recursos principais do ChatGPT é sua capacidade de entender o contexto e gerar respostas apropriadas com base na conversa. Por exemplo, se você fizer uma pergunta ao ChatGPT, ele gerará uma resposta relevante para a pergunta e que segue o fluxo natural da conversa. Isso é possível graças à capacidade do modelo de "lembrar" declarações anteriores na conversa e usar essa informação para embasar sua resposta.
Outro recurso importante do ChatGPT é sua capacidade de gerar respostas diversas e variadas. Por ter sido treinado em um grande conjunto de dados de texto, possui uma ampla gama de conhecimentos e pode gerar respostas adequadas para diferentes situações e tópicos. Isso o torna uma ferramenta útil para gerar respostas a entradas de usuários em um chatbot, pois pode fornecer respostas relevantes e envolventes independentemente do tópico da conversa.
No geral, o ChatGPT é um poderoso modelo de linguagem capaz de gerar texto semelhante ao humano e entender contexto e fluxo de conversa. Possui uma ampla gama de aplicações, incluindo chatbots, geração de conteúdo e tradução de idiomas, e tem o potencial de revolucionar a forma como interagimos com a tecnologia.
O ChatGPT atualmente não possui uma API própria, mas você pode usar a API beta da OpenAI para interagir com o transformador de texto GPT-3. Você só precisa de uma chave de API, que pode ser obtida em:
https://beta.openai.com/account/api-keys
Para começar a interagir com a API.
Código GPT-3 em Delphi
Depois de ter uma chave de API, interagir com a API é muito fácil. Veja abaixo um código de exemplo para interagir usando a biblioteca sgcWebSockets.
function AskChatGPT(const aAPI, aQuestion: string): string;
var
oHTTP: TsgcHTTP1Client;
oStream: TStringStream;
vPostData: string;
oJSON: TJSONValue;
oArray: TJSonArray;
begin
oHTTP := TsgcHTTP1Client.Create(nil);
Try
oHTTP.Request.CustomHeaders.Add('Authorization: Bearer ' + aAPI);
oHTTP.Request.ContentType := 'application/json';
vPostData :=
Format('{"model": "text-davinci-003","prompt": "%s","max_tokens": 2048,"temperature": 0}',
[aQuestion]);
// send request
oStream := TStringStream.Create(vPostData);
Try
result := oHTTP.Post('https://api.openai.com/v1/completions', oStream);
// parse response
oJSON := TJSonObject.ParseJSONValue(result).GetValue<TJSONValue>
('choices');
result := TJSonArray(oJSON).Items[0].GetValue<TJSONString>('text').Value;
Finally
oStream.Free;
End;
Finally
oHTTP.Free;
End;
end;
A função tem 2 argumentos:
API: é a chave de API obtida em https://beta.openai.com/account/api-keys
Question: é a mensagem com a pergunta.
A chave de API é enviada como um Bearer Token e a mensagem é codificada usando um objeto JSON. O servidor retorna uma resposta como objeto JSON onde a mensagem de texto pode ser encontrada.

Veja abaixo o projeto completo e o executável compilado para Windows.
