我的 .NET 旅行 AI 库支持多模型适配实操
强行要求用户必须有 Azure 订阅才能跑通 Demo,是很多开源库下载量低的主要原因。我之前的 TravelAI.Core 就踩了这个坑,初期只支持 Azure OpenAI 和 AI Search,导致很多开发者在还没看到效果前就被繁琐的配置劝退了。
下一篇
长程Agent强化学习崩溃的原因:BEACON实战分析 →
为了降低门槛,我重构了提供者层,现在一套代码可以无缝切换 OpenAI、Anthropic、Ollama 以及 Azure。
核心实现逻辑
我定义了一个统一的 ILlmProvider 接口,把具体的模型调用细节屏蔽掉。无论底层是调用 Anthropic.SDK 还是给 Ollama 发 HTTP 请求,上层业务逻辑(如行程生成、价格异常检测)完全不需要改动。
public interface ILlmProvider
{
Task GenerateAsync(
string systemPrompt,
string userPrompt,
CancellationToken ct = default);
}在配置端,现在可以通过简单的扩展方法快速切换:
builder.Services.AddTravelAI(options => options.UseMock()); // 离线模拟,无需 Key
builder.Services.AddTravelAI(options => options.UseOpenAI("sk-..."));
builder.Services.AddTravelAI(options => options.UseAnthropic("sk-ant-..."));
builder.Services.AddTravelAI(options => options.UseOllama("http://localhost:11434"));
builder.Services.AddTravelAI(options => options.UseAzureOpenAI("endpoint", "key", "gpt-4o"));实测体验与对比
- Mock Provider: 这是我最推荐的入门方式。完全离线,直接返回预设的罗马三日游 JSON,适合在没网的环境下快速跑通整个工作流。
- Ollama 适配: 走的是
/api/chat接口。为了保持适配器无状态,我关掉了 streaming,实测生成行程这种短文本任务,响应速度完全可以接受。 - 多模型切换: 同样的提示词,Claude 在行程细节的描述上比 GPT-4o 更具“人味”,而 Ollama 跑本地模型则解决了隐私焦虑。
快速部署指南
如果你想在 .NET 项目里试一下这个大模型工作流,直接执行:
dotnet add package TravelAI.Core建议先用 UseMock() 验证业务逻辑,确认没问题后再更换为实际的 API Key。
项目源码路径:
https://github.com/aftabkh4n/TravelAI.Core