Tendis实现
Tendis冷热混合存储方案
技术实现原理
采用异步写回方案同步redis中的数据到后端tendisPlus(基于rocksdb)组件。通过订阅redis的aof日志将数据通过kafka异步写到后端tendisPlus
缓存中保存全量key,数据淘汰到tendisPlus仅仅驱逐value,key还在reidis中。当某个key过期时,redis中触发淘汰,会在aof日志中有一条del记录,通过这条记录删除tendisPlus中的值。设置value-eviction-time值为7,表示7天未访问,会被驱逐到tendisPlus中。
读数据
从 Redis 读取数据 。
如果命中,那么就将数据返回给应用程序。
如果redis中key不存在,则返回数据不存在
如果未命中(key存在但数据已落地),阻塞当前客户端, Redis 负责将 Key 从 Tendisplus 中恢复,然后返回给用户。
写数据
写入 Redis 缓存,成功后返回。
后台异步回刷,将数据持久化到后端 Tendisplus。
监听写入速度,和redis落地和redis差距很大,则阻塞写
潜在常见问题
...
RAG应用
RAG应用
一、RAG简介
目前实现 RAG 的主流框架就是 LangChain 和 LlamaIndex,LangChain 更适合需要复杂对话流程、上下文管理、以及多步骤任务的应用场景,如聊天机器人、任务自动化等。LlamaIndex 当应用场景主要涉及大量数据的快速检索和查询时,LlamaIndex更加适用,如企业知识问答系统、文档搜索引擎等。
二、llamaIndex构建RAG服务
LlamaIndex最初被称为GPT Index, 后来大语言模型的快速发展,改名为LlamaIndex。它就像一个多功能的工具,可以在处理数据和大型语言模型的各个阶段提供帮助
首先,它有助于“摄取”数据,这意味着将数据从原始来源获取到系统中。其次,它有助于“结构化”数据,这意味着以语言模型易于理解的方式组织数据。第三,它有助于“检索”,这意味着在需要时查找和获取正确的数据。最后,它简化了“集成”,使您更容易将数据与各种应用程序框架融合在一起。
首先安装llamaIndex
1pip install llama-index llama_index.llms.ollama llama_index. ...
大模型意图选择
大模型意图识别
一、意图识别传统方法
过去为了识别用户意图,可以使用训练的方式,或者使用prompt
1.1 微调大模型识别指令
1.2 通过prompt指导大模型识别指令
可以使用如下prompt:
1234567891011121314151617### 背景有两个API接口:1. 下单API:支持传入商家名称、商品名称。2. 搜索API:支持传入地点与距离进行搜索,API会返回外卖商家和商品列表。### 要求根据输入的文本,需要决定是否调用API,调用哪个API并生成对应的查询结构体。回答的时候给出: 1.下一步动作(action) 2.是否调用和调用哪个API 3.回复语句 4.查询结构体。### 示例问题:我在新街口,想吃20元左右的黄焖鸡。答案:{ action: 'call', api: 2, params: ['新街口’, 20, '黄焖鸡']}问题: 好的,我想吃杨铭宇黄焖鸡答案:{action: 'call', api: 1, params:['' ...
pytorch导学,bert分类
pytorch导学:bert分类
数据集
数据来源:今日头条客户端 ;数据规模:共382688条,分布于15个分类中。每行为一条数据,以_!_分割的个字段,从前往后分别是 新闻ID,分类code(见下文),分类名称(见下文),新闻字符串(仅含标题),新闻关键词。原始数据集格式如下:
1234567891011tail -n 10 toutiao_cat_data.txt# 6554596645437178371_!_104_!_news_finance_!_百万亏损中悟出的交易之道_!_齐威王,田忌赛马,忌讳,同龄人,交易者,好朋友,做交易,股民,股票市场,田忌# 6554627652047602190_!_107_!_news_car_!_这款合资车曾比朗逸还火 现在却成功“跳楼” 售价仅为8万!_!_科鲁兹,小轿车,雪佛兰,大众朗逸,SUV# 6554357384574140676_!_107_!_news_car_!_汽车防撞梁对安全的意义大吗?_!_# 6554661690015744516_!_107_!_news_car_!_精致实用,这辆房车专为行家准备_!_车内,C20 ...
pytorch基础:FashionMNIST时装分类
pytorch基础:FashionMNIST时装分类
环境搭建
安装指定pytorch版本:old pytorch version
12condatorch==2.0.1+cu117, torchvision==0.15.2
数据集
我们这里的任务是对10个类别的“时装”图像进行分类,使用FashionMNIST数据集。 上图给出了FashionMNIST中数据的若干样例图,其中每个小图对应一个样本。
FashionMNIST数据集中包含已经预先划分好的训练集和测试集,其中训练集共60,000张图像,测试集共10,000张图像。每张图像均为单通道黑白图像,大小为28*28pixel,分属10个类别。
加载数据
加载数据主要通过构造Dataset结构,该结构体继承自torch.utils.data.Dataset,其中提供了一个函数__getitem__,用于根据index获取数据集中的元素。另外还需实现__len__用来返回数据集元素个数
对于这个时装分类,可以用pytorch封装好的Dataset,该对象会自动去下载数据集。
1234567891011121314import t ...
redis基础知识
redis基础知识
redis数据结构
五种常用数据结构:string, hash, list, set, zset
十种底层数据结构: ziplist(压缩链表)
hash结构
Redis在存储hash结构的数据,为了达到内存和性能的平衡,也针对少量存储和大量存储分别设计了两种结构,分别为:
ziplist:压缩列表,当hash达到一定的阈值时,会自动转换为hashtable结构
listpack:紧凑列表,在Redis7.0之后,listpack正式取代ziplist。同样的,当hash达到一定的阈值时,会自动转换为hashtable结构
hashtable:哈希表,类似map
从ziplist/listpack编码转换为hashTable编码是通过判断元素数量或单个元素Key或Value的长度决定的:
hash-max-ziplist-entries:表示当hash中的元素数量小于或等于该值时,使用ziplist编码,否则使用hashtable编码。ziplist是一种压缩列表,它可以节省内存空间,但是访问速度较慢。hashtable是一种哈希表,它可以提高访问速度,但是占 ...
bert详解
bert详解
huggingface中的模型
huggingface中的模型定义的基本结构如下:
123456789101112131415161718192021222324def _forward_unimplemented(self, *input: Any) -> None: raise NotImplementedError(f"Module [{type(self).__name__}] is missing the required \"forward\" function")class Module: def __init__(self) -> None: self.basename = "BaseModel" def __call__(self, *args: Any, **kwds: Any) -> Any: print(f"now you call __call__,params={args} ...
腹肌锻炼
腹肌锻炼
一、减脂期
减脂遵循的原则是“七分吃、三分练”
再好的运动,都没有控制饮食摄入对减脂来的有效,控制饮食是最重要的减脂方式。
目标: 体脂率控制在15%以下(女性20%)
1.1 饮食减脂
基本原理:
晚餐特别要减少碳水摄入
碳水:蛋白质:脂肪=5:4:1
按主食、蛋白质、水果蔬菜三大类,每一类每顿在一拳的分量。
1.1.1 食物分析之–碳水
“好碳水”结构相对复杂,富含纤维素、维生素和矿物质,能量相对较低,在消化过程中分解较慢,血糖生成指数较低,对血糖的影响较小,是不易消化的淀粉,还有一个名词叫“抗性淀粉”。抗性淀粉消化困难,进入结肠,可为肠道里的益生菌提供营养;由于吸收和进入血液缓慢,所以有助于糖尿病患者维持正常的血糖,减少饥饿感。
燕麦、白豆、小扁豆、土豆、鹰嘴豆、薏米、全麦面食、糙米等富含抗性淀粉,蔬菜和水果富含纤维素,同时含有一定的碳水化合物,也可视为“好碳水”。这类食物通常为绿色,即为绿色碳水化合物,让你容易感到吃饱了,并能减缓胃部排空的时间,还可以为人体提供维生素和矿物质
“坏碳水”结构相对简单,富含高热量,同时纤维素、维生素和矿物质的含量低,能在消化过程中迅 ...
huggingface镜像站使用
一、Huggingface镜像站的使用方法
使用Huggingface镜像站非常简单,只需要按照以下步骤进行设置即可:
安装依赖:首先,确保你的计算机上已经安装了pip这个Python包管理工具。然后,通过以下命令安装huggingface_hub和hf_transfer这两个库:
1pip install -U huggingface_hub hf_transfer
如果你想使用清华源加速下载,可以加上-i https://pypi.tuna.tsinghua.edu.cn/simple参数:
1pip install -U huggingface_hub hf_transfer -i https://pypi.tuna.tsinghua.edu.cn/simple
设置环境变量:接下来,设置环境变量HF_ENDPOINT为Huggingface镜像站的地址:
1export HF_ENDPOINT=https://hf-mirror.com
这样,后续的命令就会使用这个镜像站点而非Huggingface的主仓库。
下载模型:现在,你可以使用huggingface-cli命令来下载模 ...
hexo butterfly常用设置
hexo butterfly常用美化配置