C#使用.NET的AI模板创建聊天对话框

1、背景

最近我们常常在在做的事情就是整理deepseek的开发Demo,因此也写了几个例子,但是这个有个缺点,不是很方便的添加本地知识库。当然也可以安装完Ollama后,再安装一个anything或其他的平台实现,但是总是感觉没有安全感,不知道它内部的具体内容。
前几日,关注的公众号发了一篇关于NET9中,直接推出了AI的项目模板,可以创建一个聊天对话框,并能能够使用自己的数据实现RAG的功能。这里额外说一下,RAG就是deepseek进行回答前,先去你提供的数据里找,根据你提供的数据,结合deepseek自己的模型,生成更加符合的回答。因此RAG就叫检索生成增强。

2、具体实现

2.1 安装AI的项目模板

使用管理员的权限,运行cmd,执行以下语句:

dotnet new install Microsoft.Extensions.AI.Templates

安装如下图所示
在这里插入图片描述

2.2 打开VS2022,选择AI模板

进入VS2022,就能在新建项目中选择AI模板了。
在这里插入图片描述
在新建项目中,选择Ollama,因为可以使用之前的Ollama方案
在这里插入图片描述

2.3 下载模型

安装Ollama,大家可以到网上一搜即可,非常简单,但模型及句子嵌入模型,需要下载。
分别运行如下的命令行:

ollama pull llama3.2
ollama pull all-minilm

如下图所示
在这里插入图片描述
这里,AI项目模板使用了llama3.2:3Ball-MiniLM-L6-v2实现具体的聊天功能。

2.4 替换项目中的数据

将项目中的数据(pdf文件),替换为自己的PDF文件
在这里插入图片描述
本人替换了2个PDF文件,内容非常简单。
第一个pdf的内容是:北京清华长庚医院成立于2014年11月28日,是一家市属公立医院
第二个pdf的内容是:北京清华长庚医院位于北京市北5.5环的天通苑地区
在这里插入图片描述

3、实现效果

在检索框中输入:请简单介绍一下北京清华长庚医院。回复内容如下:
在这里插入图片描述

4、注意事项

4.1 不支持deepseek

在Program.cs文件中可以设置大模型(前提是在ollma中已安装)

//模型的设置
IChatClient chatClient = new OllamaApiClient(new Uri("http://localhost:11434"),
    "llama3.2:3b");
IEmbeddingGenerator<string, Embedding<float>> embeddingGenerator = new OllamaApiClient(new Uri("http://localhost:11434"),
    "all-minilm:l6-v2");

但目前不支持deepseek。后续可能会添加。

5、参考资料

1、技术速递|.NET AI 模板现已提供预览版

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值