【亲测免费】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 的强大功能吧!
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00- QQwen3-Coder-Next2026年2月4日,正式发布的Qwen3-Coder-Next,一款专为编码智能体和本地开发场景设计的开源语言模型。Python00
xw-cli实现国产算力大模型零门槛部署,一键跑通 Qwen、GLM-4.7、Minimax-2.1、DeepSeek-OCR 等模型Go06
PaddleOCR-VL-1.5PaddleOCR-VL-1.5 是 PaddleOCR-VL 的新一代进阶模型,在 OmniDocBench v1.5 上实现了 94.5% 的全新 state-of-the-art 准确率。 为了严格评估模型在真实物理畸变下的鲁棒性——包括扫描伪影、倾斜、扭曲、屏幕拍摄和光照变化——我们提出了 Real5-OmniDocBench 基准测试集。实验结果表明,该增强模型在新构建的基准测试集上达到了 SOTA 性能。此外,我们通过整合印章识别和文本检测识别(text spotting)任务扩展了模型的能力,同时保持 0.9B 的超紧凑 VLM 规模,具备高效率特性。Python00
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin08
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00