学习模型开发时,搭建环境可能会碰到很多曲折,这里提供一些通用的环境搭建安装方法,以便读者能够快速搭建出一套 AI 模型开发调试环境。 安装显卡驱动和开发库 本文只讲述 NVIDIA 显卡驱动的安装方法。 NVIDIA 显卡有多个系列,常用的有 Tensor 和 GeForce RTX 系列,两类显卡的驱动安装方式不一样,下面的章节会单独介绍如何安装驱动。 第一步,检测电脑是否正确识别显卡或已安装驱动。 打开设备管理器,点击 显示适配器 ,查看设备列表是否存在显卡。 如果电脑已经识别出显卡,可以通过 NVIDIA G…

2024年9月1日 0条评论 618点热度 1人点赞 痴者工良 阅读全文

项目中使用 Grpc 时,由于有大量 Proto,会导致引入的时候需要配置大量文件,因此需要批量导入。 假如有目录: servicea serviceb 只想引入 servicea 的 proto 文件,则: <ItemGroup> <Protobuf Include="..\test\sericea\**\*.proto"> <ProtoRoot>..\..\..\..\x\proto</ProtoRoot> <Link>sericea\%(Filena…

2024年8月28日 0条评论 490点热度 0人点赞 痴者工良 阅读全文

微分中值定理,涉及了多个重要的定理: 罗尔定理 拉格朗日中值定理 柯西中值定理 洛必达法则 参考资料:https://www.hanspub.org/journal/PaperInformation?paperID=33661 罗尔定理 定理1 (Rolle) 设函数 f(x) 满足: (1) 在 [a,b] 上连续; (2) 在 (a,b) 内可导; (3) f(a)=f(b), 则存在 ξ∈(a,b) 使得 f′(ξ)=0 。 罗尔定理的几何意义:两端点处高度相等的光滑曲线内必有一点处的切线与x-轴平行。 也就…

2024年8月13日 0条评论 804点热度 0人点赞 痴者工良 阅读全文

当一个字段为 object 类型时,System.Text.Json 自动设置 JsonElement 类型,而不是对应的类型,因此在很多情况下会出现奇怪的问题。 因此这里只要有两个地方加上代码,缓解这一情况。 第一步,实现转换器,当一个类型是 object 时,如果 json 是简单类型,则直接使用实际类型,而不是 JsonElement。 但是当字段是字典、数组,如 object[],T[] 但是 T 中有 object 字段 等情况时,这里是无效的。 public class ObjectJsonSerial…

2024年7月10日 0条评论 956点热度 0人点赞 痴者工良 阅读全文

.NET 中的日志使用技巧 Serilog Serilog 是 .NET 社区中使用最广泛的日志框架,所以笔者使用一个小节单独讲解使用方法。 示例项目在 Demo2.Console 中。 创建一个控制台程序,引入两个包: Serilog.Sinks.Console Serilog.Sinks.File 除此之外,还有 Serilog.Sinks.Elasticsearch、Serilog.Sinks.RabbitMQ 等。Serilog 提供了用于将日志事件以各种格式写入存储的接收器。下面列出的许多接收器都是由更广…

2024年6月18日 0条评论 1168点热度 1人点赞 痴者工良 阅读全文

文档说明 作者:痴者工良 文档地址:https://mmq.whuanle.cn 仓库地址:https://github.com/whuanle/Maomi.MQ 作者博客: https://www.whuanle.cn https://www.cnblogs.com/whuanle 导读 Maomi.MQ 是一个消息通讯模型项目,目前只支持了 RabbitMQ。 Maomi.MQ.RabbitMQ 是一个用于专为 RabbitMQ 设计的发布者和消费者通讯模型,大大简化了发布和消息的代码,并提供一系列简便和实用的…

2024年6月13日 0条评论 2450点热度 0人点赞 痴者工良 阅读全文

关于从零设计 .NET 开发框架 作者:痴者工良 教程说明: 仓库地址:https://github.com/whuanle/maomi 文档地址:https://maomi.whuanle.cn 作者博客: https://www.whuanle.cn https://www.cnblogs.com/whuanle 故障排查和日志 .NET 程序进行故障排查的方式有很多,笔者个人总结常用的有以下方式: IDE 调试、Visual Studio 中的诊断工具、性能探测器 一般来说,使用 IDE 进行断点调试和诊断只…

2024年6月5日 0条评论 1520点热度 0人点赞 痴者工良 阅读全文

关于从零设计 .NET 开发框架 作者:痴者工良 教程说明: 仓库地址:https://github.com/whuanle/maomi 文档地址:https://maomi.whuanle.cn 作者博客: https://www.whuanle.cn https://www.cnblogs.com/whuanle 模块化和自动服务注册 基于 ASP.NET Core 开发的 Web 框架中,最著名的是 ABP,ABP 主要特点之一开发不同项目(程序集)时,在每个项目中创建一个模块类,程序加载每个程序集中,扫描出…

2024年6月3日 0条评论 1258点热度 1人点赞 痴者工良 阅读全文

t4 模板文件 第一步,在项目中设置 t4 模板文件。 不知道 T4 模板的,可以自行查阅资料或查看 https://learn.microsoft.com/zh-cn/visualstudio/modeling/code-generation-and-t4-text-templates?view=vs-2022 可以使用工具生成两个模板文件。 安装模板工具: dotnet new install Microsoft.EntityFrameworkCore.Templates 然后到项目下面执行命令创建模板文件: …

2024年5月7日 0条评论 1822点热度 2人点赞 痴者工良 阅读全文

string.Format 的功能非常有限,因此需要使用 SmartFormat.NET 框架来完成丰富的字符串插值功能。它可以使用类似于字符串的最小化、直观的语法将各种数据源格式化为字符串。格式。所有格式化都在运行时进行。SmartFormat 使用扩展来提供命名占位符、本地化、多元化、性别结合以及列表和时间格式。可以嵌套格式化扩展插件。 框架地址: https://github.com/axuno/SmartFormat https://github.com/axuno/SmartFormat/wiki 基础使…

2024年4月10日 0条评论 1718点热度 0人点赞 痴者工良 阅读全文

整体逻辑 ASP.NET Core gRPC 的使用很简单,服务注册和中间件只有两行代码。 var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddGrpc(); var app = builder.Build(); // Configure the HTTP request pipeline. app.MapGrpcService<Gr[......]继续阅…

2024年4月3日 0条评论 1854点热度 0人点赞 痴者工良 阅读全文

AI is becoming increasingly popular, so I am writing a simple introductory tutorial for readers in the hope that they will enjoy it. Many people want to learn AI but don't know how to get started. I was the same way at the beginning; first, I learned Python, t…

2024年3月25日 0条评论 3723点热度 1人点赞 痴者工良 阅读全文

为什么要写这个教程 在毕业之后,读者写过了大量的文章和开源项目,正是坚持一边学习一边输出,所以笔者最终从一个生菜鸡进化为一个熟菜鸡。 在程序员的成长中,我们会在思路,如何学习、如何进步,比如要成长为一个架构师,需要具备什么样的能力。比如说技术能力,技术能力是最核心的基础,那么我们技术上要达到哪种程度?可以手撸框架?脚踢汇编、拳打微服务架构? 常常会有技术社区朋友和读者进行交流,很多读者不知道怎么学习。笔者也是,我也不知道怎么学,各类东西都在学、都在搞,还没有确定要专门做什么,比如最近在学 AI。年轻人,总是很迷茫,…

2024年3月21日 2条评论 3419点热度 5人点赞 痴者工良 阅读全文

初始化 KernelMemory 启动时,会检查配置,即使当前代码没有使用到相关功能。 var hasQueueFactory = (this._memoryServiceCollection.HasService<QueueClientFactory>()); var hasContentStorage = (this._memoryServiceCollection.HasService<IContentStorage>()); var hasMimeDetector = (this._…

2024年3月13日 0条评论 2262点热度 1人点赞 痴者工良 阅读全文

万字长文学会对接 AI 模型:Semantic Kernel 和 Kernel Memory,工良出品,超简单的教程 目录: 配置环境 部署 one-api 配置项目环境 模型划分和应用场景 聊天 提示词 引导 AI 回复 指定 AI 回复特定格式 模板化提示 聊天记录 函数和插件 直接调用插件函数 提示模板文件 根据 AI 自动调用插件函数 聊天中明确调用函数 实现总结 配置提示词 提示模板语法 变量 函数调用 文本生成 Semantic Kernel 插件 文档插件 planners Kernel Memory…

2024年2月29日 0条评论 2432点热度 1人点赞 痴者工良 阅读全文

在对话中添加参数 使用 CreateFunctionFromPrompt() 为通过提示模板指定的提示创建 KernelFunction 实例。 KernelFunction 表示可以作为语义内核工作负载的一部分调用的函数。Semantic Kernel 中对 LLM 的调用就叫 KernelFunction。KernelFunction 分为 Semantic Function 、Native Function(本地函数)两种。 private readonly IKernelBuilder _kernelBui…

2024年2月24日 0条评论 1880点热度 1人点赞 痴者工良 阅读全文

EF Core 在执行插入操作时,不会直接将数据插入数据库,而是先将数据缓存在内存中。只有在以下情况下,EF Core才会将数据插入数据库: 显式调用 SaveChanges() 方法 上下文对象被销毁 达到上下文配置的批量插入数量 EF Core 将数据缓存在内存中的好处包括: 提高性能,批量插入数据可以提高数据库的性能。 减少错误,在将数据插入数据库之前,EF Core 可以对数据进行验证,以确保数据的有效性。 EF Core 将数据缓存在内存中的缺点包括: 增加内存使用量:如果缓存的数据量过大,可能会导致内存…

2024年2月19日 0条评论 1946点热度 1人点赞 痴者工良 阅读全文

编写界面控件,元素由 Grid 和一些控件组成,其中使用了 Expander 以便可以扩展面板内容。 <Grid> <Grid MinWidth="100" Height="50" VerticalAlignment="Top" HorizontalAlignment="Left" Background="Transparent" Margin="0,0,0,0" PreviewMouseDown="Button_MouseDown"[......]继续阅读

2024年2月6日 0条评论 2172点热度 3人点赞 痴者工良 阅读全文

随着 AI 的广泛影响,越来越多的企业在考虑是否可以接入 AI ,结合内部业务需求,实现一些落地场景。目前市面上有着很多的 AI 应用和形形色色、各种各样的开源 AI 系统,对于不了解 AI 的技术、非技术人员来说,怎么去学习了解、搭建 demo 是很困难的。因此,本文旨在以简单的方式帮助读者快速搭建两个 AI 系统,读者可以在使用两个系统后,更加深入了解 WebUI、大模型等相关的概念,以及可以知道目前的大语言模型可以做什么,怎么进行二次开发。 one-api one-api 是用于集合各种模型,然后统一转换为 …

2024年2月1日 0条评论 2549点热度 0人点赞 痴者工良 阅读全文

踩了不少坑,因为网上的资料实在太陈旧了。。。 安装 vue 后,首先检查 package.json 中的命令,是否为 vite。 然后根据需求,定义多个环境及其名称。 "dev": "vite", "build":"vite build", "build:test": "vite build --mode test", "build:uat": "vite build --mode uat", "build:pro": "vite build --mode pro", 默认什么都不加,即 npm run build…

2024年1月3日 4条评论 2936点热度 6人点赞 痴者工良 阅读全文
1234526