一、环境是python去直接拉模型运行
https://www.anaconda.com/download/success chmod +x Anaconda3-2024.10-1-Linux-x86_64.sh
./Downloads/Anaconda3-2024.10-1-Linux-x86_64.sh
conda create -n DeepseekR1 python=3.12 -y --override-channels -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda activate DeepseekR1
#初始化su的密码
sudu passwd
#安装vim编辑器
sudo apt install vim
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
pip install upgrade pip
pip install modelscope==1.22.3
pip install openai==1.61.0
pip install tqdm==4.67.1
pip install transformers==4.48.2
pip install vllm==0.7.1
pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 --index-url https://download.pytorch.org/whl/cu121
#测试是否安装完成
python -c “import torch; print(torch.cuda.is_available())”
二、代码示例
vim model_download.py
编辑下载文件,从魔塔社区找到文件路径
from modelscope import snapshot_download model_dir = snapshot_download(‘OPEA/DeepSeek-R1-distill-Qwen-32B-int4-sym-inc’, local_dir = ‘DeepSeekR1/DeepSeek-R1-distill-Qwen-32B’, revision = ‘master’)
python model_download.py
相关命令参数含义
--host 和 --port 参数指定地址。
--model 参数指定模型名称。
--dtype 模型权重和激活的数据类型,常用的为bfloat16,不指定为auto,这里为float16 --chat-template 参数指定聊天模板。
--served-model-name 指定服务模型的名称。
--max-model-len 指定模型的最大长度。
--tensor_parallel_size 张量并行数(用几张卡跑)
--gpu-memory-utilization 模型GPU利用率,未指定为0.9,长期稳定0.9,不会以为你的模型参数大或小而变化
--enable-prefix-caching 启用自动前缀缓存,可以避免在多次推理时重复计算相同的前缀
CUDA_VIDIBLE_DEVICES=0,1 \
python -m vllm.entrypoints.openai.api_server \
--model /home/lyq/DeepSeekr1/DeepSeekR1-32B \
--served-model-name DeepSeek-R1-32B \
--api-key 8888888-8888888-8888888-8888888 \
--max-model-len=4096 , \
--host 0.0.0.0 \
--port 8686
三、介绍anythingLLM
AnythingLLM并不是单纯的向量数据库,而是一个集成向量数据库的LLM(大型语言模型)应用框架。
一、核心定位与技术架构
框架性质
AnythingLLM是一个端到端的私有化AI应用开发平台,支持文档管理、模型微调、对话系统构建等功能。其核心能力在于将LLM与知识库结合,实现基于RAG(检索增强生成)的智能问答。
向量数据库的角色
AnythingLLM依赖向量数据库存储和处理数据,但自身并非数据库引擎。用户可灵活选择底层向量数据库(如LanceDB、Chroma、Milvus等),默认使用内置的LanceDB数据流程:上传文档 → 分块 → 向量化 → 存入向量数据库 → 检索增强生成
二、与纯向量数据库的关键差异
三、技术实现细节
向量化流程
嵌入模型:将文本转换为向量(如使用OpenAI或本地模型)
分块策略:通过算法将长文档分割为可管理的片段
存储优化:利用向量数据库索引加速检索(如HNSW算法)
典型部署场景
graph LR
A[用户文档] --> B(AnythingLLM分块/向量化)
B --> C{向量数据库}
C --> D[LLM推理]
D --> E[用户交互界面]
四、常见误解澄清
网页1的表述问题:网页1将AnythingLLM称为“向量数据库解决方案”可能引起歧义
,但根据更全面的技术文档(如网页3、网页5),其本质是以向量数据库为组件的应用框架
功能边界:AnythingLLM的价值在于将LLM与向量检索无缝集成,而非替代专用向量数据库。
五、实际应用建议
数据库选型
轻量级需求:默认LanceDB(内置,无需额外配置)
企业级扩展:选用ChromaDB或Milvus(支持分布式部署)
性能优化
调整分块大小(建议512-1024 tokens)
启用GPU加速嵌入模型推理