当前位置: 首页 > article >正文

采用OllamaSharp实现.NET快速对接deepseek实现聊天、模型管理、流式响应等功能

1. OllamaSharp 是什么?

OllamaSharp 是一个用于在 .NET 环境中与 Ollama API 交互的库。它提供了对 Ollama API 端点的全面支持,包括聊天、模型管理、流式响应等功能,适合需要与 Ollama 服务进行交互的 .NET 开发者。

2. 安装 OllamaSharp

你可以通过以下几种方式安装 OllamaSharp

方法一:通过 NuGet 安装

在 Visual Studio 中或命令行中运行以下命令:

bash复制

Install-Package OllamaSharp -Version 1.0.1

或者使用 .NET CLI:

bash复制

dotnet add package OllamaSharp --version 1.0.1
方法二:克隆 GitHub 仓库并手动构建
  1. 克隆 OllamaSharp 仓库:

    bash复制

    git clone https://github.com/awaescher/OllamaSharp.git
  2. 进入项目目录并构建:

    bash复制

    cd OllamaSharp
    dotnet build

3. 配置和使用 OllamaSharp

环境准备
  1. 确保已安装 .NET SDK,可通过以下命令检查:

    bash复制

    dotnet --version

    如果未安装,请从 Microsoft 官方网站 下载并安装。

  2. 确保 Ollama 服务已安装并运行。默认情况下,Ollama 服务运行在 http://localhost:11434

示例代码

以下是一个简单的示例,展示如何使用 OllamaSharp 与 Ollama API 交互:

csharp复制

using System;
using System.Threading.Tasks;
using OllamaSharp;class Program
{static async Task Main(string[] args){var uri = new Uri("http://localhost:11434");var ollama = new OllamaApiClient(uri);ollama.SelectedModel = "deepseek-r1:7b"; // 选择模型// 获取本地模型列表var models = await ollama.ListLocalModelsAsync();Console.WriteLine("本地模型列表:");foreach (var model in models){Console.WriteLine(model.Name);}// 与模型进行交互await foreach (var response in ollama.GenerateAsync("介绍一下人工智能")){Console.Write(response.Response);}}
}

4. 其他功能

  • 下载模型

    csharp复制

    await ollama.PullAsync("deepseek-r1:7b");
    Console.WriteLine("模型下载完成");
  • 删除模型

    csharp复制

    await ollama.DeleteAsync("deepseek-r1:7b");
    Console.WriteLine("模型已删除");

5. 注意事项

  • 如果需要更改 Ollama 的模型存储路径,可以通过环境变量 OLLAMA_MODELS 设置。

  • 确保 Ollama 服务已启动,运行以下命令:

    bash复制

    ollama start

通过以上步骤,你可以成功安装并使用 OllamaSharp 与 Ollama 服务进行交互。

相关文章:

采用OllamaSharp实现.NET快速对接deepseek实现聊天、模型管理、流式响应等功能

1. OllamaSharp 是什么? OllamaSharp 是一个用于在 .NET 环境中与 Ollama API 交互的库。它提供了对 Ollama API 端点的全面支持,包括聊天、模型管理、流式响应等功能,适合需要与 Ollama 服务进行交互的 .NET 开发者。 2. 安装 OllamaSharp…...

CodeBlocks个性化竞赛配置

文章目录 1. 主题设置2. 设置默认代码3. 比赛时的使用 1. 主题设置 参考博客 --> codeblocks更改主题颜色及调试 跟随当前教程配置主题 博主使用的主题为son of obsidian,此主题为黑色背景,按照上边参考博文修改一下光标颜色即可。 效果图&#xff1…...

如何用单机版deepseek编写示例

以下是一个简单的 DeepSeek 编程示例,通过 API 调用实现智能对话功能:文末有链接 一、环境准备 pip install requests # 安装 HTTP 请求库‌:ml-citation{ref"2" data"citationList"} 二、代码实现 import requests def chat_wi…...

python实现的可爱卸载动画

在逛掘金时,掘金用户在B站看到的灵感进行的一个卸载窗口的动画效果的实用案例。人类是一种不断在学习的动物,并且是一种模仿能力学习能里比较强的动物。我这里是第三波的学习实践者咯! 相对VUE构建动画效果窗口,我更加喜欢用pytho…...

钣金加工行业数字化转型MES方案

一、 行业痛点:钣金加工行业普遍面临以下挑战: 订单多样化、小批量、定制化需求增多:传统生产模式难以适应快速变化的市场需求。 生产流程复杂、工序繁多:涉及切割、折弯、焊接、表面处理等多个环节,协同效率低。 生产…...

pinginfoview网络诊断工具中文版

介绍 pinginfoview中文版本是一款实用的网络诊断工具,它专为中文用户设计,提供了方便易用的界面,使得在Windows环境下进行ping测试变得更加简单。该工具是由NirSoft开发的一款免费的桌面应用程序,尽管官方可能并未正式发布中文版…...

关于服务器无法下载kcv_encoder.h5权重的解决方法

最近租服务器跑实验代码,在模型初次加载时会下载stable diffusion的一系列预训练权重,但服务器一直卡在 Downloading data from https://huggingface.co/fchollet/stable-diffusion/resolve/main/kcv_encoder.h5 ,最后报错 File /usr/local/…...

计算光学成像与光学计算概论

计算光学成像所涉及研究的内容非常广泛,虽然计算光学成像的研究内容是发散的,但目的都是一致的:如何让相机记录到客观实物更丰富的信息,延伸并扩展人眼的视觉感知。总的来说,计算光学成像现阶段已经取得了很多令人振奋…...

Linux——Docker容器内MySQL密码忘记了如何查看

目录 查看正在运行的MySQL的容器ID 方法一:查看MySQL容器的日志里的密码 方法二:通过环境变量密码登录 方法三:修改密码 查看正在运行的MySQL的容器ID docker ps 方法一:查看MySQL容器的日志里的密码 docker logs [MySQL的容器…...

CSS+Html面试题(二)

一、CSS选择器有哪些,选择器的优先级? 选择器类型:ID选择器、类选择器、标签选择器、通配符、伪类、伪元素、子代选择器、相邻选择器、后代选择器 优先级排序:!important>内联样式>ID选择器>类选择器>标签选择器>…...

Varjo XR-4 混合现实驾驶仿真解决方案

企业级虚拟与混合现实解决方案提供商Varjo今日宣布,其XR-4系列设备已与VI-grade的车辆开发平台VI-WorldSim实现兼容。自2025.1版本起,VI-WorldSim将通过虚幻引擎5的OpenXR接口支持Varjo XR-4系列头显。 VI-WorldSim是一个集成式图形环境,可加…...

Unity3D实现批量修改导入模型设置

系列文章目录 unity工具 文章目录 系列文章目录👉前言👉一、应用场景👉1-1、模型导入设置👉二、使用步骤👉壁纸分享👉总结👉前言 不知道你们遇见没有遇见过很多模型的时候,如果一个一个设置模型的设置,那将是一个噩梦。尤其是设置模型的Materials的Location这个…...

颠覆传统软件测试!Browser Use WebUI+DeepSeek:软件测试行业的革命性突破

前置信息 硬件配置 处理器 : Intel(R) Core(TM) i5-8265U CPU 1.60GHz (四核 / 八逻辑处理器) 主板 : 20N8002UCD 内存 : 8GB(RMSA3260ME78HAF-2666 DDR4 2667 MT/s) 显示适配器 : Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X]/WhiskeyLake-U GT2 [UHD Graphics…...

中学学习难点管理思维魔方

中学学习难点管理思维魔方 点:识别难点 预习难点学习难点考试错漏 线 难题整理 导图笔记 集中训练 各个突破询问老师同学个人深入思考反复阅读练习 题目改型 举一反三一题多问一题多解 面:定期确认 导出难题,重新完成 体&#xf…...

静态成员不依赖于特定对象的内容

静态成员不依赖于特定对象的内容这一概念主要涉及到面向对象编程中的静态成员(包括静态变量和静态方法)。为了详细解释这一点,我们需要从以下几个方面来理解: 1. 面向对象编程基础 在面向对象编程中,类是对象的蓝图&…...

使用开放数据、ArcGIS 和 Sklearn 测量洛杉矶的城市相似性

城市规划人员希望找到具有相似城市结构(街道网络、建筑结构、土地使用类型、人口密度)和人口统计数据(收入、文化、年龄)的地方。在本文中,我将介绍我为量化邻里相似性而确定的方法和决策,并展示数据科学方…...

线上虚拟展厅有哪些应用场景?

虚拟展厅利用数字技术和三维建模技术创建一个虚拟的展览环境,使参观者可以通过计算机、智能手机、平板电脑等设备远程参观展览。其应用场景十分广泛,具体来说包括以下几个方面: 艺术展览: 通过线上虚拟展厅,人们可以…...

[MySQL初阶]MySQL(5)内置函数详解

标题:[MySQL初阶]MySQL(5)内置函数详解 水墨不写bug 文章目录 一、日期函数1. current_date()2. current_time()3. current_timestamp()4. date(datetime)5. date_add(date, interval expr unit)6. date_sub(date, interval expr unit)7. dat…...

EasyDSS视频推拉流/直播点播平台:Mysql数据库接口报错502处理方法

视频推拉流/视频直播点播EasyDSS互联网直播平台支持一站式的上传、转码、直播、回放、嵌入、分享功能,具有多屏播放、自由组合、接口丰富等特点。平台可以为用户提供专业、稳定的直播推流、转码、分发和播放服务,全面满足超低延迟、超高画质、超大并发访…...

Ruoyi+uniapp+websocket点对点和广播通知消息

前端参考文章:https://zhuanlan.zhihu.com/p/677296938 后端参考文章:ruoyi-vue websocket实现聊天功能_若依聊天系统-CSDN博客...

Linux常用命令(详细解析)

一、文件操作命令 1. ls - 列出目录内容 功能:列出指定目录中的文件和子目录。 常用选项: -l:以长格式显示文件信息,包括文件类型、权限、所有者、大小和修改日期。 -a:显示包括隐藏文件(以点开头的文件…...

Flask项目框架

文章目录 引言一、Flask基本概念定义特点 二、Flask项目结构简单项目结构中型项目结构复杂项目结构 三、Flask常用组件路由和视图函数模板引擎扩展 四、Flask特性蓝图(Blueprints)中间件异步视图 五、Flask项目示例六、总结与建议 引言 Flask是一个轻量…...

.NET 10首个预览版发布:重大改进与新特性概览!

前言 .NET 团队于2025年2月25日发布博文,宣布推出 .NET 10 首个预览版更新,重点改进.NET Runtime、SDK、Libraries 、C#、ASP.NET Core、Blazor 和.NET MAUI 等。 .NET 10介绍 .NET 10 是 .NET 9 的后继版本,将作为长期支持维护 &#xff…...

git-filter-repo 清除大文件教程

git filter-repo 是一个用于过滤和清理 Git 仓库历史的工具,它可以高效地批量修改提交历史中的文件内容、删除文件、重命名文件以及进行其他历史重构操作。相较于 git filter-branch,它通常更快且更易于使用。 以下是一个基本示例,说明如何使…...

【python】gunicorn配置

起因:因为cpu利用率低导致我去缩容,虽然缩容之后cpu利用率上升维持在60%左右,但是程序响应耗时增加了。 解释:因为cpu干这件活本身不累,但在干这件活的时候不能去干其他事情,导致并发的请求不能及时响应&am…...

基于WebAssembly的云原生运行时:重新定义轻量化微服务架构

引言:颠覆性的运行时革命 Fastly边缘计算平台每天处理2000亿次Wasm请求,冷启动时间低于1ms。字节跳动采用Wasm实现广告算法热更新,发布耗时从分钟级降至秒级。CNCF 2024调研显示Wasm在边缘计算场景渗透率达42%,单实例内存开销仅为…...

25年社工考试报名时间⏰附报名全流程✅

目前,湖北、重庆、云南、天津、山西、内蒙、四川、北京八地已发布考务通知。 1、湖北:3月11日9:00—3月26日20:00 2、重庆:3月13日9:00—3月24日17:00 3️⃣云南:3月10日09:00—3月20日17:00 4、天津:3月10日0:00至…...

鸿蒙全栈开发 D2

课程目标 掌握ArkTS基础语法与核心概念理解声明式UI开发范式能独立开发简单鸿蒙应用组件建立规范的代码编写习惯 第一部分:初识ArkTS 1.1 语言全景认知 #mermaid-svg-V5mnjQN3DAHkfoBo {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size…...

下载PyCharm 2024.3.4 (Community Edition)来开发测试python

1、下载PyCharm 2024.3.4 (Community Edition) 如果你使用的是联想电脑,可以直接在联想应用商店里下载,这样比较省事。 如果你使用的不是联想电脑,当然也可能是别的应用商店里下载。 也可以直接在官网下载: 下载 PyCharm&…...

C#调用Ni板卡进行实现采集任务(模拟量输入输出)示例2

C#调用Ni板卡进行实现采集任务(模拟量输入输出)示例2 本文介绍如何使用C#控制Ni的USB-6008板卡进行模拟量输入、模拟量输出、输出量输入、数字量输出。本例通过新建一个类USB_6008的类进行功能封装:即把模拟量的读取以及模拟量的输出进行了封装。代码详见: https://download…...