自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

厉力文武

励斌出品 必是精品

  • 博客(88)
  • 收藏
  • 关注

原创 个性化语音模型合成实现

am_config 为声学模型的配置文件路径,位于 tmp_am 子目录中,定义了模型的架构和训练参数;model_id 为创建的 SambertHifigan 对象,后续将通过它来调用模型的方法,执行语音合成的任务。接下来再定义一个字典类型配的配置项,键名为 custom_ckpt,键值为 custom_infer_abs,当 kwargs 被调用时,kwargs 字典中的键值对将作为单独的参数传递给调用函数,使函数能够访问和使用 custom_ckpt 中的配置来执行自定义的推断任务。

2024-05-23 10:58:49 331

原创 个性化语音模型训练实现

log_interval 设定了训练日志输出的频率,即在训练过程中,每10个步骤,模型的训练状态和性能指标将会被打印出来,供开发者监控训练进度。以上就是个性化语音模型训练的介绍和实现过程,补充说明一下个性化训练语音样本的格式和要求,从实践经验来看,样本为 wav 声音文件,音频长度建议不少于 10 秒,样本文件数不少于 20 个,在录制音频的时候无特殊要求,保持背景环境安静低噪音,按照平时正常说话的音量语速即可,经过上述训练过程生成的音色模板,在后续的语音再合成中,一定可以得到满意的效果。

2024-05-22 17:10:09 147

原创 RAGFlow 实现

它可以为规模企业提供简化的 RAG(检索增强生成) 工作流程,结合大型语言模型提供真实的对话功能,重点是它能够支持私有化的知识库,弥补大语言模型在特定场景中相关知识的不足,很好的解决了个性化应用的纵深问题。这篇文档描述的是知识库的构建、管理与应用。管理层面的输入是知识库文档,返回的是文档的管理状态,结合前端页面,用户可以方便的管理自己的知识库。最后说明一下,知识库检索返回的是知识库文档分片集合,后续的工作流可以对分片集合格式化,结合用户会话列表生成提示和上下文,提交给大语言模型生成文本。

2024-05-20 18:08:47 702

原创 Ubuntu 系统 python 项目开机自启

接下来执行命令 systemctl enable my_project.service,要求系统允许 my_project.service 开机自启,执行结果显示:Created symlink /etc/systemd/system/my_project.service → /lib/systemd/system/my_project.service. 这条指令的目的是创建一个配置链接到 etc 路径下。然后创建配置文件 /lib/systemd/system/my_project.service。

2024-05-16 16:36:57 150

原创 PostgreSQL 支持向量功能

基于 RAG(Retrieval-Augmented Generation)引擎的企业级 AI 业务,对向量的存储和检索是至关重要的,各种类型的数据(文本、图像、声音和视频)都可以转换为向量,从而为复杂的数据结构提供了一种强大的数据表示能力,使其在机器学习和人工智能领域有着广泛的适用性和重要性。操作系统为 Ubuntu os 22.04 64 位操作系统,首先安装数据库、附加组件包(包括一系列扩展模块、工具、插件和额外功能),以及数据库的软件开发包(包括开发工作所需要的头文件和各类函数)。

2024-04-30 14:10:26 243

原创 Stable Diffusion 模型应用

最后一步将生成的图像数据转换为 bytearray,cv2 是 OpenCV 库中的一个广泛用于图像处理的库,imencode 函数是将图像编码为内存缓冲区中的指定格式,output['output_imgs'][0] 表示从之前生成的图像输出中取出第一张图像,numpy.array 方法将编码后的图像数据转换为 NumPy 数组,获取图像的数据部分,bytearray 方法则是将 NumPy 数组形式的图像数据转换为用于存储的二进制数据,以便于在网络上传输或保存到磁盘。

2024-04-29 11:32:20 413

原创 C 语言并发服务实现

这个文档描述了一个本人在 15 年前的后端并发服务器的实现,采用 C 语言开发,以 epoll + 动态线程池的方式受理客户端的请求。现在的生态环境已经非常成熟,各种第三方和开源的组件都提供了完美的解决方案,不再需要开发人员自己造轮子了。代码中关键位置都附上了注释,熟悉 epoll 和底层线程实现的话看着应该不复杂,供大家参考。

2024-04-29 10:11:08 129

原创 prometheus 打点实现

Prometheus 是一个开源的系统监控和告警工具包,最开始是在 2012 年左右的时候由谷歌的工程师研发,设计用于对时间序列数据的收集和处理,特别适合于云原生环境的监控。它的优势在于简单、灵活和云原生环境的适应性,配合 grafana 可视化监控平台展示的各项度量指标,使其成为各个互联网公司业务监控告警的首选工具。Prometheus 系统有许多优势,首先它易于管理,极大的简化了部署和管理过程,同时采用灵活的多维数据模型,每个时间序列数据由键值对组成,查询非常高效;

2024-04-22 18:16:23 263

原创 大语言模型知识分享

意图 (Intent) 是指用户与 AI 模型在交互的时候,想要完成的任务或想要获取的信息,在具体的业务中可以基于场景需要定义不同的任务。例如,当用户向 AI 模型服务发送“请帮我订一张北京到上海的飞机票”的消息时,认为用户的意图是“订机票”。实体 (Entities) 是同类型单词的合集。例如,语句“请帮我订一张北京到上海的飞机票”,其中“机票”即是一种实体。在实际生活中,很多不同的词语往往可以表示同一种意思。例如,北京、中国首都,这两个词语都是指同一个实体。

2024-04-19 17:00:34 489

原创 低代码平台调研

低代码平台是一种软件开发工具,旨在帮助开发人员使用图形化界面和少量的编码来快速构建应用程序。它通过减少手动编写代码的需求,提供了一种更加高效、快速的应用开发方式。低代码平台的目标是减少开发周期、提高开发效率,并且使开发过程更加可视化和易于理解。它适用于快速开发原型、中小规模应用程序的开发以及业务需求较为简单的应用场景。原理是通过提供一些可视化的工具和组件,使人员快速构建应用程序,不需要编写大量代码。

2024-04-19 11:54:51 310

原创 Text-To-Speech (TTS) 模型应用

modelscope 模块的 Tasks 定义了预设任务类型的枚举类和常量,在机器学习和深度学习过程中,定义了模型所要解决的具体问题或应用领域,如分类、回归、文本摘要、文本生成、语音识别、语音合成等。然后调用并执行任务,input 参数代表输入的文本,及待合成的文本信息,voice 参数为合成语音时的特征,如发音人风格、语速、音高等,具体效果取决于模型和项目的实现,可能是字符串、数字、字典或其他复合类型,用来描述合成语音所需的声音特性。最后创建了一个临时文件,并在代码块结束后自动关闭文件。

2024-04-19 10:58:08 525 2

原创 AI 大语言模型应用

然后初始化模型请求,messages 是一个对象数组,每个对象包含 role 和 content 两个变量,其中 content 是内容,role 可以是 ASSISTANT、SYSTEM 或 USER,分别表示对系统指定的用户提示输入做出相应的角色、指示或设置助手行为的角色,以及为聊天补全提供输入的角色。虽然代码量很小,不过想跑起来还是需要颇费些周折的,需要安装 python、conda 环境、NVIDIA 驱动,CUDA,以及长长的依赖库列表,看看模型结果,满足一般性的业务要求还是值得的。

2024-04-18 10:20:33 1145

原创 java 生成 pdf 文档

【代码】java 生成 pdf 文档。

2024-04-16 09:27:56 146

原创 基于 RPC 微服务的 token 管理系统

这是一个基于 RPC 微服务的 token 管理项目,实现了对 token 的创建、过滤、刷新和查询的操作。协议定义和方法调用通过 thrift 构建,token 缓存在 redis 中,有效期在业务中定义。日志写入 kafka,由其他组件消费后写入 clickhouse 后再通过 superset 汇总展示。打点操作写入 prometheus 系统,由 grafana 汇总展示。开发语言为 golang,代码为原创分享给大家。以上为核心功能代码,仅供参考。

2024-04-16 08:32:35 253 1

原创 采用 mustache 构造 prompt

在 AI 应用中,prompt 构造的好坏对生成的结果有着非常显著的影响,格式化的 prompt 可以更加精准的控制内容生成的细节,包括字数、格式、段落以及风格等等。

2024-04-15 15:04:02 211

原创 Azure OpenAI 对接

不过 Azure OpenAI 服务是按量计费的,需要事先在微软官网开立账户并预存一部分资金,对接完成后即可使用服务实现自己的业务了,这种方式比较适合传统行业的小微企业,也算是入门级的 AI 技术解决方案,起码它不用 FQ。需要补充说明的一点是,大语言模型生成结果的效果和 prompt 定义的好坏是有密切关系的,想得到优质的内容需要对 prompt 有个调优的过程,这个心里预期是必不可少的。AZURE_OPENAI_KEY:用户的私钥。AZURE_MODEL_NAME:模型名称。

2024-04-15 12:10:19 323 2

原创 minio 搭建与接入

设置读权限:Buckets -> digit-travel -> Summary -> Access Policy -> 选择 Public -> 保存。创建 Buckets:Buckets -> Create Bucket + -> Bucket Name* -> 保存。通过InputStream上传对象。以流的形式获取一个文件对象。列出存储桶中的所有对象。获取 minio 句柄。

2024-03-01 09:01:16 199

原创 nginx 负载均衡与 rpc 转发

3、ssl_certificate 和 ssl_certificate_key 为 ssl 证书,需要保存到对应路径下;2、stream 块为 RPC 调用,my_rpc 为 RPC 项,配置了地址端口以及权重;1、my_upstream 为自定义的 http 后端服务,配置了地址端口以及权重;

2024-01-29 09:55:19 352

原创 ChatBot 搭建

1 - (embedding '{input_embedding}') > {similarity_threshold},其中 input_embedding 为输入向量,similarity_threshold 为设置的相似度阈值。知识库后端对不同格式的数据进行格式化,生成 embedding 向量,保存到 RDS 中;数据的相似性检索是通过 RDS 的原生功能实现的,并根据相似度设置一次检索的返回数;FAISS,基于稠密向量的高效相似度搜索和聚类工具,支持任意大小的向量几何算法;

2024-01-26 16:03:24 280

原创 移动通信的信令采集

一个完整的会话过程由GTP-C协议中的控制面ID来确保,如果接收方确认已经成功地给发送方分配了用于信令的控制面ID,则该值与以前发送的保持一致,当接收者接收到任何来自发送方的控制面消息的GTP头的TEID值就是其分配的值时,则认为成功分配控制面ID。删除PDP上下文请求报文由SGSN节点发给GGSN节点,作为GPRS分离过程的一部分或GPRS的 PDP上下文去活过程的一部分;一个有效的请求将初始化SGSN中的PDP上下文和GGSN中的PDP上下文间的隧道创建。这个消息是删除PDP上下文请求的响应。

2024-01-26 14:30:35 1634

原创 RTB 引擎技术白皮书

平台接入作为系统总入口,负责与供应方平台的媒体对接,接收媒体下发的竞价请求,并在最短的时间内将响应应答返回供应方平台,各供应方平台的传输协议各不相同,存在较大的差异,;RTB广告的特点在于,广告平台售卖的不仅仅是传统意义上的广告位,而是访问这个广告位的具体用户,这个用户会有自己的兴趣爱好,广告能够投其所好产生最大的收益。匹配算法是对倒排索引进行查询,倒排索引的存储结构有键值两部分组成,键来自于广告执行单的字段,也是计算维度,值是若干广告执行单在广告配置内存中的存放地址的集合。广告订单排期最大值360天;

2024-01-26 11:38:49 727

原创 搜广推系统流程

用户上下文:请求用户中心,根据 UID 获取用户基本信息和扩展信息,基本信息为长期无频繁变动的信息,如年龄、性别、地域等,扩展信息为用户中期和短期内频繁变动的信息,如长期(短期)兴趣标签、话题、屏蔽关键字、关注用户、拉黑用户等;请求内容池,根据内容 ID 获取内容详情,详情包括基本信息,如标题、正文、作者,话题、标签、关键字等;内容过滤:包括自身、作者、话题、回答、视频、空标题、空内容、管控内容等;

2024-01-22 09:22:31 333

原创 搜广推基础架构

报警系统:业务指标来自于打点系统,根据设置的阈值报警和报错,并将消息发送到技术人员的手机等设备上;日志系统:存储生产环境下的日志数据,提供实时查询,帮助问题排查和定位,存储失效期比较短;打点系统:记录生产环境下各个系统的实时操作,方便统计、聚合、查看业务的各项运行指标;用户中心:保存全量用户基础信息,如 ID、年龄、性别、地域、教育程度及兴趣标签;内容详情平台:保存内容的详细信息,如标题、正文、图片、视频及超链接等;

2024-01-22 09:04:39 444

原创 机学走起-8-总结

与无监督机器学习相对应的是有监督的机器学习,去年脸书开源了一款“快文”,涵盖了词向量和内容分类,速度快效果好那是相当的好用,github上有c++、Python和java三个版本的,c++是脸书原作,java又分java语言实现和jni调用两种方式,由于java是根据c++改写的,版本维护跟不上,所以训练的结果模型不能跨版本使用,但对于一般企业级应用足够了。余弦相似度用于计算两个向量集在二维或多维坐标系中的相似性,检验它们是否具备在同一象限内向相同方向延展的趋势,重合度越高认为相似性约大。

2024-01-22 08:56:11 324

原创 机学走起-7-???

原文:《机学走起第七式:对接》之局部哈希在相似度计算上的应用与实现。

2024-01-22 08:55:18 291

原创 机学走起-6-构建向量

数学的奇妙之处就在于把一些散乱的看似毫不相关的东西以数字的形式表现,再通过公式和模型组织起来加以计算,最终的结果又刚好完美的证明了它自己是真实可信的,局部哈希完美的诠释了这句真理,局部哈希与哈希的不同在于它温柔的描述了一个对象在向另一个对象变化过程中保留着自身的主要特征,而不像哈希那样基因突变式的猝不及防。

2024-01-22 08:47:01 321

原创 机学走起-5-余弦相似

点评:这两种方法对相似度计算中自然语言的语义因素的考量都显得过于粗放,TF-IDF也仅是在TF基础上有小幅提升,都适合各种长短尺寸的语句,并未因语句长度增加造成效果衰减,反之同理,显然要想进一步提升相似度计算的效果还需要换个思路。接下来对TF值进行调整,将向量值换成TF-IDF,并对该值设置阈值,低于阈值的项丢弃不参与余弦运算,这样做的目的是为了提升词语在语句权重中的价值,修正硬相似度计算中所导致的误差。第三步计算:将向量空间中的值逐一带入下面的公式,计算两个向量空间的夹角余弦值;

2024-01-22 08:43:59 343

原创 机学走起-4-LDA

实际效果和训练样本的质量关系极其密切,目标类目不宜期待过多过细,否则效果的衰减将远超预期,另外脸书一款开源监督机器学习主题提取模型效果更佳,今天先挖个坑留着以后再说。样本导入需要两个参数,cps,二维向量对应文档,size,整数对应词表尺寸,定义目标主题数可以根据需要指定,主题概率和单词概率默认配置即可,训练完毕根据模型提取主题词。主题预测:随机一篇文章去停用词分词备用,根据词表生成一份一维向量表,连同训练结果模型一并作为参数执行主题预测,返回结果是一个双精度向量集合。把结果打印出来看看!

2024-01-22 08:42:17 309

原创 机学走起-3-词频

第二步初始:将《机学走起第二式》第四步生成的IDF配置加载到容器中;第四步计算:出现次数除以当前文档词语总数再乘以该词语的IDF值;第五步排序:对当前文档全量词语的TF-IDF值按照降序进行排序;第一步文档:准备数据源,分词去停用词空格分隔,一行一篇备用;第六步输出:根据业务需要提取n个有价值的词语作为文档关键字;第三步统计:统计当前词语在当前文档中累计出现的总次数;

2024-01-22 08:40:57 387

原创 机学走起-2-关键词

第二步统计:用文档总数除以命中数量再取个对数,统计过程缓存在容器中,遍历的时候恒大于零所以未加一,具体看个人实现,提醒注意double数据类型初始化对结果精度的影响,需要说明的是一个词在一篇文章中出现多次仅记录一次,记录多次将导致IDF值误差并进而影响TF-IDF结果;第三步排序:执行sort sougou.idf -k -n > sougou.idf.sorted,对结果按照IDF值升序排序,这样看着舒服并非强制需要;第四步部署:将结果文件保存至项目配置路径,在启动的时候加载,方便计算TF-IDF终值;

2024-01-22 08:39:20 340

原创 机学走起-1-词向量

抽测结果只取前五:相似度近义词提取提供两个版本:

2024-01-22 08:33:22 302

原创 代码仓库与代码片段分享

个人声明:上述代码均为本人编写欢迎下载和使用。

2024-01-19 17:39:09 371

原创 fastxml多分类器

模型训练:python3 fxml.py 模型名称 训练数据 --standard-dataset --verbose train --iters 100 --trees 20 --label-weight propensity --alpha 1e-4 --leaf-classifiers --no-remap-labels。解压组件:unzip fastxml-master.zip,cd fastxml-master,python setup.py develop安装组件。

2024-01-19 17:29:08 338

原创 faiss技术分享

•nlist参数控制将数据集向量聚类的总数,nprobe参数控制在多少个类范围内进行查询,伴随nprobe参数值增加,精度值增加,同时时间开销增加,当nprobe=nlist时,与IndexFlatL2索引等效;•倒排索引需要对数据做预处理来提高索引效率,将数据库向量通过聚类方法分割成若干类,查询时选择距离最近的类中心,在类中采用精确方法查询,通过增加相邻类查询来提高精确度;•在查询阶段返回的结果是近似值,实验显示,乘积量化后查询返回的距离值与真实值相比偏小,此外,索引的初始化过程的耗时也比较久一些;

2024-01-19 17:28:03 344

原创 ELK搭建

采用API方式查看服务状态,执行命令curl -i -XGET 'localhost:9200/_count?path.logs: /home/elasticsearch-6.4.2/logs // 日志存放路径。path.data: /home/elasticsearch-6.4.2/data // 数据存放路径。配置完成后启动即可,打开浏览器,

2024-01-19 17:27:09 372

原创 TensorFlow Serving裸机安装

ipa-client-common-4.4.0-12.el7.centos.noarch 有已安装冲突 freeipa-client-common: ipa-client-common-4.4.0-12.el7.centos.noarch。ipa-server-common-4.4.0-12.el7.centos.noarch 有已安装冲突 freeipa-server-common: ipa-server-common-4.4.0-12.el7.centos.noarch。

2024-01-19 17:25:57 323

原创 TensorFlow Serving加打点

启动参数:--port=8208 --model_config_file=/models/rank/model.config。编译命令:bazel build -c opt tensorflow_serving/...断点函数:TensorflowPredictor::Predict。

2024-01-19 17:23:57 323

原创 TensorFlow Serving客户端

1、maven依赖:

2024-01-19 17:23:17 342

原创 基数统计算法

早先数据量不大的时候首选B树,把URL、UID哈希一下做key,计数器做value,优点是准确性高,附带信息全,存储空间随用随申请,插入和查询效率马马虎虎,缺点是成本高数据量小性价比太差;后来用布隆过滤,依旧把URL、UID哈希以后映射到布隆串的比特位上,优点是准确性比较高,赋值与检索效率高,缺点是无键值对信息,存储空间大且需提前申请并初始化,128位机以下存在小概率冲突;

2024-01-19 17:21:31 330

原创 TensorFlow Serving源码解读

DispatchEvRequest入参:evhttp_request* req → auto parsed_request = absl::make_unique<ParsedEvRequest>(req) → std::unique_ptr<EvHTTPRequest> ev_request(new EvHTTPRequest(std::move(parsed_request), this))export TF_CPP_MIN_VLOG_LEVEL=1,打印VLOG(1)的log。

2024-01-12 09:40:43 352

空空如也

空空如也

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

TA关注的人

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