快速答案:sgcWebSockets 为每个主流 LLM 提供商都附带了一个原生组件 — TsgcHTTP_API_OpenAI、TsgcHTTP_API_Anthropic、TsgcHTTP_API_Gemini,外加 Grok、Mistral、DeepSeek 以及仅限本地的 TsgcHTTP_API_Ollama。它们共享相同的"放下组件、设置密钥、调用一个方法"模式,所以下面的决定风险很低:选一个今天适合你用例的模型,日后只需几行代码就能切换提供商。
如果你正在为 Delphi 或 C++ Builder 应用添加 AI,第一个问题通常是"用哪个提供商?"OpenAI、Anthropic 和 Google 都通过 HTTP API 提供了功能强大的聊天模型。从 Delphi 来看,无论你选择哪一个,集成工作几乎完全相同,因为 sgcWebSockets 把每个提供商都封装成了形态一致的组件。这意味着真正的选择关乎模型的强项,而不是你要写或重写多少代码。
按用例给出的简短答案
把它当作一个起点,然后用你自己的提示词去验证。
| 如果你想要… | 从这个开始 | 组件 |
|---|---|---|
| 最广泛的生态系统,以及内置的图像生成、转录和嵌入 | OpenAI | TsgcHTTP_API_OpenAI |
| 严谨的长篇推理、大型文档和工具使用 | Anthropic Claude | TsgcHTTP_API_Anthropic |
| 与 Google Cloud 的紧密集成和多模态输入 | Google Gemini | TsgcHTTP_API_Gemini |
| 完全本地、离线、无需 API 密钥、数据永不离开本机 | Ollama(Llama、Mistral,…) | TsgcHTTP_API_Ollama |
| 低成本的替代方案或某个特定的开源模型 | DeepSeek、Mistral、Grok | TsgcHTTP_API_DeepSeek · _Mistral · _Grok |
每个在 Delphi 中是什么样子
模式每次都一样:创建组件、设置 API 密钥、调用一行式辅助方法快速得到结果,或者赋值 OnHTTPAPISSE 以逐 token 流式接收响应。
OpenAI
uses
sgcHTTP_API_OpenAI;
var
OpenAI: TsgcHTTP_API_OpenAI;
begin
OpenAI := TsgcHTTP_API_OpenAI.Create(nil);
OpenAI.OpenAIOptions.ApiKey := 'sk-...';
Memo1.Lines.Text := OpenAI._CreateChatCompletion(
'gpt-4o-mini', 'Hello, world.');
end;
Anthropic Claude
uses
sgcHTTP_API_Anthropic;
var
Anthropic: TsgcHTTP_API_Anthropic;
begin
Anthropic := TsgcHTTP_API_Anthropic.Create(nil);
Anthropic.AnthropicOptions.ApiKey := 'sk-ant-...';
Memo1.Lines.Text := Anthropic._CreateMessage(
'claude-3-5-sonnet-latest',
'What are the benefits of WebSockets?',
4096);
end;
Google Gemini
uses
sgcHTTP_API_Gemini;
var
Gemini: TsgcHTTP_API_Gemini;
begin
Gemini := TsgcHTTP_API_Gemini.Create(nil);
Gemini.GeminiOptions.ApiKey := 'YOUR_API_KEY';
Memo1.Lines.Text := Gemini._CreateContent(
'gemini-2.0-flash',
'Summarise RFC 6455',
4096);
end;
三个提供商、三个密钥、一套心智模型。流式处理同样统一 — 赋值 SSE 处理器并调用流式变体(OpenAI 用 _CreateChatCompletion 并设置 Stream := True,Anthropic 用 _CreateMessageStream,Gemini 用 _CreateContentStream):
procedure TForm1.HandleSSE(Sender: TObject;
const aEvent, aData: string; var Cancel: Boolean);
begin
Memo1.Lines.Add(aData);
end;
OpenAI:最广泛的工具箱
当你需要的不止是聊天时,OpenAI 是稳妥的默认选择。同一个 TsgcHTTP_API_OpenAI 组件涵盖了聊天补全、嵌入(_CreateEmbeddings)、图像生成(_CreateImage)、内容审核以及 Whisper 转录,所以单个依赖就能驱动一个聊天机器人、一个语义搜索功能和一个"描述这张图片"工具。如果你的路线图涉及多种 AI 能力,从这里入手意味着更少的活动部件。参见 OpenAI 组件页面 和 Delphi 中的 OpenAI 教程。
Anthropic Claude:推理与长上下文
当工作偏重阅读时,Claude 是一个强有力的选择:总结长篇文档、遵循多步骤指令,或可靠地使用工具。TsgcHTTP_API_Anthropic 组件暴露了消息、流式处理、视觉和文档输入以及工具使用,模型名称如 claude-3-5-sonnet-latest。完整讲解见 Anthropic Claude Delphi 教程 和 Anthropic 组件页面。
Google Gemini:多模态且原生于 Google
如果你已经身处 Google Cloud 的世界,或者需要多模态输入,Gemini 非常合适。TsgcHTTP_API_Gemini 既提供类型化的请求 API(用 CreateContent 配合 TsgcGeminiClass_Request_GenerateContent),也提供字符串一行式调用(_CreateContent),还支持流式处理。详情见 Gemini 组件页面 和 Gemini Delphi 客户端文章。
在本地运行:Ollama 与开源模型
当数据不能离开本机,或者你只是不想要按 token 计费的账单时,TsgcHTTP_API_Ollama 可以与本地 Ollama 服务器通信,无需 API 密钥 — 只需把 OllamaOptions.BaseUrl 指向 http://localhost:11434/api,就能在你自己的硬件上运行 Llama、Mistral 或其他开源模型。它保持着与云端组件相同的 _CreateMessage / _CreateMessageStream 形态。当你想要某个特定的托管模型时,还有专门的组件可用于 DeepSeek、Mistral 和 Grok。
功能对比
| 提供商 | 组件 | 一行式调用 | 流式处理(OnHTTPAPISSE) | 本地运行 |
|---|---|---|---|---|
| OpenAI | TsgcHTTP_API_OpenAI | _CreateChatCompletion | 是 | 否 |
| Anthropic | TsgcHTTP_API_Anthropic | _CreateMessage | 是 | 否 |
| Gemini | TsgcHTTP_API_Gemini | _CreateContent | 是 | 否 |
| Ollama | TsgcHTTP_API_Ollama | _CreateMessage | 是 | 是 |
| DeepSeek | TsgcHTTP_API_DeepSeek | _CreateMessage | 是 | 否 |
一套模式,多个提供商
由于每个组件都遵循相同的"组件加密钥加方法"设计,改变主意的成本很小。先用你手头有密钥的那个提供商做原型,把调用封装在你自己的函数后面,日后把 TsgcHTTP_API_OpenAI 换成 TsgcHTTP_API_Anthropic 只是一处局部修改,而不是重写。许多团队甚至同时接好两个提供商,并在它们之间做故障切换。在 AI & LLM 组件中心 浏览所有组件。
开始使用
所有这些都随 sgcWebSockets 一同发布。获取 免费试用版,放入你想先试的提供商对应的组件,几行代码就能跑通一次调用。
有问题、反馈或需要帮助做选择?联系我们 — 你会收到编写这些代码的人的回复。
