Delphi 11 调用 ChatGPT
时间: 2023-11-09 08:49:42 浏览: 41
如果你想在 Delphi 11 中调用 ChatGPT,你可以使用 OpenAI 的 API。为了使用 API,你需要注册 OpenAI 的开发者账户并获取 API 密钥。然后,你可以使用 Delphi 11 中的 REST 客户端组件来发送 API 请求和接收响应。
以下是一个使用 Delphi 11 中的 REST 客户端组件调用 OpenAI API 的示例代码:
```delphi
uses
System.Net.HttpClient, System.Net.URLClient, System.Net.HttpClientComponent;
procedure CallOpenAIChatGPT();
var
client: TNetHTTPClient;
request: TNetHTTPRequest;
response: IHTTPResponse;
apiKey, prompt: string;
begin
apiKey := 'YOUR_API_KEY_HERE';
prompt := 'Hello, how are you?';
client := TNetHTTPClient.Create(nil);
request := TNetHTTPRequest.Create(nil);
try
request.Client := client;
request.Method := TNetHTTPRequest.TMethod.rmPOST;
request.URL := 'https://api.openai.com/v1/engines/davinci-codex/completions';
request.Headers.Add('Content-Type', 'application/json');
request.Headers.Add('Authorization', 'Bearer ' + apiKey);
request.Source := '{"prompt": "' + prompt + '", "max_tokens": 50, "temperature": 0.5, "n": 1, "stop": ["\n"]}';
response := request.Execute;
if response.StatusCode = 200 then
ShowMessage(response.ContentAsString)
else
ShowMessage('Error: ' + response.ContentAsString);
finally
client.Free;
request.Free;
end;
end;
```
在上面的示例代码中,我们使用了 Delphi 11 自带的 REST 客户端组件来发送 POST 请求,并在请求头中添加了 OpenAI 的 API 密钥。我们也指定了一些请求参数,例如激励器、最大 token 数、温度等等。在这个例子中,我们只请求一个回答,如果要请求多个回答,可以将 "n" 参数设置为需要的数量。
注意,这只是一个基本的示例代码,你需要根据自己的需求进行修改和扩展。