- 博客(144)
- 资源 (3)
- 收藏
- 关注

原创 基于ElasticSearch+文本相似度模型的检索式智能对话方案
背景:在对话系统领域,检索式对话系统一直是工业界的偏爱。笔者曾经单纯基于ElasticSearch的相似度匹配进行过实现(详见:基于ElasticSearch的检索式智能问答方案_chenxy02的博客-CSDN博客 )。后面又引入深度学习模型——“文本相似度识别”提升了系统的意图匹配机制,于是便有了这篇博客。为什么只用ES相似度匹配不行ES(ElasticSearch)所提供的相似度机制本质上是一种基于词频、基于规则的相似度计算(详见:ElasticSearch相似度匹配及分词器选择_chen..
2021-10-29 21:53:42
3904

原创 致程序员的一份吵架教程
前言:本文为笔者结合大学打了三年辩论的经验,总结的“吵架”方法论。本文并非鼓励吵架,而是希望大家在迫不得已要吵架的时候,能够吵得漂亮、吵得有水平。核心思想:优秀程序员不吵不值钱的架“优秀的辩手不吵不值钱的架”——是我大学时候经常跟师弟师妹说的一句话(来自黄执中讲座)。在此也与诸君共勉,毕竟程序员的时间是要用来改变世界的。什么是不值钱的架在笔者的辩论哲学里,从技术性上来讲——观点本...
2020-01-10 09:38:30
862

原创 Linux服务器操作应知应会
前言:仅讲述日常Linux系统使用中需要用的知识,不深入阐述其中原理1、区别Linux版本Linux的发行版本分为 CentOS、Ubuntu等等,而即使是同一种发行版本,版本号不同操作的时候也是要区别对待的。eg:#CentOS6 开关防火墙service iptables startservice iptables stop#CentOS7 开关防火墙systemctl...
2019-10-22 11:19:53
542
原创 如何快速分享服务器上的文件
当我们想将自己服务器上的文件分享给别人时,通常会考虑搭建一个文件服务器。工程上可能用基于FTP、NFS去搭建。这里仅介绍最快速的,起一个http服务器的方法——到想分享的目录下,运行一条Python命令。完事就可以通过浏览器访问,点击相应文件进行下载了。
2025-05-10 09:15:43
316
原创 如何开发一个笑话管理小工具
用redis记录用户已经浏览过的笑话,用mysql记录用户“不喜欢”的。可选jokeId列表将剔除这两部分。1、从互联网上crawl 3000条笑话文本。2、将笑话导入进数据库。
2025-05-06 22:08:40
303
原创 Openstack学习(2)——Neutron
Neutron 的设计目标是实现“网络即服务(Networking as a Service)”。为了达到这一目标,在设计上遵循了基于SDN 实现网络虚拟化的原则,在。
2024-06-06 09:19:34
760
1
原创 Openstack学习(1)——架构
OpenStack是一个开源的云计算管理平台项目,它提供了一套完整的软件堆栈来构建和管理私有云、公有云以及混合云环境。
2024-06-05 19:45:57
464
1
原创 如何让你的网站能通过域名访问
添加域名解析后,就可以通过域名对自己的Web进行访问。不过由于此时 我们还没有为域名配置证书,所以浏览器显示 “不安全”根据自己的Web服务器类型下载证书,笔者用的是 Nginx。本文主要记录如何 实现让自己的网站可以通过域名访问。现在免费证书只能申请3个了。
2024-05-29 21:03:44
5342
原创 定时喝水提醒(进阶版)
笔者近十年的体检,总会报一个小问题:肾结石。经常肾结石的朋友应该知道,这毛病除了做碎石手术,主流的治疗方式就是:多喝水。没有完成资质认证(需要每年用公司账户给腾讯打钱)的微信公众号,很多功能受限。然而这种方式存在一个局限性就是,当我们不用电脑的时候,就看不到提醒了。如下,模板内容: 该喝水了!{{name.DATA}}同学。在用户列表可以拿到我们的微信号,稍后发送消息需要用到。于是乎,六年前,笔者写了这么一篇文章——来完成接下来的演示,注册及登陆的地址为。为弥补上述缺点,本文要实现的方案是,
2024-02-19 08:50:44
1058
1
原创 用Gradio做一个ai-chat应用
其实这个小应用的完成,最大的难点是 为上述代码中的 OpenAI(base_url="https://xxxxx/v1/") 设置一个可调通的API地址。上半年国内的大模型还没遍地开花的时候,笔者花巨资购了两台云服务器及给OpenAI充了20$,给身边的亲友给做了一个可使用的ai-chat。由于笔者提供的ai-chat服务,是一个公网可访问的界面。给lanuch()方法,传入auth参数,设置了访问应用所需的账户、密码。,自己编写web后台,找朋友做界面,做出了一个版本。后来Gradio发布了。
2024-01-11 19:33:50
837
1
原创 如果我忽然嗝屁了,家人怎么继承我的财产
笔者很喜欢的电影《寻梦环游记》有这么一句经典台词:“真正的死亡是世界上没有一个人记得你”。然而,现实中我们所说的“死亡”,其实就是 他再不能与这个世界、与自己在乎的人有新的互动了。本文,笔者想写一写 关于死亡的一个现实问题。
2023-12-13 22:39:17
213
原创 211高校是否都是双一流高校
2017年9月21日,教育部、财政部、国家发展和改革委员会联合发布《关于公布世界一流大学和一流学科建设高校及建设学科名单的通知》,此名单即第一轮“双一流”名单。由于笔者倾向的答案是:"双一流高校"包括211高校。然而笔者在继续查究后发现,人家不在"双一流公告"的真实原因是: 在两份公告发布的时间中间,改名了!从上面的截图看,有三所211高校名称不在"双一流公告"内容中,似乎"双一流高校"包括211高校 这个猜想是不成立的。前段时间,几个985毕业的朋友讨论起了 "211"跟"双一流"关系的话题。
2023-12-10 23:55:47
1253
原创 AI模型推理(6)——实战篇(进阶)
Triton是Nvidia官方推出的推理服务化框架(简单解释就是 加载你的模型变成别人可以请求的服务)。一开始叫 TensorRT serving,是专门针对TensorRT设计的服务器框架,后来支持了onnxruntime、pytorch、tensorflow等推理后端,变为了triton。
2023-12-01 18:21:27
377
原创 TrainingOperator--PyTorchJob实现机制分析
由Pytorch分布式训练(一)_chenxy02的博客-CSDN博客WORLD_SIZERANKMASTER_PORT和MASTER_ADDR的目的是告诉进程组中负责进程通信协调的核心进程的IP地址和端口。当然如果该进程就是核心进程,它会发现这就是自己。RANK参数是该进程的id,WORLD_SIZE是说明进程组中进程的个数。1、得手工在多个节点上启动多个 python脚本,配置不同的 rank2、如果是在K8S上起多个 pod 进行分布式训练 ,还得解决IP不确定的问题。
2023-06-30 16:09:54
2592
原创 Pytorch分布式训练(一)
2023年,训练模型时,使用DDP(DistributedDataParallel)已经成为Pytorch炼丹师的标准技能。本文主要讲述实现Pytorch分布式要做哪些事情,以及如何理解Pytorch分布式训练背后的通信原理(不会很深入)。
2023-06-29 14:59:40
1152
原创 AI模型推理(4)—— 认识ServingRuntime
ServingRuntime(在中文语境里,笔者经常把它叫做“推理运行时”)是KServe的一个核心概念。本文主要讲解ServingRuntime的概念,并重点介绍Triton模型服务化框架。1、图中C API部分。可以看到Triton支持HTTP/REST和GRPC协议。2、中Model Repository部分。按照Triton的官方文档所述,模型仓库可以是本地的持久化存储介质(磁盘),也可以接入Google Cloud Platform或者AWS S3的模型仓库。
2023-05-11 20:50:08
889
原创 AI模型推理(3)——ModelMesh使用
Kserve提供了“Serverless”和“ModelMesh”两种安装模式。其中Serverless是通过Knative组件实现动态扩缩容等功能。而ModelMesh则是另一种资源开销较小的模式。
2023-05-02 16:56:42
1479
原创 AI模型推理(2)—— Kserve入门使用
Kserve 提供一个Kubernetes 自定义资源定义(InferenceService),用于在任意框架上提供机器学习模型服务。它旨在通过为常见的ML框架(如:Tensorflow、XGBoost、Scikit-Learn、PyTorch和ONNX)提供高性能、高度抽象的接口来解决生产上的模型推理场景。它封装了自动缩放、网络、健康检查和服务配置的复杂性,为 ML 部署带来了尖端的服务功能,如:GPU 自动缩放、归零缩放和金丝雀发布等。
2023-05-02 01:26:05
1218
1
原创 使用 boto3 调用 S3 对象存储
更多 boto3支持的方法,参见:https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html?Bucket 是指对象存储上的存储空间,可理解为存放对象的“容器”,一个使用对象存储的用户可以拥有多个Bucket。用户存储在对象存储上的每个文件都是一个 Object,每个Object 有一个键名/健值。我们在调用s3对象存储的代码中使用的“Endpoint”,是指对象存储对外服务的访问域名。
2023-02-21 20:20:03
1752
原创 Swagger Editor 的介绍和使用
Swagger Editor 可以帮助开发人员优雅地设计符合 OpenAPI 规范的API接口,是一个可以通过浏览器进行使用的工具。功能如下:编辑:可以在浏览器上基于YAML等语法定义我们的RESTful API,也可以采用 JSON语法查看:Swagger Editor会自动生成一篇排版优美的API文档,并且提供实时预览生成代码:可智能生成服务端或客户端代码,支持 python、golang、java 等主流语言。
2023-02-20 20:22:04
903
转载 查看k8s日志的方法
var/log/messages日志,messages日志中除了操作系统的日志,服务异常的日志也可以去messages中去看看。
2022-11-13 17:58:15
6148
原创 Go语言学习——编译
Golang支持交叉编译,即在一个平台上生成另一个平台的可执行程序。以在windows上编译linux的可执行程序为例,网上的教程普遍如下:
2022-07-12 09:56:35
1451
原创 深入解析Kubebuilder
参考网址:Introduction - The Kubebuilder Book深入解析 Kubebuilder:让编写 CRD 变得更简单 - 知乎推荐朋友们多看上面官方提供的文档。前面我转发一篇博客 基于Kubebuilder开发Operator(入门使用)_chenxy02的博客-CSDN博客 记录了对kubebuilder的入门使用,本文旨在加深对kubebuilder深圳,进一步熟悉kubebuilder的项目代码。GVK = GroupVersion
2022-07-04 09:03:02
1048
原创 Kustomize使用手册
相关网址:Kustomize - Kubernetes native configuration managementKubernetes集成的配置管理工具。轻量版的helm; kustomization.yaml运行进阶用法很多时候我们针对不同环境部署上会有差异,我们可以通过在“demo用法”的基础上,新建 overlays文件夹来定义 对不同环境的部署。如下我们定义了一个生产环境和一个演示环境: 至于 kustomization文件能写哪些内容,可参考: Configuration M
2022-07-01 10:35:25
638
转载 基于Kubebuilder开发Operator(入门使用)
原文地址:使用kubebuilder 理解k8s crd - 知乎理解k8s的crd需要先理解k8s的controller模式比如kube-controller-manager中的deployment控制器,在初始化的时候就会传入要监听Deployments、ReplicaSet和pod的三个informer对象 首先list一下对象到本地缓存,同时watch对象的变更,等于增量更新func startDeploymentController(ctx ControllerConte
2022-06-24 11:16:06
685
原创 Kubernetes学习——Trouble Shooting指南
为了跟踪和发现Kubernetes集群中运行的容器应用出现的问题,我们常用如下查错方法:1、查看系统Event查看Kubernetes对象的当前运行时信息,特别是与对象关联的Event事件。这些事件记录了相关主题、发生时间、最近发生时间、发生次数及事件原因等。此外,通过查看对象的运行时数据,我们还可以发现参数错误、关联错误、状态异常等明显问题。由于在K8s中多种对象互相关联,因此这一步可能会涉及多个相关对象的排查问题。# 加 -n 指定命名空间kubectl describe pod r
2022-05-23 19:31:52
295
转载 Kubeflow--Pipeline及Argo实现原理速析
原文地址:KubeFlow-Pipeline及Argo实现原理速析_容器_华为云开发者社区_InfoQ精选文章摘要Argo是一个开源原生容器工作流引擎 用于在Kubernetes上开发和运行应用程序。Argo Workflow流程引擎,可以编排容器流程来执行业务逻辑,在20年4月进入CNCF孵化器组。KubeFlow的Pileline子项目,由Google开源,其全面依赖Argo作为底层实现,并增强持久层来补充流程管理能力,同时通过Python-SDK来简化流程的编写。Argo 流程
2022-05-10 11:27:49
1684
原创 Kubernetes学习——CRD
CRD是什么Custom Resource Definition,k8s允许用户自定义资源。定义CRM对象会创建一个具有您指定的名称和架构的新定义资源。Kubernetes API 提供并处理您的自定义资源的存储。CR是什么Custom Resouce,自定义资源,CRM的具体实例。CR是Kubernetes API的扩展。自定义资源可以通过动态注册在正在运行的集群中出现和消失,并且集群管理员可以独立于集群本身更新自定义资源。安装自定义资源后,用户可以使用kubectl创建和访问其对象.
2022-05-09 15:24:47
1378
原创 go mod 使用手册
为什么要使用go modgo mod是Golang1.11版本新引入的官方包管理工具,用于解决之前没有地方记录依赖包具体版本的问题,方便依赖包的管理。如何使用go mod如下,新建一个go文件package mainimport ( iris "github.com/kataras/iris/v12")func main() { app := iris.New() app.Get("/", func(ctx iris.Context) { ctx.HTML("<h
2022-04-27 15:55:07
2411
原创 支持弹性伸缩的Jupyter (elastic-jupyter-operator项目)
前言Jupyter Notebooks 在 Kubernetes 上部署往往需要绑定一张 GPU,而大多数时候 GPU 并没有被使用,因此利用率低下。为了解决这一问题,开源项目elastic-jupyter-operator将占用 GPU 的 Kernel 组件单独部署,在长期空闲的情况下自动回收,释放占用的 GPU。这篇文章主要介绍了这一开源项目的使用方式以及工作原理。如何提高资源利用率(base K8S)最大的挑战来自于GPU资源利用率。在运行的过程中即使没有代码在运行,Notebook..
2022-04-27 14:46:36
692
4
原创 Jupyter Lab入门到精通
Jupyter Lab && Jupyter NotebookJupyter Lab可以理解成Jupyter Notebook的升级版本,升级增加了很多功能。其支持python、R、java等多种编程语言及markdown、letex等写作语言及公式输入。jupyter lab相比notebook最大的更新是模块化的界面,可以在同一个窗口以标签的形式同时打开好几个文档,同时插件管理非常强大,使用起来要比jupyter notebook高大尚许多。Jupyter安装及启动安装完..
2022-04-24 14:01:34
23049
3
原创 人工智能讲义【大杂烩】(持续更新)
前言:本文主要面向但不限于非人工智能的专业从业者,只是希望在聊到AI的时候能吹上两句的。可聊话题包括但不限于“AI技术的发展现状”,“AI技术有哪些分类”,“神经网络是什么”等等等人工智能发展现状人工智能的现状是:强人工智能很弱、弱人工智能很强。弱人工智能已经强大到可以替代许多的岗位。人类目前最先进的强人工智能,也远远比不上一个三岁孩子的智力。强人工智能:指能制造出真正地推理和解决问题的智能机器。比如日本动漫里的“阿童木”、钢铁侠的AI管家“贾维斯”就可以说是一个强人工智能。 弱人工智
2022-04-20 16:29:11
1553
原创 Go语言调用K8S-API
前言:本文主要记录如何使用Go语言调用k8s的API,获取k8s集群中的Pod信息。跟着k8s官网走就行了,非常简单。找到Go client 项目进入K8S官方在线文档,进入reference模块——Reference | Kubernetes,点击“KubernetesGo client library”执行示例代码下载代码——GitHub - kubernetes/client-go: Go client for Kubernetes.,根据readme文件执行相应的示例代码.
2022-04-19 08:14:41
3305
原创 Go语言学习--安装
前言:以Win11系统为例,记录Go的安装,非常简单安装包下载安装包下载地址为:https://golang.org/dl/。如果打不开可以使用这个地址:Downloads - The Go Programming Language。各个系统对应的包名:操作系统 包名 Windows go1.XX.windows-amd64.msi Linux go1.XX.linux-amd64.tar.gz Mac go1.XX.darwin-amd64-os
2022-04-18 15:36:30
312
原创 Kubeflow--TFJob实现机制分析
前言:虽然Kubeflow提供了一大堆组件,涵盖了机器学习的方方面面,但模型训练肯定是Kubeflow最重要的功能。TFJob的本质KubeFlow针对各种各样的机器.
2022-04-18 09:22:41
2418
2
gunicorn安装包(用于pip安装)
2019-01-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人