首页 > 其他分享 >.NET使用OllamaSharp实现大模型推理对话的简单演示

.NET使用OllamaSharp实现大模型推理对话的简单演示

时间:2024-10-23 17:43:44浏览次数:5  
标签:演示 OllamaSharp 模型 获取 var Console NET ollama

  前提条件:请确保你本地已经安装了ollama以及有关本地离线模型。或者已有远程模型环境等。如果没有,请自行部署。如果需要帮助,可以文末获取联系方式咨询。由于部署离线大模型过于简单,在线资料也很多,我就省略这个步骤了。   创建一个项目,添加使用MIT开源协议的一个nuget包 OllamaSharp 0 确保Ollama应用已经启动。 0   默认本地ollama的端口是11434,也可以自行部署时候更改环境变量进行修改大模型存放地址、默认端口、是否允许远程访问等等。创建连接,并且验证下连接是不是正常,返回true,代表连接正常。 0   可以遍历出已有的模型有哪些,咱们写个选择模型的输入,通过输入来选择模型。由于获取的是IEnumerable集合,所以此处为了方便,之间转为数组来获取下标,从而获取模型名称。大家自己使用时候记得优化下写法。 运行,可以看到我本地罗列的模型列表等信息。 0   选择模型完毕,并绑定prompt提示词进行创建聊天对话。创建对话以后,根据用户输入的内容进行推理并获取返回内容。 0   运行结果如下: 如果需要以上演示的demo源码,可以在个人公众号 Dotnet Dancer 内,回复 【代码演示】 即可获取代码开源地址。 核心代码片段:

var uri = new Uri("http://localhost:11434");
var ollama = new OllamaApiClient(uri);

var models = await ollama.ListLocalModels();

 foreach (var model in models)
 {
    Console.WriteLine($"{index++}:{model.Name} {model.Size / 1024 / 1024} MB"); // 输出模型名称和大小
 }
 int selectIndex = Convert.ToInt32(Console.ReadLine());
 ollama.SelectedModel = models.ToArray()[selectIndex].Name; // 选择模型名称

var chat = new Chat(ollama, prompt);

await foreach (var answerToken in chat.Send(message))
       Console.Write(answerToken);

 

标签:演示,OllamaSharp,模型,获取,var,Console,NET,ollama
From: https://www.cnblogs.com/weskynet/p/18497936

相关文章

  • Network security using SNORT
    Lab3:NetworksecurityusingSNORTIntroductionThisLabisaspecializedvirtualenvironmentdesignedforthepurposeofcybersecuritytrainingandeducation.Intoday’sdigitallandscape,theimportanceofunderstandinganddefendingagainstcyberthre......
  • 基于卷积神经网络的瓶盖状态识别系统,resnet50,mobilenet模型【pytorch框架+python源码
    更多目标检测和图像分类识别项目可看我主页其他文章功能演示:卷积神经网络,瓶盖状态识别系统,resnet50,mobilenet【pytorch框架,python】_哔哩哔哩_bilibili(一)简介基于卷积神经网络的瓶盖状态识别系统是在pytorch框架下实现的,这是一个完整的项目,包括代码,数据集,训练好的模型权重,......
  • nerual network系列--3b1b视频记录
    3b1b部分视频汉化B站作品页:3Blue1Brown投稿视频-3Blue1Brown视频分享-哔哩哔哩视频neuralnetworksseries:https://www.youtube.com/watch?v=aircAruvnKk&list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi内容+问题(只是部分思考,可能暂无答案),以视频记录和思考顺序记录,可能较乱,不做整......
  • 【K8s】Kubernetes 证书管理工具 Cert-Manager
    本文内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发、订阅专栏!专栏订阅入口| 精选文章 | Kubernetes |Docker|Linux |羊毛资源 | 工具推荐 |往期精彩文章【Docker】(全网首发)KylinV10下MySQL容器内存占用异常的解决......
  • DeviceNet主站转EtherCAT协议转换网关
    一,设备主要功能捷米特JM-ECT-DNTM网关实现EtherCAT网络与DeviceNet网络之间的数据通讯,可连接DeviceNet网络到EtherCAT网络。即将DeviceNet设备连接到EtherCAT网络。应用广泛:本产品应用于支持DeviceNet接口的电机、IO模块、机器人、仪表、等等。例如半导体设备中的IO模块、M......
  • Kubernetes的yaml文件编写技巧
    一、了解YAML文件的基本结构YAML文件通常由以下四个关键部分组成:apiVersion:指定KubernetesAPI的版本。kind:指定要创建的资源类型。metadata:定义资源的元数据,如名称、命名空间等。spec:指定资源的规格和配置。二、掌握YAML格式的基本规范大小写敏感:YAML文件对大小写敏感。缩......
  • IDM下载器 (Internet Download Manager) v6.42.2 中文免激活绿色版
    InternetDownloadManager(IDM下载器)是一款先进的下载工具,可以提升您的下载速度高达5倍,支持续传,IDM可以让用户自动下载某些类型的文件,它可将文件划分为多个下载点以更快速度下载,并列出最近的下载,方便访问文件。相对于其它下载管理工具,它具有独特的动态档案分区技术。......
  • .NET云原生应用实践(三):连接到PostgreSQL数据库
    本章目标实现基于PostgreSQL的SDAC(简单数据访问层)将Stickers微服务切换到使用PostgreSQLSDAC为什么选择PostgreSQL数据库?其实并不一定要选择PostgreSQL数据库,这里主要出于几个方面考虑:PostgreSQL免费易用,轻量效率高,能够满足目前的需求PostgreSQL生态成熟,资源丰富,遇到问......
  • MQTTnet 4.3.7.1207 (最新版)使用体验,做成在线客服聊天功能,实现Cefsharp的物联的功能(如
    一、MQTTnet4.3.x版本客户端将客户端集成到cefsharp定制浏览器中,实现物联网功能网上很多代码是3.x版本代码,和4.x版本差异性较大,介绍较为简单或不系统二、部分代码说明初始化,初始化》连接服务端》发布上线信息(遗嘱)ConnectAsync等订阅主题:SubscribeAsync......
  • 从认识 Kubernetes 开始
    Author:ACatSmilingSince:2024-10-21认识Kubernetes什么是Kubernetes官方网站:https://kubernetes.ioKubernetes,是Google严格保密十几年的秘密武器Borg系统的一个开源版本,于2014年9月发布第一个版本,2015年7月发布第一个正式版本。Kubernetes是一个全新的基......