- 博客(98)
- 收藏
- 关注
原创 RabbitMQ教程:路由(Routing)(四)
在本教程中,我们将扩展这个系统,增加一个功能:只订阅消息的一个子集。通过这些机制,我们能够建立一个既高效又灵活的路由系统,它不仅能够提高系统的响应速度,还能够在面对各种异常情况时保持消息的可靠性和持久性。交换机,我们实现了基于路由键的消息路由,这允许我们灵活地控制消息的流向,而不是简单地广播给所有订阅者。接收消息将与上一个教程中的工作方式相同,唯一的区别是我们将为每个我们感兴趣的严重性创建一个新的绑定。:我们学习了如何使用绑定键和路由键来控制消息的路由,使得消息可以根据特定的键值被路由到对应的队列。
2024-11-16 15:22:17
965
原创 RabbitMQ教程:发布/订阅模式(Publish/Subscribe)(三)
在上一篇教程中,我们学习了如何使用RabbitMQ实现工作队列(Work Queues)。今天,我们将探索工作队列的进阶应用——发布/订阅模式,这是一种允许多个接收者(Subscribers)监听同一个消息通道,并在消息发布时接收通知的机制。发布/订阅模式的核心在于解耦消息的发送者(Publisher)和接收者(Subscribers),发送者不需要知道有哪些接收者,只需要将消息发送到一个交换机(Exchange),而接收者则订阅这个交换机来接收消息。
2024-11-15 15:44:33
1790
原创 RabbitMQ教程:工作队列(Work Queues)(二)
在上一篇教程中,我们学习了如何使用RabbitMQ发送和接收消息。今天,我们将探索工作队列(Work Queues),这是一种在多个工作进程(workers)之间分配耗时任务的机制。工作队列也被称为任务队列(Task Queues),它的核心思想是避免立即执行资源密集型任务,而是将任务安排到以后执行。通过这种方式,我们可以将任务封装成消息并发送到队列中,然后由后台运行的工作进程来处理这些任务。
2024-11-15 10:07:04
1204
原创 RabbitMQ入门:“Hello World!“ 教程(一)
RabbitMQ的强大之处在于其灵活性和可靠性,它能够处理高并发的消息传递,并且支持多种消息协议。希望这篇文章能够帮助你入门RabbitMQ,并在你的项目中有效地使用它。RabbitMQ作为一个广泛使用的开源消息代理,它帮助我们解耦应用组件,提高系统的可靠性和扩展性。
2024-11-14 17:21:11
886
原创 Semantic Kernel进阶:创建和管理聊天(ChatCompletion)历史记录对象(四)
本文将一步步指导你如何创建和管理聊天历史记录对象,从而为你的AI代理提供一个强大的对话管理工具。通过使用聊天历史记录对象,Semantic Kernel为AI应用程序提供了一种强大的方式,以维护对话的上下文和连续性。聊天历史记录对象用于存储聊天会话中的所有消息,包括来自用户、助理、工具或系统的消息。它不仅帮助AI模型理解对话的上下文,还能确保对话的连贯性,无论对话跨越多少轮次。
2024-10-28 00:10:47
568
原创 Semantic Kernel进阶:将ChatCompletion(聊天完成)服务添加到你的AI项目(三)
在将聊天完成服务添加到Semantic Kernel之前,你需要安装相应的包。
2024-10-19 17:30:20
1103
原创 深入Semantic Kernel:插件开发与实践应用(进阶篇:二)
在上一篇入门文章《探索Semantic Kernel:开启AI编程新篇章》中,我们了解了Semantic Kernel的基础知识,包括如何创建内核实例、配置AI模型以及执行基本的AI任务。Semantic Kernel插件是扩展AI模型功能的模块,它们可以封装特定领域的知识和功能,使得AI模型能够执行更复杂的任务。通过开发和调用Semantic Kernel插件,我们可以将自定义功能和业务逻辑集成到AI模型中,从而创建更加强大和灵活的应用程序。
2024-10-13 22:05:16
1151
2
原创 探索Semantic Kernel:开启AI编程新篇章(入门篇:一)
Semantic Kernel是一个轻量级的AI应用开发框架,它允许开发者将大型语言模型(LLM)如OpenAI、Azure OpenAI和Hugging Face等服务与传统编程语言如C#和Python相结合。通过SK,你可以构建智能应用程序,让它们能够理解和处理复杂的语义信息。
2024-10-10 23:59:02
1704
原创 公司内部配置GitLab,通过SSH密钥来实现免密clone、push等操作
公司内部配置GitLab,通过SSH密钥来实现免密clone、push等操作。
2024-07-10 00:25:18
1657
原创 使用pdf2image进行PDF内容切分为图片时报错:pdf2image.exceptions.PDFInfoNotInstalledError: Unable to get page count
使用pdf2image进行PDF内容切分为图片时报错:pdf2image.exceptions.PDFInfoNotInstalledError: Unable to get page count
2024-02-18 16:28:31
5702
5
原创 python使用装饰器记录方法耗时
在每个方法的执行前后,去创建一个临时变量,来记录耗时,代码如下,缺点在于,如果有10个、100个方法,那不得写10次、100次?python使用修饰器记录方法耗时,目的是每当方法执行完后,可以记录该方法耗时,而不需要在每个方法的执行前后,去创建一个临时变量,来记录耗时。使用装饰器来记录耗时,好处在于,将其标注在需要记录的方法前,这样的做法,相当于将这个方法,传递给另一个方法中。1.输出fun01()“执行喽”,却输出耗时是2.01秒,因为这里sleep了2秒,且使用了装饰器。
2023-08-13 18:45:29
993
1
原创 ubuntu安装docker-compose
访问:https://docs.docker.com/compose/install/standalone/ 链接,可以看到如下页面,使用下面圈起来的命令即可。使用该命令进行安装,很慢,一直卡着不动,原因是从github中下载,使用代理处理一下。如下,会提示【Permission denied】命令,可以看到如下图所示的内容,证明安装成功。命令调整为(这样就很快了!
2023-08-10 23:39:48
2208
3
原创 在云服务器上,clone github时报Connection timed out&exit code: 128
在执行pip install安装依赖时,需要clone github代码,此时报了Connection timed out&exit code: 128错误,原因是访问超时了,此时需要使用代理。
2023-08-01 11:34:13
3011
1
原创 通过clone的方式,下载huggingface中的大模型(git lfs install)
3、再git clone https://huggingface.co/THUDM/chatglm2-6b,在linux可以正常,但是window如果出现了下面的报错,则需要进入chatglm2-6b的目录。2、点击【Clone repository】,在命令行中,输入【git lfs install】(安装了这个,才会下载大文件,不然图中的.bin文件都是不会被下载的)1、如图:可以手动一个个文件下载,但是那样太慢了,此时,可以点击下图圈起来的地方。
2023-07-30 13:49:53
20605
9
原创 text-generation-webui加载chatglm2-6b时,报错,要求set the option trust_remote_code=True
使用text-generation-webui加载chatglm2-6b大模型时报错,要求设置option trust_remote_code=True,一开始没注意界面,去翻找配置文件,后来发现,就在Model界面,有一个复选框,可以进行设置!】,可以看到回复了是【ChatGLM2-6B人工智能助手…3、待加载完后,可以看到【Successfully loaded THUDM_chatglm2-6b】的输出。2、此时,可以看到命令行中,开始在下载和加载checkpoint了。
2023-07-30 12:49:07
8318
10
原创 Ubuntu22.04 安装Anaconda
(3)使用“conda info --envs”查询目前已有的环境,可以看到有个“base”环境,且执行(2)之后,命令行前面,就有base,表示当前挂载到了base环境。(1)如下表示创建一个名为“mycondatest ”、python版本为3.10的虚拟环境,看到输入“yes/no”时,需输入“yes”(2)一直回车,但出现输入“yes/no”时,需要输入“yes”才可继续执行,同理,需要输入“ENTER”时,也需执行回车。的虚拟环境,如下,可看到由“base”->“mycondatest”
2023-07-27 08:45:00
12642
1
原创 ubuntu初始化/修改root密码
命令,进行root密码的初始化/修改,注:这里需要保证两次输入的密码都是同一个,才可成功。用户,这里的Password需要与(1)中设置的一致。2.第(1)步执行成功后,通过。3.输入成功后,可看到,用户由。1.登录ubuntu后,使用。
2023-07-27 01:39:22
3485
原创 Ubuntu22.04安装Docker
还可通过“docker ps -a ”命令,查看当前已有的容器有哪些,可以看到有一个hello world容器已执行过。(注:这个容器相当于是输出一行命令后就退出了,所以这里的STATUS = Exited)如下,看到“Active: active (running)”则表示docker正在运行,只要安装完,docker自动就是运行的状态。注:执行结果如下,“…”表示省略中间安装输出的内容,不然太多了。注:执行结果如下,“…注:当询问是否继续时,需要输入“Y”,才可以继续安装。
2023-07-27 01:31:52
2454
1
原创 stable diffusion webui 下载和使用civitai中的模型
1.在模型下载页中,如上图,图片右下角的【i】按钮,点击【Copy Generation Data】即可复制该图片的提示词。2.将提示词粘贴到【正向提示词】输入框中,点击图中的【箭头】按钮,将C站中的提示词赋值到sd webui中对应的位置中。1.选择想要的模型,点击【Download】按钮,这里演示【Deliberate】模型的下载和使用。2.将下载的模型,存放到【/models/Stable-diffusion】目录中。注:这里需要科学上网。4.再试一张,执行上述1~3步,可以看到生成内容是一致的。
2023-07-02 22:10:59
6373
原创 在win11报ERROR: Could not build wheels for hnswlib, which is required to install pyproject.toml-based
在win11使用langchain,安装向量数据库(pip install Chroma)时报错:ERROR: Could not build wheels for hnswlib, which is required to install pyproject.toml-based projects,提示去微软安装C++依赖,打开网页后,会让下载【Visual Studio Installer】。如果内存充足,直接点击【使用C++的桌面开发】安装上相关的C++依赖,安装后,再安装Chroma即可。
2023-06-27 01:17:54
10639
3
原创 Stable Diffusion使用“面部修复”时报TypeError: ‘NoneType‘ object is not subscriptable错
注:上面的两个文件,可以在自己服务器的文件夹中直接clone,但是可能会很慢,建议是在本地下载好后,通过xftp之类的工具,将文件上传到服务器sd项目的【repositories\CodeFormer\weights\facelib】目录。Stable Diffusion使用“面部修复”时报TypeError: ‘NoneType’ object is not subscriptable错。
2023-06-24 23:27:04
3989
1
原创 stable diffusion webui 文生图(txt2img)api接口调用(使用C#)
2、添加以下代码到你的项目中,直接运行即可,请求的是本地运行的接口,如下的【http://127.0.0.1:7860/sdapi/v1/txt2img】,需要替换为读者自己的路径。复制images数组其中一张图片的base64值,在网上找一个base64转图片的在线工具,粘贴后,可以看到生成的图片如下,这表示我们成功通过接口请求了sd webui api接口。注:这里只设置–api-auth的密码是无效了,login接口,是用于ui页面登录的,原有代码是没有api-auth接口返回token的。
2023-06-10 23:42:21
12735
17
原创 stable diffusion webui 登录接口(login)api接口调用(使用C#)
2、添加以下代码到你的项目中,直接运行即可,请求的是本地运行的接口,如下的【http://127.0.0.1:7860/sdapi/v1/login】,需要替换为读者自己的路径。如下图所示的方式,进行开启即可。注:这里只设置–api-auth的密码是无效了,login接口,是用于ui页面登录的,原有代码是没有api-auth接口返回token的。5、通过debug看响应体,可以发现在cookies中是有token的,这个时候,通过获取cookies中的token,即可达到目的,如下图。
2023-06-10 23:31:14
10317
5
原创 在Apifox中,使用后置脚本显示响应结果reponse中的base64图片
在使用Apifox去请求有图片的接口时,我想要请求成功的同时,可以显示出来图片,这个时候就开始百度找官方文档。最终发现可以使用后置脚本显示reponse中的图片。答案是使用【自定义后置脚本】。在apxfox工具中找到【后置操作】->【添加后置操作】->【自定义脚本】。此时,我想要请求成功后,可以看到images中的图片,那我该如何操作呢?成功请求接口后,点击【Visualize】,可以看到成功显示图片。
2023-06-10 16:00:36
2088
原创 二级域名相同的项目,iframe跨域登录cookies共享问题
其中,A项目中,通过iframe嵌套了B项目的域名。此时想要在A项目的iframe访问B项目时,不需要登录(A项目代码登录),登录后,在cookies中设置token,以此让A项目中打开B项目网页时可以免登录。在A项目中登录成功后,A项目调用B项目的接口进行登录,登录后通过在【二级域名】设置token的方式,进行cookies的共享。设置后,在浏览器中,F12,可以看到cookies中,会有Domain为【abc.com】的token值,此时,可以看到程序可以免登录了。(五级域名),B项目的域名为。
2023-06-07 00:33:07
2734
原创 stable diffusion webui界面布局(很多大佬一键安装包的样式,自己部署却没有?那就看这篇文章吧!)
自己部署stable diffusion界面布局(很多大佬一键安装包的样式,自己部署却没有?那就看这篇文章吧!
2023-06-04 23:54:09
3239
原创 stable diffusion webui过滤敏感信息NSFW
过滤敏感信息(如涩图),可使用stable-diffusion-webui-nsfw-censor扩展
2023-06-04 22:52:52
8592
原创 企业微信{“errcode“:60020,“errmsg“:“not allow to access from your ip, hint: [1681129678500613099333714]
配置企业微信小程序时,报了如下错误:企业微信{“errcode”:60020,“errmsg”:“not allow to access from your ip, hint: [1681129678500613099333714], from ip: xxx.xx.xxx.165, more info at https://open.work.weixin.qq.com/devtool/query?再重新进入自建应用,就不会报错了。
2023-04-10 20:42:26
6659
2
原创 Ant Design Blazor入门(使用ant模板初始化项目及运行github代码)
Ant Design Blazor支持MIT开源协议,Ant Design Blazor Pro支持Apache2.0开源协议。 使用CMD安装ant模板,可以帮助我们获取到一个项目模板。
2023-03-21 23:51:25
4169
1
原创 解决MYSQL批量插入时,UUID_SHORT出现了1062 -Duplicate entry ‘xxx‘ for key ‘PRIMARY‘
解决MYSQL批量插入时,使用UUID_SHORT出现了1062 -Duplicate entry 'xxx' for key 'PRIMARY':自定义了一个名为'number'的变量,每次insert之前,主键id值都+1
2023-02-12 20:51:27
1426
原创 Docker+NETCore系列文章(五、推送自制镜像到Docker Hub、阿里云镜像仓库)
推送镜像到Docker Hub、阿里云镜像仓库
2022-12-26 12:51:17
813
1
原创 BaGet搭建Nuget私仓(window10&docker)
BaGet(发音为“baguette”)是一个轻量级的NuGet服务器。它是开源的、跨平台、可云部署
2022-11-26 15:56:54
2554
原创 使用ActionFilter、自定义Middleware中间件记录请求耗时
2.在执行【OnActionExecuted】时,获取【HttpContext】中执行【OnActionExecuting】时存储的【stopWatch】计时器对象,并获取该对象中的【ElapsedMilliseconds 】属性,获取此次请求耗时。2.在执行【OnActionExecuted】时,获取【HttpContext】中执行【OnActionExecuting】时存储的【stopWatch】计时器对象,并获取该对象中的【ElapsedMilliseconds 】属性,获取此次请求耗时。
2022-10-02 17:07:46
936
1
原创 git clone 出现fatal: unable to access ‘https://github.com/xxx: Failed to connect to github.com
问题描述:使用git clone命令时,出现如下错误:fatal: unable to access ‘https://github.com/xxx’: Failed to connect to github.com port 443: Timed out解决方案:将"https"改为"git"即可,如: ‘git://github.com/xxx’
2021-12-08 14:43:09
1745
原创 NETCore入门系列(AOP之ActionFilter)
文章目录一、ActionFilter入门二、Filter传参TypeFilterServiceFilter底部一、ActionFilter入门1、创建CustomActionFilterAttribute类,需实现Attribute(实现了Attribute才可在控制器中进行标注)和IActionFilter接口。2、CustomActionFilterAttribute类代码如下: /// <summary> /// 自定义ActionFilter /// <
2021-05-08 14:49:40
1212
1
原创 企业微信开发实战(七、使用企业微信审批功能配合自建项目分析)
文章目录需求默认审批应用自建审批应用解决方案赞赏需求有一个项目需求是这样的,公司已有项目要嵌入到企业微信中供用户使用,想用一下企业微信的审批功能,大致思路如下:(1)用户在每次成功创建任务时,该任务需要推送给指定的人进行审批。(2)该审批中要有查看任务其他详情信息的链接(理解为跳转另一个界面)。(3)此时想到既然是在企业微信中使用的应用,那么不如用一下企业微信的审批应用来完成该功能。下面分析一下企业微信的默认审批和自建审批应用。默认审批应用1、查看提交审批申请接口文档,可看到接口文档中有一个
2021-05-08 11:51:46
5394
3
原创 NETCore入门系列(Log4NET组件的使用)
文章目录一、一、Nuget安装log4Net和Microsoft.Extensions.Logging.Log4Net.AspNetCore
2021-05-06 16:29:16
675
原创 NETCore入门系列(目录)
文章目录NETCore入门系列(目录)相关资源NETCore入门系列(目录)1、NETCore入门系列(NETCore读取配置文件、.cshtml中文乱码)2、NETCore入门系列(读取appsetting.json配置文件内容)3、NETCore入门系列(自定义IHtmlHelper、TagHelper、PartialView和ViewComponent)相关资源1、上面文章主要是看"朝夕教育"的NET5视频总结的,B站可看到分享的视频,NET5系列的可能得找他们的助教要(B站链接)。2、
2021-05-06 09:59:51
701
原创 NETCore入门系列(自定义IHtmlHelper、TagHelper、PartialView和ViewComponent)
文章目录一、创建ASP.NET Core Web 项目二、自定义IHtmlHelper三、自定义TagHelper四、局部视图(PartialView)的使用五、视图组件(ViewComponent)的使用六、源码一、创建ASP.NET Core Web 项目1、创建一个ASP.NETCore Web应用(模型-视图-控制器),并将其命名为RazorWebApp。2、视图渲染(项目运行后,发现修改视图内容后,刷新没效果,需要重新启动才生效,此时可通过添加一个nuget包解决)(1)添加一个名为M
2021-05-05 21:43:23
1616
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人