- 博客(304)
- 收藏
- 关注
原创 协同过滤算法(Collaborative Filtering, CF)
它不需要依赖物品本身的内容特征(如笔记的文字、图片),也不需要用户的显式属性(如年龄、职业),仅通过 “用户 - 物品” 的互动行为数据即可工作。
2025-09-29 17:45:28
872
原创 【知识】 requests 库中的 Session 类
Session 是 requests 库提供的一个高级接口,用于在多个HTTP请求之间保持状态和连接。
2025-09-16 10:44:32
403
原创 力扣704. 二分查找
类型的最大表示范围(如32位整型范围约为 -2,147,483,648 到 2,147,483,647),从而产生整数溢出,导致结果变成负数或错误值。,这三个数值都不会溢出。实际上这两种计算方式数学上是等价的,但后者避免了。因此,这种写法是二分查找中计算中点时常用的防溢出安全写法。都是很大的整数,它们相加可能会超过。,这一步不会超过整数范围(因为。),再除以2,最后加上。可能带来的溢出风险。
2025-09-11 15:16:33
273
原创 在工程落地项目中FastAPI的挂起方式
创建服务文件 /etc/systemd/system/fastapi.service。# 创建 ecosystem.config.js。# 安装 gunicorn。
2025-09-02 10:54:27
670
原创 多线程并发
若需并发,请在应用内用队列/协程控制多并发解决方案给你两种简单好用的并发控制方案,避免开多 worker 占满显存、又能保证 SSE 正常流式输出。
2025-08-20 18:15:39
568
原创 两种启动方式
python survey_service.pynohup python -u survey_service.py > zongshu$(date +%Y%m%d).log 2>&1 &
2025-08-06 16:13:54
263
原创 【无标题】
的基础上,对每个子向量进行压缩(Product Quantization)这是最常用的类型,用于文本、图像、语音等 embedding 向量。支持布尔表达式(=、>、<、in、!=、and、or、not)必须加向量索引,如 IVF_FLAT / DISKANN。✅ 多种索引(IVF, HNSW, DISKANN等)构建一种小世界图结构(近邻图),通过图遍历做高效搜索。自动建立和管理(推荐使用 AUTOINDEX)构建在标量字段上(如主键、标签、数值属性)FLAT、IVF_FLAT、HNSW等。
2025-07-27 16:42:12
789
原创 【Milvus合集】1.Milvus 的核心概念(collection、field、index、partition、segment)
Milvus 概念类比于传统数据库用途CollectionTable存放同类型的向量数据FieldColumn描述每条数据的内容Index索引提高查询速度Partition分区逻辑隔离 / 加速查询Segment数据块(隐藏)系统自动分片管理# 定义字段fields = [# 创建分区。
2025-07-27 15:35:56
997
原创 Milvus 实战全流程
Milvus 的核心概念(collection、field、index、partition、segment)✅ 如果你在做实际项目(如构建RAG知识库),我们可以重点讲第5~7部分;Milvus 和 Faiss、Annoy、HNSW 的区别。建立索引(IVF_FLAT、HNSW、DISKANN 等)搜索参数调优(metric type、nprobe、ef)分区(Partition)和分片(Shard)的使用。多副本部署、云端部署(Zilliz Cloud)插入、删除、查询、更新数据。
2025-07-27 15:14:45
390
原创 on-policy和offpolicy算法
理解这两者的区别,就能明白为什么PPO适合ChatGPT训练(稳定优先),而DQN适合游戏AI(数据复用优先)。:Actor-Critic框架下,用经验回放池(Replay Buffer)复用数据。你学自行车:必须自己骑(当前策略),摔了才能调整姿势,不能靠看别人骑车来改进。你学做菜:看菜谱视频(他人策略数据),不用每看一次就自己做一遍。:通过裁剪机制限制更新幅度,但仍需当前策略的数据。:更新一次策略后,旧数据立即失效,必须重新采样。:蒙特卡洛策略梯度,纯靠当前策略的完整轨迹更新。
2025-07-13 14:55:39
751
原创 JSON Schema 验证 API 响应的核心概念与实战指南
JSON Schema 是一种用于描述和验证 JSON 数据结构的规范,类似于数据格式的“合同”。"required": ["user_id", "name", "email"], // 必填字段。"format": "email" // 必须符合邮箱格式。"minimum": 0 // 年龄不能为负数。:直接捕获字段缺失或类型不符,而非在业务逻辑中崩溃。:例如,订单金额应为数字,若API返回字符串。:确保API升级时,新旧版本的数据结构一致。(如字符串、数字、布尔值)
2025-07-02 14:49:32
999
原创 Schema 的定义与核心概念
是一种结构化数据的描述规范,用于明确定义数据的组织方式、字段类型、格式约束和关系规则。简单来说,它是数据的“蓝图”或“说明书”,确保数据在生成、传输、存储和使用时符合预期标准。"date": "2023-09-20", // 必须符合 YYYY-MM-DD 格式。:Agent 调用外部 API 时,需确保生成的参数符合目标接口的 Schema。"departure_city": "北京", // 必须为字符串。定义表结构、字段类型(如整数、字符串)、主键、索引等。例如:MySQL 的。
2025-07-02 14:28:27
731
原创 Ubuntu 安装并使用 Elasticsearch
安装一个兼容 Elasticsearch 7.x 版本的 elasticsearch 库。我将指定 elasticsearch<8 来确保安装 7.x 系列的最新版本。Elasticsearch 不允许以特权用户(root)身份直接运行,您需要创建一个非 root 用户来运行 Elasticsearch。请运行以下命令,将 /root/elasticsearch-7.11.1 目录及其所有内容的拥有者更改为 esuser。再启动两个 Elasticsearch 实例,你就能看到典型的多节点集群行为。
2025-06-15 12:42:43
859
原创 RAG Food Project
如需 GPU 版 faiss,可用 faiss-gpu 替换 faiss-cpu,但一般 faiss-cpu 兼容性更好。
2025-06-12 20:37:03
465
原创 RAG检索前处理
下面这一段代码(有自定义)使用了自定义的提示模板(PromptTemplate)和输出解析器(LineListOutputParser),而第一段代码只使用了MultiQueryRetriever.from_llm的默认设置。-----------------------------(到此构建向量数据库完成)------------------------------(到此sql生成完成)d. 检索增强(RAG 检索上下文,选出正确的Schema示例)b. 示例对注入(构建 Q→SQL 知识库)
2025-06-12 10:30:12
1154
原创 向量数据库
规模与性能超大规模(108+ )、高并发:Milvus、Vespa、Pinecone中小规模(<107 ):Qdrant、Weaviate、Redis运维成本零运维:Pinecone、MongoDB Atlas、Weaviate (Cloud)自研可控:Milvus、FAISS、Vespa功能侧重多模态 Any - to - Any:Weaviate、OpenSearch复杂过滤 & 混合检索:Qdrant、Elasticsearch。
2025-06-10 12:11:52
1178
原创 向量嵌入技术(中)
其中 BGE 为 BAAI General Embedding(智源通用嵌入模型 ),M3 代表 Multi - Functionality(多功能性 )、Multi - Linguality(多语言性 )、Multi - Granularity(多粒度性 ) ,该模型由北京智源人工智能研究院开发,是具备多语言、多功能、多粒度特征的语义向量模型。• 多语言性(Multi-Linguality):BGE-M3模型支持超过100种语言,具备强大。多向量检索3种功能,能够灵活应对不同的检索需求。
2025-06-08 10:53:16
610
原创 向量嵌入技术(上)
(Text Embedding Models)性能的综合性排行榜。它由Hugging Face团队推出,旨在提供一个标准化的评测体系,帮助研究者和开发者比较不同嵌入模型在多种任务上的表现。(Massive Text Embedding Benchmark,大规模文本嵌入基准测试)是一个用于评估。代码模型还是chat模型等方面的考量。开源模型Stella。
2025-06-08 09:53:18
366
原创 文本切块技术(Splitter)
将长文本分解成适当大小的片段,以便于嵌入、索引和存储,并提高检索的精确度。可以从模型card和config文件中得知。通过子文本块检索父文本块。上下窗口为3的滑动窗口。从摘要到细节的文档索引。
2025-06-07 21:16:05
566
原创 数据导入技术(文档加载)
print(f'父元素 - {parent.metadata["category"]}: {parent.page_content}')setup_docs.append((current_parent, doc)) # 将父元素和子元素一起存储。current_parent = doc # 更新当前父元素。# current_parent = None # 用于存储当前父元素。# parent_id = None # 初始化 parent_id。# 检查是否是 Title 或 Table。
2025-06-07 17:03:40
797
原创 通过模型文件估算模型参数量大小
"target_modules": ["q_proj", "v_proj"], // 目标模块。"base_model_name_or_path": "llama-7b" // 基础模型。"r": 8, // LoRA秩。假设基础模型为LLaMA-7B(隐藏层维度=4096),LoRA仅作用于。总参数量 = 65,536 × 2模块 =与文件大小不符,说明实际可能是。
2025-06-04 22:27:08
562
原创 psycopg2-binary、pgvector、 SQLAlchemy、 PostgreSQL四者的关系
安装依赖:pip install sqlalchemy psycopg2-binary pgvector。,共同实现 PostgreSQL 数据库的常规操作和向量检索能力。# SQLAlchemy 模型定义(需 pgvector 的 Vector 类型):适合中小规模(百万级向量)、已使用 PostgreSQL 的场景。# 3. 定义模型(SQLAlchemy + pgvector)PostgreSQL 通过 pgvector 执行向量计算。:适合超大规模(十亿级)、需要分布式和高级向量功能的场景。
2025-06-04 20:50:54
1505
原创 下载并运行自制RAG框架
通过 Ubuntu 的默认软件源安装,但这种方式安装的版本可能较旧(建议后续通过。:指定服务端口为 8001(默认是 8000)。并安装依赖项的步骤说明。实例(FastAPI 应用对象)。:开发模式,代码修改后自动重启服务。服务启动后,可通过浏览器或工具(如。,并初始化一个前端项目的步骤记录。表示当前已安装的 npm 版本是。的虚拟环境目录,隔离项目依赖。、Postman)访问 API。用户进入前端项目目录后运行了。
2025-06-03 09:43:35
1027
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅