【亲测免费】OllamaSharp 项目安装和配置指南:让 .NET 轻松对接 Ollama API
OllamaSharp 是一款专为 .NET 开发者设计的 Ollama API 绑定库,能够简化与 Ollama 的本地和远程交互。无论是构建聊天应用还是调用 AI 模型,OllamaSharp 都提供了直观的接口和强大的功能支持,让 .NET 开发者轻松集成 Ollama 的强大能力。[ 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 的强大功能吧!
【免费下载链接】OllamaSharp Ollama API bindings for .NET 项目地址: https://gitcode.com/gh_mirrors/ol/OllamaSharp
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)