当前位置: 首页 > news >正文

大模型运行ollama、vllm、huggingface、modelscope

一、ollama

1.1 docker 方式

1.1.1 ollama启动

(1)拉取镜像

dockerpull ollama/ollama

(2)启动

dockerrun-d--restart=always--gpus=all-v/home/docker/ollama:/root/.ollama-p11434:11434--nameollama ollama/ollama# -v 是存储挂载,之后你使用ollama下载的模型权重都会保存早本地/home/docker/ollama路径下

(3)启动完成后,您可以通过访问 http://<您的IP地址>:11434/api/tags 来查看当前已下载的大模型列表。同时,通过访问 http://<您的IP地址>:11434/api/version 可以获取当前安装的 Ollama 版本信息。
请注意:

  • 在上述 URL 中,请将 <您的IP地址> 替换为您实际的服务器 IP 地址或域名。
  • 对于 Ollama 0.3.0 及以上版本,用户能够配置更多的高级选项,如多并发处理能力和模型后台运行的最大时长等。这些功能可以通过执行特定的命令来实现。
curlhttp://ip:11434/api/generate-d'{"model":"qwen2:7b","keep_alive": -1}'# 将qwen2:7b模型一直保持在后台

1.1.2 Open WebUI


(1)拉取 Open WebUI 镜像

dockerpull openwebui/open-webui

(2)运行 Open WebUI 服务

dockerrun-d-p8080:8080 --add-host=host.docker.internal:host-gateway-vopen-webui:/app/backend/data--nameopen-webui--restartalways ghcr.io/open-webui/open-webui:main

(3)访问 Open WebUI
打开浏览器,访问 http://ip:8080就能打开以上页面了。

这个是配置刚刚ollama的服务,保存之后就可以在下面的模型模块看到已有的模型

在模型管理模块中,您可以下载所需的模型(请注意,模型名称必须准确无误)。为了方便查找和选择合适的模型,您可以访问 Ollama 模型库。
完成模型下载后,您就可以开始与模型进行对话了。如果您想探索更多功能,建议搜索有关 Open WebUI 的使用教程,那里有详细的指南和技巧可以帮助您更好地利用这一工具。

二、huggingface、modelscope

2.1 huggingface方式

Hugging Face 是一个非常流行的开源平台,提供了大量的预训练模型和工具,使得开发者和研究人员可以轻松地使用和微调各种深度学习模型。本文将介绍如何在 Hugging Face 上运行大模型,并提供一些实用的技巧和注意事项。
前提条件:
(1)Python:建议使用 Python 3.7 或更高版本。
(2)Transformers 库:这是 Hugging Face 提供的核心库,包含了大量预训练模型。
(3)Torch 或 TensorFlow:根据您的需求选择其中一个深度学习框架。
由于官网需要科学上网的方式才能访问,所以推荐使用国内的镜像 https://hf-mirror.com

对应的每个大模型下都会有如何调用的方法:

代码默认的是使用官网下载大模型,我们可以直接使用以上的镜像网址在网页上进行下载

还有一种方式,直接使用命令的形式下载,配置方法如下

pipinstall-Uhuggingface_hub pipinstallhuggingface-cliexportHF_ENDPOINT=https://hf-mirror.com# 配置加速镜像huggingface-cli download --resume-download Qwen/Qwen2.5-1.5B-Instruct --local-dir /home/models/Qwen2.5-1.5B-Instruct

新版

hf download FunAudioLLM/SenseVoiceSmall --local-dir /data/zhx/pre_model/SenseVoiceSmall

2.2 modelscope方式

modelscope也是一个模型库,和huggingface的区别就是,modelscope是国内开发的,模型没有huggingface全面,但是大模型都会有。

使用方法一致,官网提供了调用方法

三、vllm

vllm 是一个用于高效运行和微调大型语言模型的框架。它提供了强大的功能和灵活的接口,使得开发者和研究人员可以轻松地管理和使用各种大模型。本文将详细介绍如何使用 VLLM 运行大模型,并提供一些实用的技巧和注意事项。
(1)配置环境
vllm对环境要求比较高,需要高版本的cuda(12以上),以下是我之前文章的片段:

(2)模型下载
使用 2.1 的方式下载想要运行的模型。
(3)运行

  • 使用命令的形式运行启动大模型服务
vllm serve Qwen/Qwen2.5-1.5B-Instruct --trust-remote-code
python-mvllm.entrypoints.api_server--model<model_name_or_path>
python-mvllm.entrypoints.api_server--modelgpt2--host0.0.0.0--port8080--tensor-parallel-size2

出现显卡精度与模型不对应时可以使用 --dtype half 来支撑

调用

importrequestsimportjson# Endpoint URLurl="http://localhost:8000/v1/chat/completions"# Headersheaders={"Content-Type":"application/json",}# Payloadpayload={"messages":[{"role":"system","content":"You are a helpful assistant."},{"role":"user","content":"Tell about Bitcoin."},],"model":"Qwen/Qwen2.5-1.5B-Instruct","stream":False,"max_tokens":2048,"stop":None,"frequency_penalty":0,"presence_penalty":0,"temperature":0.6,"top_p":0.90}response=requests.post(url,headers=headers,data=json.dumps(payload))result=response.json()content=result['choices'][0]['message']['content']print(content)
  • 使用代码的形式运行
fromvllmimportLLM,SamplingParamsdefgenerate_text(model_path,prompts):""" 使用 vllm 从指定模型生成文本 :param model_path: 模型的路径或名称 :param prompts: 用于生成文本的提示列表 :return: 生成的文本结果 """# 定义采样参数sampling_params=SamplingParams(temperature=0.8,# 控制生成文本的随机性,值越大越随机top_p=0.95,# 采样时考虑的概率阈值max_tokens=256# 生成的最大 token 数量)try:# 创建 LLM 对象,指定模型路径、数据类型、GPU 内存利用率和最大模型长度llm=LLM(model=model_path,dtype='half',# 使用 float16 数据类型,避免 Bfloat16 不支持的问题gpu_memory_utilization=0.9,# 提高 GPU 内存利用率max_model_len=51424# 限制最大模型长度以适应 KV 缓存)# 调用生成方法outputs=llm.generate(prompts,sampling_params)# 处理生成的结果results=[]foroutputinoutputs:prompt=output.prompt generated_text=output.outputs[0].text result={"prompt":prompt,"generated_text":generated_text}results.append(result)returnresultsexceptExceptionase:print(f"生成文本时出现错误:{e}")return[]if__name__=="__main__":# 示例提示列表sample_prompts=["介绍一下人工智能的发展历程","推荐几部经典的科幻电影","简述中国古代四大发明的意义"]# 替换为你实际的模型路径或名称model_path="/home/ws/store/zhx/pre_model/DeepSeek-R1-Distill-Qwen-1.5B"# 调用生成函数generated_results=generate_text(model_path,sample_prompts)# 打印生成的结果forresultingenerated_results:print(f"提示:{result['prompt']}")print(f"生成的文本:{result['generated_text']}")print("-"*50)
  • 代码启动服务
fromvllm.entrypoints.api_serverimportappimportuvicornif__name__=="__main__":model_name="gpt2"# 配置参数config={"model":model_name,"host":"0.0.0.0","port":8080,"tensor_parallel_size":2}uvicorn.run(app,**config)
http://www.jsqmd.com/news/1334584/

相关文章:

  • w2v-xls-r-uk性能测评:3.64% CER如何实现乌克兰语精准转写?
  • 2026年8月湖南省新化县专业靠谱质量好的全屋定制公司推荐新化铭品装饰:专业能力与成功案例综合评估 - 专业优选推荐榜
  • 如何使用CodeFlow快速可视化GitHub项目结构?5分钟上手教程
  • AI驱动网络钓鱼攻击演进:OAuth劫持与深度伪造防御策略
  • 从视频下载到智能学习:BiliTools如何重新定义B站内容消费体验
  • PoeCharm技术解析:流放之路BD构建的数据驱动方法
  • ExtensionPay.js终极指南:如何在1小时内为浏览器扩展添加支付功能
  • 从零搭建专属社区:Xiuno BBS 4.0 轻量级论坛的创意之旅
  • 3分钟搞定Codex技能安装:告别繁琐配置,一键提升AI生产力
  • springbootITS 信息平台的设计与实现
  • Falcon-TST_Large:革新性时间序列基础模型,融合MoE架构与多补丁分词器的终极指南
  • 从源码到实践:深入理解angular-chosen-localytics的实现原理与最佳实践
  • AI写产品评测实战手册(附17个真实对比测试数据+Prompt工程黄金清单)
  • YOLOv5矩形训练实战:高效处理长方形图像的目标检测优化策略
  • 如何自定义WysiHat工具栏?打造个性化编辑器界面的完整指南
  • ComfyUI-LTXVideo终极指南:如何在ComfyUI中快速搭建专业级AI视频生成环境
  • 长沙创艺怎么样?29年深耕,全国超120家直营门店——创艺装饰凭什么成为长沙业主的放心之选 - GrowUME
  • dmol-book框架选择深度解析:Jax vs PyTorch哪个更适合你的分子模型?
  • G-Helper技术深度解析:华硕笔记本性能管理的轻量化革命
  • 如何5分钟搞定Windows和Office永久激活:终极免费解决方案指南
  • 成都高新区网站建设:为何说好的官网是企业活下去的底气?
  • 从本地化到智能化:看海量化交易系统的架构演进与技术突破
  • 让你的Windows和Linux桌面拥有macOS般精致的鼠标指针体验
  • glTFast解决方案:Unity中高效加载与导出3D模型的深度实践指南
  • 开发者指南:基于Inkling-Small-mlx-4bit构建自定义多模态应用的完整流程
  • 爱普特APT支持定制除尘净化设备吗?定制除尘选购指南 - 全域品牌推荐
  • 留学生投 UI/UX 设计缺乏作品集?用 Design System 展现大厂架构力「蒸汽求职分享」
  • 2026云南医护人员想评职称?成人大专临床医学,老龄化社会需求爆发!怎么报名?联系方式是多少? - 最新资讯
  • 8月拿下校招Offer就能躺平到明年?聪明人已经悄悄上车了!
  • 重新定义通知服务:ntfy的HTTP原生消息推送架构