【亲测免费】OllamaSharp 项目安装和配置指南:让 .NET 轻松对接 Ollama API
OllamaSharp 是一款专为 .NET 开发者设计的 Ollama API 绑定库,能够简化与 Ollama 的本地和远程交互。无论是构建聊天应用还是调用 AI 模型,OllamaSharp 都提供了直观的接口和强大的功能支持,让 .NET 开发者轻松集成 Ollama 的强大能力。
Ollama 官方标志,OllamaSharp 正是为其提供 .NET 绑定支持的工具
为什么选择 OllamaSharp?
OllamaSharp 已成为 Microsoft 推荐的 Ollama 交互工具,在 NuGet 上获得了广泛认可。从官方推荐页面可以看到,Microsoft.Extensions.AI.Ollama 包已明确建议使用 OllamaSharp 作为替代方案,因为它提供了更完整的 Ollama API 支持。
 NuGet 页面显示 Microsoft 推荐使用 OllamaSharp 作为官方包的替代方案
OllamaSharp 的核心优势包括:
- 完整支持 Ollama API 所有端点
- 异步流式响应处理
- 工具引擎支持,带有源代码生成器
- Native AOT 支持,提升性能
- 与 Microsoft.Extensions.AI 抽象接口兼容
准备工作:安装必要组件
开始使用 OllamaSharp 前,需要确保系统中已安装以下软件:
-
Ollama 服务器
- 从 Ollama 官方网站 下载并安装
- 安装后会自动启动服务,默认端口为 11434
-
.NET 环境
- 支持 .NET 8.0 及以上版本
- 可从 .NET 官方下载页面 获取
快速安装 OllamaSharp
安装 OllamaSharp 非常简单,通过 NuGet 包管理器即可完成。打开终端,执行以下命令:
dotnet add package OllamaSharp
或者在项目文件中添加 PackageReference:
<PackageReference Include="OllamaSharp" Version="最新版本" />
提示:可以通过 NuGet 官网 查看最新版本号
基础配置:初始化客户端
安装完成后,首先需要创建并配置 OllamaApiClient 实例。最基本的初始化代码如下:
using OllamaSharp;
// 设置 Ollama 服务器地址(默认本地地址)
var uri = new Uri("http://localhost:11434");
var ollama = new OllamaApiClient(uri);
// 选择要使用的模型
ollama.SelectedModel = "llama3.1:8b";
常用操作指南
列出本地可用模型
要查看已下载到本地的 Ollama 模型,可以使用 ListLocalModelsAsync 方法:
var models = await ollama.ListLocalModelsAsync();
foreach (var model in models)
{
Console.WriteLine($"模型名称: {model.Name}, 大小: {model.Size}");
}
下载新模型
从 Ollama 模型库下载新模型非常简单,还可以实时跟踪下载进度:
await foreach (var status in ollama.PullModelAsync("llama3.1:405b"))
{
Console.WriteLine($"{status.Percent}% {status.Status}");
}
生成文本响应
直接生成文本响应并流式输出到控制台:
await foreach (var stream in ollama.GenerateAsync("请介绍一下 .NET 8 的新特性"))
{
Console.Write(stream.Response);
}
构建交互式聊天
OllamaSharp 提供了 Chat 类来简化交互式聊天功能的实现:
var chat = new Chat(ollama);
while (true)
{
Console.Write("你: ");
var message = Console.ReadLine();
Console.Write("AI: ");
await foreach (var answerToken in chat.SendAsync(message))
{
Console.Write(answerToken);
}
Console.WriteLine();
}
高级用法:与 Microsoft.Extensions.AI 集成
OllamaSharp 实现了 Microsoft.Extensions.AI 抽象接口,可与其他 AI 服务提供商无缝切换:
// 安装 Microsoft.Extensions.AI.Abstractions 包
private static IChatClient CreateChatClient(string provider, string uri, string model, string apiKey = null)
{
if (provider.Equals("ollama", StringComparison.OrdinalIgnoreCase))
return new OllamaApiClient(new Uri(uri), model);
else
return new OpenAIChatClient(new OpenAI.OpenAIClient(apiKey), model); // 其他 AI 提供商
}
官方文档与资源
- 完整文档:docs/getting-started.md
- 工具支持:docs/tool-support.md
- Native AOT 支持:docs/native-aot-support.md
故障排除小贴士
- 连接问题:确保 Ollama 服务正在运行,默认地址为 http://localhost:11434
- 模型问题:使用
ollama pull 模型名命令确保模型已下载 - 版本问题:确保使用最新版本的 OllamaSharp 和 .NET SDK
- 性能问题:考虑启用 Native AOT 编译提升性能
通过以上步骤,你已经掌握了 OllamaSharp 的基本安装、配置和使用方法。无论是构建简单的命令行工具还是复杂的 AI 应用,OllamaSharp 都能为你提供高效、可靠的 .NET 绑定支持。现在就开始探索 Ollama 的强大功能吧!
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust098- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
MiMo-V2.5-ProMiMo-V2.5-Pro作为旗舰模型,擅⻓处理复杂Agent任务,单次任务可完成近千次⼯具调⽤与⼗余轮上 下⽂压缩。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
Kimi-K2.6Kimi K2.6 是一款开源的原生多模态智能体模型,在长程编码、编码驱动设计、主动自主执行以及群体任务编排等实用能力方面实现了显著提升。Python00
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00