- 博客(245)
- 资源 (1)
- 收藏
- 关注
原创 简单使用vllm
vLLM是一个快速且易于使用的LLM推理和服务库。它支持分布式部署、容器化部署和OpenAI的数据格式等,并且内置了大模型服务,可以直接用命令启动。vllm与Ollama有一定的区别,Ollama适合个人和小服务,vllm适合企业和提供服务,vllm的性能较高,并且并发性也较好。vLLM是一个Python库,它包含预编译的C++和CUDA(12.1)二进制文件,因此需要有GPU支持。
2024-10-22 13:46:58 506
原创 Tornado简单使用
Tornado 是一个基于Python的Web服务框架和 异步网络库,它最初由 FriendFeed 开发,后来被 Facebook 收购并开源,通过利用非阻塞网络 I/O, Tornado 可以承载成千上万的活动连接,完美的实现了 长连接、WebSockets, 和其他对于每一位用户来说需要长连接的程序.
2024-10-20 19:21:09 532 2
原创 k8s安装ingress-nginx
将"registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.3.0@sha256:549e71a6ca248c5abd51cdb73dbc3083df62cf92ed5e6147c780e30f7e007a47。⚠️ 注意:需要将"deploy.yaml"源文件中的文件更改为国内的地址,因为registry.k8s.io是kubernetes的镜像源国内无法访问。⚠️ 在主节点上执行,主节点上无法访问ingress暴漏出的服务。
2024-08-04 12:54:59 519
原创 ubuntu22安装k8s-1.24.17
⚠️ 注意:此处的集群环境⚠️ 注意:docker版本:20.10.24,为了兼容k8s版本,此版本自带docker compose。
2024-08-01 11:49:12 460
原创 解析PDF文件中的图片为文本
解析PDF文件中的图片,由两种思路,一种是自己读取PDF文件中的图片,然后用OCR解析,例如:使用PyMuPDF读取pdf文件,再用PaddleOCR或者Tesseract-OCR识别文字。另一种使用第三方框架,直接读取文字,例如:OCRmyPDF。读取pdf的包PyMuPDF可以获取PDF中的文本、布局和图片等,并且内嵌了Tesseract-OCR需要独立安装Tesseract项目的tessdata,有兴趣可以试试。
2024-06-23 22:18:50 1015
原创 Docker Swarm持久化
Docker Swarm持久化有bind、volume和NFS三种方式,bind和volume两种方式适合挂载单个宿主机,不适合集群;NFS适合集群服务,但需要安装NFS系统。注意:Docker Swarm需要先安装集群。由Docker Swarm构建的集群,使用filebrowser测试。注意:使用搭建filebrowser集群过程中,会发现刷新一次就要登录一次,因为构建的集群中每个容器副本登录都是独立的,但是集群中设置了负载均衡,所以,每刷新一次访问的容器副本不一样,导致刷新一次会登录一次。
2024-06-10 11:51:14 795 1
原创 Python实现半双工的实时通信SSE(Server-Sent Events)
实现实时通信一般有WebSocket、Socket.IO和SSE(Server-Sent Events)三种方法。WebSocket和Socket.IO是全双工的实时双向通信技术,适合用于聊天和会话等,但相对于SSE比较笨重,SSE适合用于服务器主动向客户端实时推送数据,例如:用于大模型实时对话。WebSocket是一种HTML5提供的全双工通信协议,它基于TCP在客户端和服务器之间建立持久性的连接,实现两者之间实时双向数据通信。
2024-06-08 10:38:05 862 1
原创 基于大模型和RAG技术实现的开源项目
为解决大模型的不足,使用RAG技术增强大模型生成内容的针对性和可读性能力,有很多不错的开源项目。例如下面的项目。
2024-05-26 20:53:28 1663
原创 搭建CMS系统
内容管理系统(Content Management System,CMS)是一种用于管理、发布和修改网站内容的系统。开源的CMS系统有WordPress、帝国CMS等,国产的Halo很不错。WordPress参考地址Halo参考地址。
2024-05-26 09:45:06 649
原创 Qdrant向量数据库的使用
Qdrant(读作:quadrant)是一个矢量相似性搜索引擎和矢量数据库。它提供了一个方便的API来存储、搜索和管理点向量的生产就绪服务,并提供了额外的有效负载专门用于扩展过滤支持。这使得在各种神经网络或基于语义的匹配、多面搜索和其他应用方面更加有用。Qdrant要比Weaviate向量库好用。
2024-05-20 20:53:26 3845
原创 简单使用ollama
Ollama是一个开源的大型语言模型部署工具,它可以帮助用户快速在本地部署运行大模型。类似于Docker一样,仅仅用几行命令就可以运行一个大模型。
2024-05-19 22:08:47 1036
原创 使用weaviate实现向量存储
当下开源的向量数据库比较多,主要分嵌入式向量数据库(数据库和应用在一起)和客户端-服务器模型向量数据库(客户端和服务器分离),比较出名数据库如下:嵌入式包括Chroma、lancedb,客户端和服务器分离的包括:Milvus、Faiss、Qdrant和Weaviate等。本文选择Weaviate。Weaviate是一个人工智能原生矢量数据库,强调与知识图的灵活高效交互,支持单节点和集群部署,支持关键词检索和语义检索。
2024-05-19 21:17:21 2566
原创 使用docker安装doccano
数据标注的工具比较多,比较出名的有Doccano、Label Studio等。Label Studio :图像标注、文本标注、音频标注、视频标注、时间序列标注,功能比较多。Doccano:主要是针对文本的标注,包括文本分类,序列标注和序列到序列的标注等功能。参考地址。
2024-05-16 13:49:07 523
原创 Python使用ThreadPoolExecutor线程池和Queue消息队列
concurrent.futures模块是从 Python3.2 后引入的异步执行模块,主要用于在多核CPU和网络I/O中进行高效的并发编程。这个模块提供了ThreadPoolExecutor(线程池)和ProcessPoolExecutor(进程池)两个类。可使用直接创建线程池,需要设置最大的线程数,用submit()执行线程。Python中的Queue是线程安全的消息队列,put()和get()配合使用,可使用put()创建消息,使用get()消费消息,使用qsize()获取消息长度。
2024-05-15 13:43:54 668 1
原创 使用BGE-M3和K近邻实现语义搜索
随着大模型和 检索增强生成(Retrieval-augmented Generation, RAG)不断的发展,文本语义检索很重要。文本语义检索离不开文本向量生成,在文本向量生成上面有几个比较好的模型,例如:北京智源人工智能研究院构建的BGE(BAAI General Embedding)、北京希瑞亚斯科技有限公司构建的M3E(Moka Massive Mixed Embedding)、SentenceTransformers可以实现文本的句子、段落的向量化,也可实现图片的向量化。
2024-05-12 17:34:10 1217
原创 使用docker安装seafile
Seafile 是一款开源的企业云盘,支持全平台(浏览器、Windows、Mac、Linux、Android、IPhone等)客户端。Seafile 内置协同文档 SeaDoc ,让协作撰写、管理和发布文档更便捷。最重要的这是国产软件!用起来感觉比NextCloud要好一点。
2024-05-12 11:56:38 1750 2
原创 Python线程终止方法
Python线程终止有很多思路,本文介绍使用事件终止、状态终止和异常终止3种思路。事件终止和状态终止必须等待耗时任务结束后才能结束,异常终止可以立刻终止。
2024-03-08 14:28:15 2432 1
原创 将pyinstaller打包为exe文件
(1)如果是Python依赖包,在Python的依赖包目录下,找到speechbrain包,复制到pyinstaller打包后的于exe文件同级的。(2)推荐,使用.spec文件打包,在文件中的”hiddenimports“参数中追加依赖包,我的文件如下;(1)在使用命令打包的时候,使用–hidden-import参数,追加依赖包;使用命令第一次打包后,会自动生成该文件,第一次以后可以进行修改后打包。注意pyinstaller的版本,不同的版本打包后的目录不一样。(2)使用.spec文件打包。
2024-03-05 10:21:23 422
原创 LDA(Latent Dirichlet Allocation,隐含狄利克雷分布)模型简单使用
机器学习高级算法中LDA算法有线性判别分析(Linear Discriminant Analysis,LDA)和隐含狄利克雷分布(Latent Dirichlet Allocation,LDA)模型两个。本文介绍的是隐含狄利克雷分布模型,此模型主要用于文本主题分类。本文使用sklearn中的LatentDirichletAllocation实现主题分类。
2024-03-03 21:19:39 566
原创 SentenceTransformer简单使用
SentenceTransformer主要用于对句子、文本和图像进行嵌入。可用于文本和图像的相似度对比查找等。
2024-03-03 21:10:54 1565
原创 使用pyannote-audio实现声纹分割聚类
pyannote.audio是用Python编写的用于声纹分割聚类的开源工具包。在PyTorch机器学习基础上,不仅可以借助性能优越的预训练模型和管道实现声纹分割聚类,还可以进一步微调模型。
2024-02-28 20:29:24 5574 6
原创 使用openai-whisper实现语音转文字
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。在官网上选择windows版本在GitHub上可以选择最新版本,选择;如果python程序出现“FileNotFoundError: [WinError 2] 系统找不到指定的文件。”错误时,可能是ffmpeg版本的问题。将解压到D盘,名字修改为ffmpeg, 将目录添加到环境变量中。,出现下面的信息表示安装成功。
2024-02-19 17:56:14 4183
原创 Flask和Vue框架实现WebSocket消息通信
主要的安装包 Flask、Flask-SocketIO,注意Python版本要求3.6+更新基础环境我的“requirements.txt”的包安装命令。
2023-12-10 15:33:24 3117
原创 Flask使用线程异步执行耗时任务
在开发Flask应用中一定会遇到执行耗时任务,但是Flask是轻量级的同步框架,即在单个请求时服务会阻被塞,直到任务完成(注意:当前请求被阻塞不会影响到其他请求)。解决异步问题有两种思路,一种是借助外部工具实现异步,例如:消息队列(RabbitMQ)、 异步任务队列(Celery+Redis);另一种借助Python中的进程、线程或协程解决异步。我的是小项目选择因此选择了第二种方法。经过测试,我在Flask中使用协程(gevent)会被阻塞;
2023-12-02 19:20:10 2404
原创 使用ResponseEntity实现文件下载
ResponseEntity的泛型可以设置自定义返回值,也可以使用自带的返回值。使用ResponseEntity实现对jar内部和外部的数据文件实现下载。
2023-09-21 18:45:00 766
原创 python中MongoEngine简单使用
MongoEngine是一个处理MongoDB的对象文档映射器。pymongo是非面向对象的方式操作数据。MongoEngine开发文档python安装mongoengine。
2023-06-19 19:00:00 378
原创 使用Apache ShardingSphere简答实现水平分表
Apache ShardingSphere 是一款分布式的数据库生态系统, 可以将任意数据库转换为分布式数据库,并通过数据分片、弹性伸缩、加密等能力对原有数据库进行增强。官方网站。
2023-06-18 08:39:46 355
原创 Flask中使用Flask-WTF验证JSON对象参数
Flask-WTF是对WTForms库的扩展,默认只对”form“标签下的表单进行验证。针对当前前后端分离的项目中,json传输参数需要进行二次封装才能使用。
2023-06-04 23:05:02 1030
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人