DelphiOpenAI简介
DelphiOpenAI是一个为Delphi开发者提供的非官方OpenAI API封装库。它允许开发者在Delphi应用程序中轻松集成和使用OpenAI的各种强大功能,如ChatGPT、DALL-E等。该库由GitHub用户HemulGM开发和维护,旨在为Delphi社区提供便捷的OpenAI API访问方式。
主要特性
- 支持OpenAI的大部分API功能,包括Models、Completions、Chat、Images等
- 简单易用的API封装,支持Delphi风格的编程方式
- 跨平台支持,可在Windows、Linux、macOS、Android、iOS等平台上使用
- 无需第三方依赖,直接集成到Delphi项目中即可使用
- 提供详细的使用文档和示例代码
支持的OpenAI功能
DelphiOpenAI目前支持以下OpenAI API功能:
- Models: 列出和描述可用的AI模型
- Completions: 根据提示生成文本补全
- Chat: 进行对话式交互
- Images: 根据文本描述生成图像
- Embeddings: 生成文本的向量表示
- Audio: 语音识别和转录
- Files: 上传和管理文件
- Fine-tuning: 微调模型
- Moderations: 内容审核
此外,该库还在持续开发中,计划支持更多OpenAI的新功能。
安装和使用
安装
要使用DelphiOpenAI,您可以通过以下两种方式之一进行安装:
-
通过Delphi的GetIt包管理器直接安装(推荐方式)。
-
从GitHub下载源代码,并将
root
文件夹添加到IDE的库路径或项目源代码路径中。
基本使用步骤
-
首先,您需要从OpenAI获取API密钥。访问OpenAI API密钥页面获取。
-
在您的Delphi单元中引入OpenAI单元:
uses OpenAI;
- 创建OpenAI客户端实例:
var
OpenAI: IOpenAI;
begin
OpenAI := TOpenAI.Create(API_TOKEN);
// 使用OpenAI客户端...
end;
- 现在您可以使用OpenAI客户端调用各种API功能了。
功能示例
使用ChatGPT进行对话
以下是使用DelphiOpenAI与ChatGPT进行对话的示例代码:
var
Chat: TChat;
begin
Chat := OpenAI.Chat.Create(
procedure(Params: TChatParams)
begin
Params.Messages([TChatMessageBuild.Create(TMessageRole.User, '你好,请介绍一下你自己。')]);
Params.MaxTokens(1024);
end);
try
for var Choice in Chat.Choices do
Memo1.Lines.Add(Choice.Message.Content);
finally
Chat.Free;
end;
end;
使用DALL-E生成图像
以下是使用DelphiOpenAI调用DALL-E API生成图像的示例:
var
Images: TImageResponse;
begin
Images := OpenAI.Image.Create(
procedure(Params: TImageCreateParams)
begin
Params.Prompt('一只可爱的卡通猫咪');
Params.ResponseFormat('url');
end);
try
for var Image in Images.Data do
Image1.Bitmap.LoadFromUrl(Image.Url);
finally
Images.Free;
end;
end;
高级功能
流式响应
DelphiOpenAI支持OpenAI的流式响应功能,这对于实现实时对话非常有用:
OpenAI.Chat.CreateStream(
procedure(Params: TChatParams)
begin
Params.Messages([TChatMessageBuild.User('讲个笑话')]);
Params.MaxTokens(1024);
Params.Stream;
end,
procedure(Chat: TChat; IsDone: Boolean; var Cancel: Boolean)
begin
if (not IsDone) and Assigned(Chat) then
Writeln(Chat.Choices[0].Delta.Content)
else if IsDone then
Writeln('完成!');
end);
函数调用
DelphiOpenAI还支持OpenAI的函数调用功能,这允许AI模型调用预定义的函数:
var
Chat: TChat;
begin
Chat := OpenAI.Chat.Create(
procedure(Params: TChatParams)
begin
Params.Functions(Funcs); // 函数列表
Params.FunctionCall(TFunctionCall.Auto);
Params.Messages([TChatMessageBuild.User('今天天气如何?')]);
Params.MaxTokens(1024);
end);
try
for var Choice in Chat.Choices do
if Choice.FinishReason = TFinishReason.FunctionCall then
ProcFunction(Choice.Message.FunctionCall)
else
Memo1.Lines.Add(Choice.Message.Content);
finally
Chat.Free;
end;
end;
注意事项
-
API密钥安全: 由于使用DelphiOpenAI需要您的OpenAI API密钥,请确保在客户端应用程序中小心使用,避免密钥泄露。
-
费用控制: 使用OpenAI API会产生费用,请注意控制使用量,避免超出预算。
-
错误处理: 在使用API时,请确保添加适当的错误处理代码,以应对可能出现的网络问题或API限制。
-
版本兼容性: DelphiOpenAI支持Delphi 10.3及以上版本。如果您使用较早版本的Delphi,可能需要进行一些修改。
结语
DelphiOpenAI为Delphi开发者提供了一个强大而简洁的工具,使他们能够轻松地将OpenAI的先进AI功能集成到自己的应用程序中。无论您是想开发一个智能聊天机器人,还是想在应用中添加图像生成功能,DelphiOpenAI都能为您提供所需的工具和接口。
随着AI技术的不断发展,OpenAI也在持续推出新的功能和改进。DelphiOpenAI的开发团队也在积极跟进这些更新,以确保Delphi开发者能够始终使用最新、最强大的AI功能。
如果您是一名Delphi开发者,并且对AI技术感兴趣,那么DelphiOpenAI无疑是一个值得尝试的库。它不仅可以帮助您快速构建智能应用,还能让您深入了解和探索AI技术的潜力。现在就开始使用DelphiOpenAI,让您的Delphi应用变得更智能、更强大吧!
相关链接
让我们一起探索AI与Delphi开发的美妙结合吧! 🚀🤖