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条评论 470点热度 0人点赞 痴者工良 阅读全文

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

2024年4月10日 0条评论 626点热度 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条评论 814点热度 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条评论 1331点热度 1人点赞 痴者工良 阅读全文

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

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

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

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

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

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

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

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

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

2024年2月19日 0条评论 888点热度 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条评论 1155点热度 3人点赞 痴者工良 阅读全文

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

2024年2月1日 0条评论 1282点热度 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条评论 1402点热度 6人点赞 痴者工良 阅读全文

当 pdf 中包含 STSONG-light 字体时,会导致 pdf 转图片时,文字丢失。这是因为 GHostscript 默认配置的问题。在 Docker 中往往会出现这个问题。 查看 Ghostscript 配置文件: cat /etc/ghostscript/cidfmap.d/90gs-cjk-resource-gb1.conf 部分内容如下: /Song-Medium /GBZenKai-Medium ; /STSong-Light /BousungEG-Light-GB ; /STFangsong-Li…

2023年12月25日 0条评论 1142点热度 0人点赞 痴者工良 阅读全文

背景:最近使用 Debezium 做数据库数据监听工具,然后使用 C# 开发管理工具对接 kafka 获取增量同步的数据,这个 C# 管理工具需要支持自定义下游数据库映射,因此再新增加映射关系时需要批量将上游数据全量同步到下游,然后才能从 Kafka 中开始使用增量数据同步,以便保持上下游的数据一致。 刚开始,笔者使用 mysqldump 工具导出表数据,然后使用 C# 读取 SQL 文件,再导入到下游表。可是这样做的性能比较差、速度比较慢,而且不能修改表名称。因为上游表名称是 A , 下游表名称是 v_A ,内部…

2023年12月21日 0条评论 1710点热度 0人点赞 痴者工良 阅读全文

Ultralytics YOLOv8 是备受好评的实时目标检测和图像分割模型,主要功能是物体识别、分割图片物体、分类、姿态识别和跟踪等。Ultralytics 支持使用 CPU、GPU 进行训练,支持 x64、arm64 等 CPU 架构,支持苹果的 M1/M2 芯片,支持在边缘设备中训练和使用。 Ultralytics 对于个人免费,使用 【AGPL-3.0 许可】 开源协议,对于企业则需要付费。 Ultralytics 是框架的名称,YOLOv8 是该框架默认携带的模型的版本号,框架默认会自带多种用途模型,我们…

2023年12月13日 0条评论 2197点热度 0人点赞 痴者工良 阅读全文

[TOC] 在业务开发中,使用数据库事务是必不可少的。而开发中往往会使用各种 ORM 执行数据库操作,简化代码复杂度,不过,由于各种 ORM 的封装特性,开发者的使用方式也不一样,开发者想要了解 ORM 对事务做了什么处理是比较难的。因此,本文介绍数据库事务基础、Ado.net 事务、如何封装 DbContext ,读者掌握以后,可以加深对 C# 使用事务的理解,使用各种 ORM 时也会更应手。 生成数据库数据 为了演示各种事务操作,我们想要先创建 demo 数据,打开 filldb 官网,根据操作提示生成模拟数据…

2023年12月12日 0条评论 1267点热度 0人点赞 痴者工良 阅读全文

首先在 router/index.ts 中创建对应的路由。 const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), routes: [ { path: '/', name: 'home', component: HomeView }, { path: '/datasource/:source?/:database?', name: 'dataSource', component:[......]继续阅读

2023年12月6日 0条评论 1484点热度 0人点赞 痴者工良 阅读全文

Kiota 是一个命令行工具,用于将 swagger、openapi 生成对应语言的的代码文件,目前支持: .NET CLI(C# 的 System.CommandLine) Go Java PHP Python TypeScript/JavaScript 官方文档: https://learn.microsoft.com/en-us/openapi/kiota/ 官方仓库: https://github.com/microsoft/kiota 据笔者使用,此工具目前尚未成熟,Bug 较多。此工具貌似是 Azure…

2023年12月5日 0条评论 1106点热度 0人点赞 痴者工良 阅读全文

NumPy NumPy 是 Python 中用于科学计算的基本包。它是一个 Python 库,提供了一个多维数组对象、各种派生对象(比如屏蔽数组和矩阵) ,以及一系列用于数组快速操作的例程,包括数学、逻辑、形状操作、排序、选择、 i/o、离散傅里叶变换、基本线性代数、基本统计操作、随机模拟等等。 官网文档地址:https://numpy.org/ 单纯学习 Numpy 会比较闷,因为 Numpy 是用于科学计算的。只是学习了各种 API 的使用,会很苦闷学来干啥,跟人工智能有什么关系? 安装 numpy 比较简单,…

2023年11月25日 0条评论 1223点热度 0人点赞 痴者工良 阅读全文

继承 DiagnosticAnalyzer 。 检测 async void 注册监听器: public override void Initialize(AnalysisContext context) { context.ConfigureGeneratedCodeAnalysis(GeneratedCodeAnalysisFlags.None); context.EnableConcurrentExecution(); // 注册分析类型,只分析方法 contex[......]继续阅读

2023年11月23日 0条评论 1318点热度 0人点赞 痴者工良 阅读全文
1234526