自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yyw794的专栏

大严的技术积累

  • 博客(140)
  • 资源 (4)
  • 收藏
  • 关注

原创 无意图的大模型对话系统CALM

Conversational AI with Language Models,是一个原生大模型的对话方案,包括:业务逻辑(Business Logic)对话理解 (Dialogue Understanding)对话修复 (Automatic Conversation Repair)大模型负责理解用户的整篇对话,输出贴合业务流程的内部命令语言。由于大模型并不是直接输出文字给用户,而是保证DM流程图的执行,因此,它不会产生幻觉,在商业领域中可以可靠的运行。

2024-01-11 17:52:55 1532

原创 读书笔记——架构可视化

架构治理的可视化

2024-01-11 17:51:21 584

原创 基于意图的大模型对话系统

基于意图大模型的对话系统,大模型扮演3个核心功能:基于prompt的意图分类无意图策略NLG的rephrase

2024-01-05 15:14:14 3212

原创 使用Poetry对python工程进行依赖管理和打包

为什么推荐使用poetry而不是pipenv?poetry除了具有依赖管理,还具有打包和发布的功能(不再需要twine)poetry在安装过程中,具有过程进展显示(而不是像pipenv长时间卡住都不知道)

2024-01-05 15:07:00 606

原创 triton server的docker单机部署

v /disk/triton_models:/models 代表你的模型文件夹都要放在物理机的/disk/triton_models文件夹中(这个文件夹会mount到容器内部的/models里)代表使用显卡1(第二张显卡),triton并不会独占显卡,启动后,显卡仍然可以进行训练和其他任务(triton加载模型越多,显存占用越多,不需要的模型可以挪出文件夹)(--model-control-mode=poll 文件夹任意内容的改变都会被triton监听,自动加载最新内容)docker ps 可以查看。

2023-12-29 23:55:53 1008

原创 前端加载性能优化

通过降低图片体积和压缩文字来提高传输体积

2023-12-27 17:58:24 455

原创 Triton python backend的BLS(商业逻辑脚本)

Triton的21.08开始,支持BLS功能,将model serving的和模型交互的代码,放入triton的python backend中。

2023-12-27 17:50:28 980

原创 k8s安装istio

k8s安装istio

2023-12-26 09:28:28 1043

原创 算法服务运行突然变得很慢,发现是内存不足,如何不增加成本的解决?

增大虚拟内存

2023-12-26 09:24:18 443

原创 onnx转tensorflow以便于发挥显卡的混合精度

在单个处理的速度上,onnx胜过使用了混合精度的Tensorflow模型;在批量处理上,如批量50条,则应用了混合精度的Tensorflow模型比Onnx模型性能高2倍多。

2023-12-25 18:52:13 577

原创 Bert工程化代码优化

Bert工程化代码优化

2023-12-25 18:39:38 711

原创 Triton下的Onnx/TensorRT/Pytorch哪一个更快

onnx模型比优化后的pytorch模型更快35%转为tensorRT后,相比优化后的pytorch模型,吞吐量提升1.5倍

2023-12-23 22:38:11 1444

原创 常见深度学习算法模型的推理速度横向比较

pytorch, tensorflow, onnx, tensorrt 格式的横向比较

2023-12-23 22:28:41 1463

原创 NLP分词的第三方库选型

在常见的分词器比较中发现,基于深度学习的分词器效果最好,其中,选择了hanlp

2023-12-22 10:56:58 530

原创 为什么要在DDD实践中引入CQRS架构模式

CQRS全称为命令查询职责分离(Command Query Responsibility Segregation),是一种应用层读写分离的架构模式,提供快速整合不同 数据源的通用技术解决方案,能够充分利用不同数据库的优势,根据不 同业务场景对接不同数据库并建立合适的读模型。关键技术是通过事件 驱动方式进行数据同步,保证读模型和写模型的数据最终一致性。

2023-12-22 10:34:09 1194

原创 钟敬《手把手教你落地DDD》读书笔记

手把手教你落地DDD

2023-12-21 14:09:32 872

原创 徐昊《如何落地业务建模》读书笔记

软件开发的核心难度在于处理隐藏在业务知识中的复杂度。DDD是一种模型驱动的设计方法:通过领域模型捕捉领域知识,使用领域模型构造更易维护的软件。

2023-12-21 14:05:10 1292

原创 常见的DDD分层架构

常见的DDD分层架构,告诉你什么是架构,什么是应用架构

2023-12-20 15:07:30 524

原创 【独家深度】Gitlab基于Elasticsearch的站内搜索设计

通过分析Gitlab的站内搜索设计,借鉴其设计经验,来改进自己的站内搜索方案,包括领域对象划分,索引设计,权限控制设计。这可能是国内第一篇详细解剖Gitlab站内搜索设计实现的文章。

2023-12-20 14:55:38 2014

原创 ES建索引和搜索时,经历了什么?

对ES如何建索引和搜索的过程做了一个内部的细节的陈述

2023-12-19 17:43:35 1029

原创 ES如何对搜索缓存进行空间压缩

ES搜索时,如果Query里包含了filter,则会对filter进行缓存,方便其他Query的复用。(must和should条件都不会缓存,只有filter会)filter语句会返回什么id,这个信息缓存在内存中。为了能在有限的内存中缓存更多的filter,ES对filter对应的ids存储进行了压缩。

2023-12-19 17:30:28 434

原创 Elasticsearch应用Suggestion的代码示例

ES的java有2个主流客户端,官方的和spring data的。不管哪一个,关于suggestion的代码示例都非常少。这里就是为了弥补这个空白。

2023-12-18 16:13:01 558

原创 为什么推荐采用对象存储取代NAS磁盘

当存在如下需求或痛点时,都应该采用对象存储取代NAS磁盘。数据不可丢失(硬件故障,人为误操作)数据的权限管控数据需要共享到多地音频数据的立刻播放

2023-12-18 16:06:41 1292

原创 【深度】ES到底是如何对倒排索引进行速度和空间优化

倒排索引虽然很快,但是空间消耗很大。需要优化保证搜索速度更快(优势更明显)空间占用减小(缺点缩小)ES的优化设计ES对性能和空间节省做了大量的优化。

2023-12-15 17:18:12 1133

原创 搜索引擎演进调研

搜索引擎的演进方向采用能充分释放硬件性能的新语言进行开发(如,rust)更低成本(存储计算分离,索引改造),更易用(用户/开发体验),更快(新语言)的方向演进产品混合搜索 (文本及向量的混合搜索)

2023-12-15 17:09:25 1383

原创 为什么推荐使用Mapstruct取代BeanUtils进行Entity和DTO的转换

选择Mapstruct的核心原因代码封装速度快(十倍以上的速度优势)Mapstruct让转换代码聚集在一起这是一个DTO转Entity的Mapstruct代码,可以看到有如下优势:所有赋值工作,都在一个接口里定义,外部进行DTO转Entity时,只需要一句话,极其简洁,无需多行的设置操作。可以解决不同字段名的赋值,可以解决赋值需要运行函数获取的方式,也可以解决源为空时,再使用函数赋值等等的常见操作

2023-12-14 18:31:25 803

原创 JAVA如何优雅的计算函数执行时间

使用一行注解就能计算函数的运行时间,你要不要?

2023-12-14 18:23:32 1199

原创 如何在DTO中应用Enum类型自动限制前端的输入

其中,fromString方法是负责将前端传入的String类型,转换为DTO的Enum类型。代码实现上,即支持Enum值的匹配也支持code值的匹配注意:如果都匹配不上,应该抛出异常,而不是网上的返回null。因为抛出异常,才能被捕获,实现自动返回错误码给前端。如果是返回null,将会流入controller代码,导致null错误。一种是POST/PUT的RequestBody的JSON Payload。一种是GET的RequestParam参数;

2023-12-13 17:27:47 1180

原创 为什么推荐选择Mybatis Dynamic SQL

MBG已经推荐所有的java新项目,都采用Mybatis Dynamic SQL,以java API的方式书写SQL,而不是XML

2023-12-13 17:25:30 1255

原创 基于Mybatis实现PG文本搜索的更优实现

分词,这里采用最简单的分词工具hanlp 1.x(同类产品还有jieba,ikanalyse),如果需要更好的分词效果,可以通过API调用外部的基于深度学习的分词模型(如hanlp 2.x)。负责将java函数和SQL进行映射,其中,SQL由另一个SQL Builder的类负责动态生成SQL语句(根据java函数的入参,动态生成包含实际入参的SQL)。因此,中文搜索涉及的文本处理,需要外置实现。通过mapper,将java函数和sql进行映射,这样,执行java搜索函数时,实际执行的是PG对应的SQL。

2023-11-28 18:17:26 1141

原创 基于Mybatis实现PG文本搜索的最简易方法

在数据库表sparring_workflow中,需要在workflow_name和workflow_desc中实现文本搜索。(前端可以在name和desc中搜索到用户需要的信息)

2023-11-28 18:15:02 1140

原创 华为《数字化转型》读书笔记

道战略力,数字领导力,变革力战略力:变成企业必须做、大家一起做的共同战略变革力:变革的本质是对人的行为的重塑术流程驱动,数据驱动,智能驱动流程驱动:是聚焦业务重构数字化流程,从企业的角度来看,数据是不完整的。数据已经在随着业务的开展而逐步产生,所以企业也需要开展有限度的数据治理工作。数据驱动:业务数据的实时,准确,可视。数据安全体系(防攻击,防泄密,防特权)智能驱动:但如果应用场景不成熟,流程在线、数据共享、技术领先等储备再多,智能化也无法在业务上实现。

2023-06-29 00:19:16 971

原创 基于Elasticsearch Phrase Suggester的地址纠错设计

使用elasticsearch的phrase suggester实现地址的纠错设计

2023-01-19 12:08:15 375 1

原创 基于Elasticsearch Term Suggester的地址纠错设计

基于elasticsearch的term suggester技术实现地址信息的纠错设计方案

2023-01-19 12:04:47 433

原创 如何从天眼查获取海量公司信息

从天眼查获取海量公司地址的方法

2023-01-19 11:55:30 5116 1

原创 基于Postgresql的低成本简单搜索

传统搜索需要使用elasticsearch,需要额外建设,这里使用postgresql低成本实现简单搜索

2023-01-19 11:42:36 528

原创 基于nvidia triton的模型工程化实践

什么是triton inference server?它的前身是nvidia的tensorRT,triton在具备tensorRT的基础上,增加了主流的TF,pytorch,onnx等模型的推理部署支持。是一款非常好的推理模型部署服务。具体了解:NVIDIA Triton Inference Server | NVIDIA Developerhttps://developer.nvidia.com/nvidia-triton-inference-server模型部署及优化实践pyto

2021-12-07 19:11:33 4630 1

原创 ubuntu中nvidia独显和intel集成显卡怎么切换

我的笔记本虽然有nvidia独显,但为了更好的续航,平时会切换为intel集成显卡,需要AI计算时,才临时切换会nvidia独显。采用prime-select指令prime-select query 可以查询在用的显卡是哪一个sudo prime-select nvidia 切换nvidia独显sudo prime-select intel 切换intel集成显卡...

2021-02-27 16:56:33 1244

原创 很火的Fastapi框架,用async函数真的比普通函数快吗?

python的新款异步框架FASTAPIhttps://fastapi.tiangolo.com/是一款最近很火的框架。我过去使用了Flask很多年,当一使用上fastapi,就喜欢上它了。今天的问题是:我们的函数到底应该定义为async还是普通函数?直接上演示代码。from fastapi import FastAPIimport timeimport asyncioimport osapp = FastAPI()@app.get("/async_slowest")async

2020-09-28 22:58:54 14050 6

原创 放下你那python的古老异步框架吧

上古时代的人们会使用tornado等异步框架来提高并发性能。我以前则采用gevent的协程方式来提供并发能力。现在有更快的汽车。如果只知道python新版本的async/await的用法,也是不够快的。python默认采用asyncio的事件loop,如何让它更快呢?采用uvloop取代python默认的asyncio.为什么uvloop可以更快?因为它采用了更快的cython编写(不是cpython),cython会将python转为c级别。并基于libuv构建..

2020-09-04 23:59:22 503

gitlab搜索不同领域对象的query json

gitlab搜索不同领域对象的query json

2023-12-20

arm(软浮点交叉编译)版的python(极简版)

用于arm单板的python。 采用软浮点的交叉编译。 该版本python经过极简压缩,仅为几M,可以用于大部分的嵌入式单板中。 希望你的arm单板也能玩起python

2017-09-22

bashrc(my personal)

个人的linux的bashrc

2017-06-25

pandoc-windows.msi

pandoc的windows安装包

2017-06-25

reveal.js.zip

revealjs

2017-06-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除