模型
模型管理平台:ollama
ollama的模型路径
默认情况下,ollama模型的存储目录如下:
macOS: ~/.ollama/models
Linux: /usr/share/ollama/.ollama/models
Windows: C:\Users\<username>\.ollama\models
ollama的配置文件
ollama修改模型的位置
系统环境变量增加 OLLAMA_MODELS
别的机器监听地址需要改成0.0.0.0
不然会出现networkerror
maxkb
当maxkb和ollama部署在同一台主机上时
maxkb中可以配置的ollama地址:http://host.docker.internal:11434
, 访问宿主机的ip端口
ollama模型的支持长度
查看ollama模型的版本
ollama show llava:34B
查看ollama的版本
ollama -v
调用ollama的时候使用apikey
ollama vs vllm
vllm有paged attention,如果prefix相同会只算一份,kv占的显存也只一份
模型微调
TODO
其他模型
- ai语音模拟生成
- ai音频解析
- ai音频解析
从hugging face上下载模型
linux设置镜像:export HF_ENDPOINT=https://hf-mirror.com
Windows设置镜像:set HF_ENDPOINT=https://hf-mirror.com
下载模型:
huggingface-cli download InstantX/InstantID --local-dir ./checkpoints
mteb排行榜
向量模型
TencentBAC/Conan-embedding-v1
HuggingFace Embedding 转为 Ollama Embedding
多模态模型
llava
coder模型
deepseek-coder
LLM模型
qwen2.5
模型排行
qwen模型的版本区别
特性 | Qwen-2.5-14B | Qwen-2.5-14B-Instruct |
---|---|---|
用途 | - 这是一个通用的大型语言模型,适用于各种自然语言处理任务,如文本生成、翻译、问答等。<br> - 它在大规模的文本数据上进行了预训练,能够生成高质量的文本。 | - 这是一个经过指令微调的版本,专门用于理解和执行特定的指令。<br> - 它在通用语言模型的基础上,增加了对指令的理解和执行能力,使其更适合处理指令式的任务,如生成特定格式的文本、回答特定类型的问题等。 |
训练方式 | - 这个版本主要通过无监督学习的方式在大规模的文本数据上进行预训练。<br> - 它通过预测下一个词或掩码词的任务来学习语言的结构和模式。 | - 这个版本在通用语言模型的基础上,进行了指令微调。<br> - 微调过程中,模型会接触到大量的指令-响应对,从而学会如何根据指令生成相应的输出。这种微调使得模型在处理特定任务时更加高效和准确。 |
应用场景 | - 适用于广泛的自然语言处理任务,如文本生成、翻译、摘要、情感分析等。<br> - 它在这些任务中表现出色,但可能在处理特定指令时不如 Qwen-2.5-14B-Instruct 那么精确。 | - 特别适合处理指令式的任务,如生成特定格式的文档、回答特定类型的问题、完成特定的编辑任务等。<br> - 它在这些任务中表现更为出色,能够更准确地理解用户的意图并生成相应的输出。 |
性能 | - 在通用任务上表现出色,但由于没有专门的指令微调,可能在处理特定指令时表现稍逊一筹。 | - 在处理特定指令时表现更佳,能够更准确地理解指令并生成高质量的输出。 |
总结:Qwen-2.5-14B 是一个通用的大型语言模型,适用于各种自然语言处理任务。<br>
Qwen-2.5-14B-Instruct 是在通用模型基础上经过指令微调的版本,特别适合处理指令式的任务。
选择哪个版本取决于你的具体需求。如果你需要一个通用的模型来处理多种任务,可以选择 Qwen-2.5-14B。如果你的任务涉及大量指令式的操作,建议使用 Qwen-2.5-14B-Instruct。
模型转化、量化
打标模型
图片的分类标签非常多样,可以根据不同的标准进行分类。例如,根据场景可以分为自然风光、城市街景、室内环境等;根据物体类型可以分为动物、植物、交通工具等;根据用途可以分为医学影像、遥感图像、艺术作品等。
一些常见的分类标签包括但不限于:
- 通用视觉类:如CIFAR-10、CIFAR-100、STL-10等 。
- 手写体&单通道类:如MNIST、Fashion-MNIST等 。
- 细粒度图像识别类:如SUN Attribute、Oxford-IIIT Pet等 。
- 自然界图像和场景类:如IP102、Places365等 。
- 遥感类:如EuroSAT、BigEarthNet等 。
- 医疗健康类:如HErlev、BBBC041等 。
- 科学教育类:如PlantVillage、PlantDoc等 。
- 艺术类:如iCartoonFace、KaoKore等 。
- 食物类:如Food-101、ECUSTFD等 。
- 生活场景类:如SVHN、Clothing1M等 。
此外,还可以根据图像的内容进行分类,如物体、场景、行为等,并返回对应的标签信息,例如花、鸟、鱼、虫、汽车、建筑等 。
对于具体的分类标签,可以通过查看相关的数据集资源来获取更详细的信息。例如,CSDN的博客文章分享了64个图像分类任务相关的热门公开数据集资源,并粗略分为10类,每个类别下都有具体的数据集和对应的标签信息 。此外,还可以参考TensorFlow Lite提供的图像分类模型,这些模型可以识别不同的类别,如兔子、仓鼠和狗等 。
如果想要查找更多的分类标签,可以访问一些提供图像分类数据集的网站,如Kaggle、Google TensorFlow等,这些平台通常会提供详细的标签信息和数据集下载链接。
用于发票识别的微调 Transformer 模型
TrOCR模型微调实战【微软光学字符识别】
llm应用平台
workflow平台推荐
RAG+AI工作流+Agent:LLM框架该如何选择,全面对比MaxKB、Dify、FastGPT、RagFlow、Anything-LLM,以及更多推荐
ragflow
npm下载时报错unable to verify the first certificate解决方法
在dockerfile中新加 npm config set strict-ssl false
Ollama 结合 maxkb做本地知识库
【教程】Windows系统本地部署Ollama+MaxKB安装教程
maxkb去掉社区版限制
索引时间测试
字符数 | 分段数 | cpu型号 | 时间 |
---|---|---|---|
738.6k | 1478 | i9 13900k | 5min |
738.6k | 1478 | CPU Intel Celeron J4125(DS920+) | 1.5h |
目录挂载
maxkb知识库:/var/lib/postgresql/data
向量模型:
推理模型:
RAG技术
检索增强生成(Retrieval-augmented Generation)
检索增强生成模型结合了语言模型和信息检索技术。具体来说,当模型需要生成文本或者回答问题时,它会先从一个庞大的文档集合中检索出相关的信息,然后利用这些检索到的信息来指导文本的生成,从而提高预测的质量和准确性。
稀疏检索(Sparse Retrieval)和稠密检索(Dense Retrieval)的区别
在信息检索领域,“稀疏”和“稠密”这两个形容词主要用来描述向量表示的特性。具体来说,它们形容的是向量的稀疏性和稠密性,即向量中非零元素的相对数量和分布情况。
稀疏(Sparse)
- 特点:稀疏向量中大多数元素是零,只有少数几个元素是非零的。换句话说,向量的绝大部分维度没有激活。
- 形象例子:假设有一个向量表示包含10,000个词汇的词汇表中的词频向量,如果一个文档中只有50个词出现,那么这个文档的词频向量将有9,950个零值和50个非零值。这个向量被称为稀疏向量。
- 用途:在稀疏检索中,比如使用TF-IDF或BM25算法,文档和查询通常表示为这种稀疏向量。它们明确地表示了文本中的具体词汇,但大多数词汇在单个文档或查询中是不存在的(值为零)。
稠密(Dense)
- 特点:稠密向量中大多数元素都是非零的,每个维度都有实际的数值。向量的每个维度都有值,虽然不一定是大的值。
- 形象例子:假设有一个向量表示包含768个维度的BERT嵌入,这个向量中的每一个维度通常都有非零值。尽管这些值的大小会有所不同,但几乎没有维度是完全零值的。这个向量被称为稠密向量。
- 用途:在稠密检索中,使用深度学习模型(如BERT、GPT)把文档和查询编码成这种稠密向量。这些向量捕捉了文本的复杂语义和上下文信息,尽管这些信息不是显式的词汇频率,但通过向量的形式隐式地表示出来。
小结
- 稀疏(Sparse):指向量中大部分维度是零,只有少数维度是非零。这类向量便于从高维数据中提取特定的显式特征,计算效率高。
- 稠密(Dense):指向量中大部分维度都是非零,每个维度都有实际值。这类向量捕捉到更多复杂的隐式信息,如上下文和语义,是丰富语义表示的结果。
这两个术语帮助区分了两种不同的向量表示方法的特性和适用场景。
参考文献
dify
OpenAPI Swagger标准是什么
OpenAPI Swagger标准是一个用于描述RESTful API的规范,它允许你以一种标准化的方式来创建、描述、调用和发现API。这个标准最初由Swagger规范发展而来,后来由OpenAPI Initiative(OAI)接管并继续发展,目前最新的正式版本是OpenAPI 3.0.0。
OpenAPI规范的主要特点包括:
- 机器可读:规范定义了一种机器可读的格式,允许工具能够读取API描述并执行各种操作,如生成文档、代码等。
- 人类可读:规范同样强调人类可读性,使得API的描述易于理解。
- 语言无关性:规范与具体的编程语言无关,可以用于描述任何语言实现的API。
- 丰富的功能:包括请求和响应的验证、参数传递方式等高级功能。
- 扩展性:规范支持通过”x-“前缀的字段进行扩展,以适应特定的需求。
OpenAPI文档通常以YAML或JSON格式编写,包含了API的详细信息,如API的路径、请求参数、响应参数、错误码等。文档的结构由以下几个主要部分组成:
- openapi:指定OpenAPI规范的版本。
- info:提供API的元数据,如标题、描述、版本等。
- paths:描述API的路径和操作(如GET、POST、PUT、DELETE等)。
- components:包含可重用的构件,如参数、响应、安全方案等。
- security:定义API的安全要求。
- tags:用于对API进行逻辑分组。
- externalDocs:提供对外部文档的引用。
使用OpenAPI规范,开发者可以更容易地理解API的工作原理,自动化工具可以根据规范生成文档、代码、测试脚本等,从而提高开发效率和API的可用性。此外,API管理平台和工具也广泛支持OpenAPI规范,使得API的管理和使用更加规范化和便捷化。
硬件
想自己组个或者4块A6000或者A100的服务器有点无从下手
ollama cpu占用高,gpu占用低
模型需要全部载入到gpu的缓存中,才能运行,而模型载入、推理时需要的显存如下
显存占用评估
如何选择GPU显卡,带你对比A100/H100/4090性价比、训练/推理该使用谁?
实测自己的ollama可以运行qwen72b,这是为什么?虽然layer载入是39/81,本机内存64GB。
chatGPT
chatgpt
MaxKB+Ollama
扣子工作流
ubuntu安装
1、在windows系统下,首先下载磁盘分区工具diskgenius并安装。
2、下载并安装 启动引导软件 easyUEFI (试用版)。
3、选择并下载合适的ubuntu版本。
4、使用diskgenius分出一个区,格式化为FAT32,并将ubuntu解压至这个盘里。
5、启动easyUEFI,新建一个启动项,选择刚解压的那个ubuntu,设置成第一个启动项,然后重启。
MISC
深度学习PyTorch,TensorFlow中GPU利用率较低,CPU利用率很低,且模型训练速度很慢的问题总结与分析
llama.cpp
编译llama.cpp出问题
我觉得版本不对,删掉了这个路径,为什么w64devkit还是回去这个目录去找。本地有一个cahe文件
代码详情
1 | -- The CXX compiler identification is unknown |
wsl-ubuntu安装
使用代理
export http_proxy=http://192.168.1.111:10810;
export https_proxy=http://192.168.1.111:10810;
cc: not found
安装gcc g++
sudo apt install gcc
sudo apt-get update
代码详情
1 | I LDFLAGS: |
ubuntu安装ananconda
apt install libgl1-mesa-glx libegl1-mesa libxrandr2 libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6
ollama输出不稳定
输出不可以复现是为什么,待补充
rag测试用例
curl如何设置代理,linux运维,## 使用代理