OllamaSharp
OllamaSharp 为 Ollama API 提供 .NET 绑定,简化在本地和远程与 Ollama 的交互。
核验日期
核心信息
以下信息由程序从官方接口读取,不经模型改写。
- 许可证
- MIT
- 语言
- C#
- 维护方
- awaescher
- 核验日期
它是什么
OllamaSharp 为 Ollama API 提供 .NET 绑定。OllamaSharp 把每个 Ollama API 端点封装为可等待的方法,这些方法完整支持响应流式传输。
主要能力
项目 README 称,只需几行代码即可与 Ollama 交互。
OllamaSharp 可以把响应直接以流的方式传给应用程序。
OllamaSharp 能对模型拉取等任务给出实时进度反馈。
OllamaSharp 支持视觉模型。
OllamaSharp 的 Tool support 文档涵盖借助源生成器实现的函数调用。
怎么上手
OllamaSharp 的 Getting started 文档涵盖安装、客户端设置和最初的步骤。
OllamaSharp 也可以与 Ollama 云端模型一起使用。
使用云端模型时,使用接受 HttpClient 的构造函数,并将其设置为把 API 密钥作为默认请求头发送。
在 .NET Native AOT 场景下,用自己的类型创建自定义 JsonSerializerContext,并将其传入构造函数。
README 推荐用 Chat 类来构建对话式应用。
Chat 类会在多轮对话中自动跟踪完整的消息历史,包括工具调用及其结果,使模型拥有完整上下文。
// set up the client
var uri = new Uri("http://localhost:11434");
var ollama = new OllamaApiClient(uri);
// select a model which should be used for further operations
ollama.SelectedModel = "qwen3.5:35b-a3b";[JsonSerializable(typeof(MyCustomType))]
public partial class MyJsonContext : JsonSerializerContext { }
// Use the static factory method for NativeAOT
var ollama = new OllamaApiClient(uri, "qwen3.5:35b-a3b", MyJsonContext.Default);// messages including their roles and tool calls will automatically be tracked within the chat object
// and are accessible via the Messages property
var chat = new Chat(ollama);
while (true)
{
var message = Console.ReadLine();
await foreach (var answerToken in chat.SendAsync(message))
Console.Write(answerToken);
}var client = new HttpClient();
client.BaseAddress = new Uri("http://localhost:11434");
client.DefaultRequestHeaders.Add(/* your api key here */);
var ollama = new OllamaApiClient(client);适合谁
微软构建了一个抽象库 Microsoft.Extensions.AI,用来简化不同 AI 提供方的使用。OllamaApiClient 实现了 Microsoft.Extensions.AI 的两个接口。其中 IChatClient 用于模型推理。
IEmbeddingGenerator 接口用于生成嵌入。SystemOneAsync 映射到 System One 端点,该端点适用于 Ollama v0.35.0 或更高版本。System One 模型(例如 nimble)不生成文本,而是回答关于给定状态的选择题、是非题和打分题,并返回概率。
README 还说明可以设置系统提示词、为视觉模型发送图像、请求结构化 JSON 输出,并为推理模型启用思考模式。README 称,如果计划只使用 Ollama 模型,就选择 OllamaSharp。README 称,如果想使用原生 Ollama API,不只是聊天和嵌入,还包括模型管理、使用信息等,就选择 OllamaSharp。
README 称,如果只需要聊天和嵌入功能,就选择 Microsoft.Extensions.AI。README 称,如果希望能使用 Ollama、OpenAI、Hugging Face 等不同提供方,就选择 Microsoft.Extensions.AI。README 称,如果想构建智能体系统,就选择 Semantic Kernel。
README 称,如果需要变量替换和模板等高级提示技术,就选择 Semantic Kernel。OllamaSharp 的 Model Management 文档涵盖列出、拉取、推送、复制、删除、显示和嵌入。OllamaSharp 的 Chat and Generate 文档涵盖 Chat 类、GenerateAsync、流式传输、图像、结构化输出和思考模型。
OllamaSharp 的 API reference 是完整的自动生成 API 文档。
来源
本页内容整理自以下官方来源,点击可核对原文。
- GitHub READMEhttps://github.com/awaescher/OllamaSharp抓取于
核验日期 ·
本页由 AI 依据上述官方来源整理,并经自动核对,未经本站实测。 发现错误?告诉我们。