10 2024 档案
摘要:在 chatGPT 的推动下。LLM 简直火出天际,各行各业都在蹭。听说最近 meta 开源的 llama3 模型可以轻松在普通 PC 上运行,这让我也忍不住来蹭一层。以下是使用 ollama 试玩 llama3 的一些记录。 什么是 llama LLaMA(Large Language Model
阅读全文
摘要:Semantic Kernel默认主要支持两款模型:OpenAI和AzureOpenAI。对于开发者来说,这显然是不够的,尤其是当我们希望对接国内的一些强大模型,比如百度的文心一言、阿里的通义千问、搜狗的百川、智谱ChatGLM、科大讯飞的星火等。那么,我们应该怎么做呢? Semantie Kern
阅读全文
摘要:参考: https://www.cnblogs.com/ruipeng/p/18221666 代码: var builder = Kernel.CreateBuilder() .AddOpenAIChatCompletion(modelId: Config.OpenAiChatModel, Conf
阅读全文
摘要:插件 插件是Semantic Kernel的核心组件。通过插件,你可以将现有的API封装成一个集合,供AI调用,从而赋予AI原本无法执行的操作能力。在背后,Semantic Kernel利用了最新大型语言模型(LLM)中的原生功能——Function Calling,来帮助LLM进行规划并调用API
阅读全文
摘要:IAsyncEnumerable<T> 是 C# 8.0 引入的一个接口,用于表示可以异步遍历的集合。它允许你在不阻塞主线程的情况下,逐步获取集合中的元素。这在处理大量数据或长时间运行的操作时特别有用,因为它可以提高应用程序的响应性和资源利用率。 基本概念 异步迭代: IAsyncEnumerabl
阅读全文
摘要:抽象工厂模式是一种创建型设计模式,它提供了一种方式来封装一组具有共同主题的单独工厂。抽象工厂模式通过提供一个超级工厂创建其他工厂的接口,使得客户端使用抽象的接口操作具体对象,从而实现客户端与具体工厂类解耦。 using System; // 抽象产品A public abstract class A
阅读全文
摘要:什么是窗口函数 窗口函数(Window Function),又被叫做分析函数(Analytics Function)。 窗口函数允许用户在不显式分组查询的情况下对结果集进行分组和聚合计算。 窗口函数能够为结果集中的每一行计算类似排名、行号、百分比和移动聚合函数等值。 窗口函数原则上只能写在selec
阅读全文
摘要:安装插件: yarn add webpack-merge-and-include-globally -D webpack.config.js const path = require("path"); const MergeIntoSingleFilePlugin = require('webpac
阅读全文
摘要:处理 js 资源 有人可能会问,js 资源 Webpack 不能已经处理了吗,为什么我们还要处理呢? 原因是 Webpack 对 js 处理是有限的,只能编译 js 中 ES 模块化语法,不能编译其他语法,导致 js 不能在 IE 等浏览器运行,所以我们希望做一些兼容性处理。 其次开发中,团队对代码
阅读全文
摘要:生产模式介绍 生产模式是开发完成代码后,我们需要得到代码将来部署上线。 这个模式下我们主要对代码进行优化,让其运行性能更好。 优化主要从两个角度出发: 优化代码运行性能 优化代码打包速度 生产模式准备 我们分别准备两个配置文件来放不同的配置 1. 文件目录 ├── webpack-test (项目根
阅读全文
摘要:处理 Html 资源 1. 下载包 npm i html-webpack-plugin -D 2. 配置 webpack.config.js const path = require("path"); const HtmlWebpackPlugin = require("html-webpack-p
阅读全文
摘要:处理字体图标资源 1. 下载字体图标文件 打开阿里巴巴矢量图标库 选择想要的图标添加到购物车,统一下载到本地 2. 添加字体图标资源 src/fonts/iconfont.ttf src/fonts/iconfont.woff src/fonts/iconfont.woff2 src/css/ico
阅读全文
摘要:修改输出资源的名称和路径 1. 配置 const path = require("path"); module.exports = { entry: "./src/main.js", output: { path: path.resolve(__dirname, "dist"), filename:
阅读全文
摘要:处理图片资源 过去在 Webpack4 时,我们处理图片资源通过 file-loader 和 url-loader 进行处理 现在 Webpack5 已经将两个 Loader 功能内置到 Webpack 里了,我们只需要简单配置即可处理图片资源 1. 配置 const path = require(
阅读全文
摘要:处理样式资源 本章节我们学习使用 Webpack 如何处理 Css、Less、Sass、Scss、Styl 样式资源 介绍 Webpack 本身是不能识别样式资源的,所以我们需要借助 Loader 来帮助 Webpack 解析样式资源 我们找 Loader 都应该去官方文档中找到对应的 Loader
阅读全文
摘要:介绍 模块化是指将一个大的程序文件,拆分成许多小的文件,然后将小文件组合起来。 模块化的好处 防止命名冲突 代码复用 高维护性 ES6 之前的模块化规范有 CommonJS => NodeJS、Browserify AMD => requireJS CMD => seaJS ES6 模块化语法 模块
阅读全文
摘要:class 类 ES6 提供了更接近传统语言的写法,引入了 Class(类)这个概念,作为对象的模板。通过 class 关键字,可以定义类。基本上,ES6 的 class 可以看作只是一个语法糖,它的绝大部分功能,ES5 都可以做到,新的 class 写法只是让对象原型的写法更加清晰、更像面向对象编
阅读全文
摘要:简化对象写法 ES6 允许在大括号里面,直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁 //这样的书写更加简洁 let name = '尚硅谷'; let change = function(){ console.log('我们可以改变你!!'); } const school = {
阅读全文
摘要:变量声明 let 关键字用来声明变量,使用 let 声明的变量有几个特点: 不允许重复声明 块儿级作用域 不存在变量提升 不影响作用域链 //声明变量 let a; let b,c,d; let e = 100; let f = 521, g = 'iloveyou', h = []; //1. 变
阅读全文
摘要:Webpack介绍 Webpack 是一个静态资源打包工具。 为什么需要打包工具 开发时,我们会使用框架(React、Vue)、ES6模块化语法,Less/Sass等css预处理器等语法进行开发。 这样的代码要想在浏览器运行必须经过编译成浏览器能识别的JS、CSS语法才能运行。 所以我们需要打包工具
阅读全文