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

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

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

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

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

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

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

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

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

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

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

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

demo 仓库地址:https://github.com/whuanle/yolo8_demo Ultralytics YOLOv8 是备受好评的实时目标检测和图像分割模型,主要功能是物体识别、分割图片物体、分类、姿态识别和跟踪等。Ultralytics 支持使用 CPU、GPU 进行训练,支持 x64、arm64 等 CPU 架构,支持苹果的 M1/M2 芯片,支持在边缘设备中训练和使用。 Ultralytics 对于个人免费,使用 【AGPL-3.0 许可】 开源协议,对于企业则需要付费。 Ultralytic…

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

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

2023年12月12日 0条评论 2556点热度 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条评论 3298点热度 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条评论 2228点热度 0人点赞 痴者工良 阅读全文

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

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

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

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

A 项目中含有中文字符串目录路径,导致使用 Jenkins 时调用 Powershell 编译报错。 无论是设置环境变量还是使用 chcp 命令等,均无效。 这是因为默认 csproj 是使用 utf8-bom 保存的。 这样的特性会导致在本地电脑开发环境中正常,但是在服务器中编译就会报错。 需要改成正经的 utf8 编码重新保存文件才行。 [......] 继续阅读

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

MainWindow 窗口使用 Blazor WebView2: <Border Margin="0,0,0,0" Background="Transparent" BorderThickness="0" CornerRadius="0,0,0,0"> <Grid> <blazor:BlazorWebView x:Name="webView" HostPage="{Bindi[......]继续阅读

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

先引入 PInvoke.net 或 Microsoft.Windows.CsWin32,请参考: https://www.whuanle.cn/archives/21436 定义两个获取屏幕去掉任务栏的长宽高函数: public static int GetSystemMetrics_SM_CYMAXIMIZED() { return PInvoke.GetSystemMetrics(Windows.Win32.UI.WindowsAndMessaging.SYSTEM_METRICS_INDEX.SM_CYMAX…

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

PInvoke.net 是官方用于操作 Win32 API 的库,但是已经归档了。也就是后续需要使用 Microsoft.Windows.CsWin32 来操作 win32 API。 但是 Microsoft.Windows.CsWin32 比较麻烦,因为 Microsoft.Windows.CsWin32 使用的是 Rolsyn 技术动态生成代码,并且只能针对当前项目。当然,优点是动态生成部分代码合并到项目中,项目打包发布的时候,不需要依赖 Microsoft.Windows.CsWin32 包了,体积会小一些。…

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

如图: 有两种配置形式。 一种是在项目中(可以启动的项目,类库不行)配置模板文件,另一种是在项目编译之后配置。 第一种方法在项目中新建一个 runtimeconfig.template.json 文件。 示例如下: { "runtimeOptions": { "configProperties": { "System.GC.ConserveMemory": 9 } } } 另一种是项目编译之后,项目下面会有个 {项目名称}.runtimeconfig.json 文件。手动修改即可。 [......] 继续阅读

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