个人电脑本地部署LLM

本文介绍了开源框架Ollama,用于本地部署大型语言模型,提供一键安装和模型运行的便捷性。同时提及了微软的Phi-2小规模语言模型,虽然参数较少但性能出色。文章还列出了Ollama的常用命令,以及其他本地部署LLM的方法和参考资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

普通电脑配置即可本地运行大模型,本地部署LLM最简单的方法

OLLAMA

Ollama是一个开源框架,专门设计用于在本地运行大型语言模型(LLM)。它的主要功能是在Docker容器中部署和管理LLM,使得在本地运行大模型的过程变得非常简单。Ollama通过简单的安装指令,允许用户执行一条命令就能在本地运行开源大型语言模型,例如Llama 2。

Ollama的特点包括:

  • 开箱即用:用户可以通过一条命令快速启动模型。
  • 可扩展性:支持导入更多的自定义模型,与多种工具集成使用。
  • 轻量化:不需要太多资源,适合在个人电脑上运行。

Ollama支持的平台包括Mac、Linux和Windows,并提供了Docker镜像。对于Mac和Windows用户,可以直接下载安装包进行安装。Linux用户则可以通过一键安装命令进行安装。

使用Ollama后,用户可以在本地机器上轻松构建和管理LLMs,访问和运行一系列预构建的模型,或者导入和定制自己的模型,无需关注复杂的底层实现细节。这为希望在本地环境中探索和开发基于LLM的应用的开发者提供了便利。

Phi2

Phi-2是微软发布的一款小型语言模型,它拥有27亿参数,相比于其他大型语言模型(LLM)如GPT-3的1750亿参数,Phi-2的参数更少,训练更快。尽管规模较小,Phi-2在多个基准测试中展现出了卓越的性能,这些测试评估了模型在推理、语言理解、数学、编码和常识能力方面的表现。

Phi-2是基于Transformer架构的,它在处理NLP和编码领域的综合合成数据集和Web数据集时,共训练了1.4T个令牌。该模型在96个A100 GPU上训练了14天。值得注意的是,Phi-2没有经过基于人类反馈的增强学习(RLHF)的校准,也没有进行指导性的微调。在评估中,Phi-2在复杂的多步推理任务中优于规模大25倍的模型,甚至在某些测试中超过了Google最近发布的Gemini Nano 2的性能。

Phi-2的训练数据包括专门用于教授模型常识推理和通识知识的合成数据集,以及经过精心挑选和过滤的Web数据。这些数据的选择侧重于教育价值和内容质量,以提高模型的性能和安全性。

Phi-2的局限性包括生成不准确的代码和事实、对指令的不可靠响应、语言限制,以及潜在的社会偏见。因此,尽管Phi-2可用于各种研究,如可解释性、安全性改进或微调实验,但在使用时需要保持谨慎和批判性思维。Phi-2只能用于研究目的,不支持商业用途

安装Ollama

下载ollama
安装后打开ollama
终端中使用命令操作即可

部署llama2

ollama run llama2

在这里插入图片描述

部署Phi2

ollama run phi:2.7b-chat-v2-fp16

在这里插入图片描述

ollama常用命令

以下是一些Ollama常用命令:

  1. ollama run <model_name>:运行指定名称的模型。例如,ollama run llama2会启动Llama 2模型。

  2. ollama list:列出所有可用的模型。

  3. ollama show <model_name>:显示指定模型的详细信息。

  4. ollama create <model_name>:从一个Modelfile创建一个新模型。

  5. ollama pull <model_name>:从模型注册表中拉取指定模型。

  6. ollama push <model_name>:将指定模型推送到模型注册表。

  7. ollama cp <source_model> <destination_model>:复制一个模型到另一个模型。

  8. ollama rm <model_name>:删除指定模型。

其他本地部署LLM方法

参考文档

  • Hugging Face and Transformers
  • LangChain
  • Llama.cpp
  • Llamafile
  • GPT4ALL

API调用脚本

使用python调用api,方便实现各种功能的AI化,比如linux错误日志询问等等。

#!/usr/bin/python3
#coding: utf-8

from ollama import Client
import time 
 
def stream_chat(prompt: str, model_name: str = "deepseek-r1:7b"):
    """
    Ollama流式聊天接口调用 
    :param prompt: 用户输入的对话内容 
    :param model_name: 使用的模型名称(默认中文版llama3)
    """
    try:
        # 创建消息列表(支持多轮对话扩展)
        messages = [
            {"role": "user", "content": prompt}
        ]
        
        # 发起流式请求 
        client = Client(host='http://10.1.1.1:11434')  
        stream = client.chat( 
            model=model_name,
            messages=messages,
            stream=True,  # 启用流式传输 
            options={
                "temperature": 0.7,  # 控制生成随机性(0-1)
                "num_ctx": 2048      # 上下文窗口大小 
            }
        )
        
        # 处理流式响应 
        full_response = ""
        print("AI正在生成:", end="", flush=True)
        for chunk in stream:
            # 提取内容并实时输出 
            content = chunk.get('message',  {}).get('content', '')
            if content:
                print(content, end="", flush=True)
                full_response += content 
            time.sleep(0.02)   # 控制输出节奏 
        
        return full_response 
        
    except Exception as e:
        print(f"\n接口调用失败: {str(e)}")
        return None 
 
if __name__ == "__main__":
    # 示例调用 
    while True:
        user_input = input("Enter a prompt: ")
        if user_input:
            response = stream_chat(user_input)
            print(f"\n完整响应:\n{response}")
            print('\n\n')
        else:
            print("\n请输入有效的提示信息.")
        

### 本地部署 LLM 大语言模型的方法和工具 #### 方法概述 为了实现本地部署大语言模型 (LLM),通常需要考虑硬件配置、软件环境以及具体的框架或工具支持。根据不同的需求和技术背景,可以选择合适的工具来完成这一目标。以下是几种常见的方法: 1. **使用专用工具简化部署流程** Ollama 是一种专门为简化本地运行大语言模型而设计的开源工具[^1]。它允许用户通过简单的命令行操作即可下载并启动多个主流的大语言模型,例如 DeepSeek 14B、Llama 系列等。 2. **基于成熟库进行自定义开发** 如果希望更深入地控制模型的行为或者对其进行微调,则可以采用像 Hugging Face 的 Transformers 这样的强大库[^3]。该库不仅涵盖了广泛的预训练模型集合,还提供了丰富的 API 接口以便于调整参数设置以满足特定应用场景的需求。 3. **针对不同设备优化的选择** 对于资源受限的情况比如仅依赖 CPU 来执行推断任务时,推荐使用 llama.cpp ,这是一个专门针对效率进行了高度优化后的 C++ 版本实现方案;而对于拥有高性能 GPU 设备的情形下则更适合选用 vLLM —— 它通过对内存及计算单元的有效调度从而达到最佳性能表现效果. #### 工具介绍 - **Ollama**: 开源项目,旨在让每个人都能轻松地在其个人电脑上测试最新的AI技术成果。只需几条指令就能完成整个过程——从获取所需文件到正式启动服务端监听等待客户端请求接入为止全部自动化处理完毕. - **HuggingFace Transformer Library**: 提供了一个统一入口访问几乎所有的知名NLP领域内的先进算法及其对应的权重数据集,并且内置了许多实用功能模块帮助加速研究进度的同时也降低了入门难度水平. - **VLLM Framework**: 高效推理引擎之一,在多卡分布式环境中表现出色尤其当面对超大规模网络结构时候能够充分利用现有硬件设施的优势最大化吞吐量指标值. - **Stable Diffusion & Others**: 尽管主要应用于视觉创作方向但也逐渐扩展到了跨模态交互范畴内成为连接文字描述与图形表达之间桥梁的重要组成部分之一. --- ```bash # 使用Ollama安装DeepSeek模型实例 brew install ollama # macOS平台下的安装方式 ollama pull deepseek/... # 下载指定版本号的具体型号 ollama run ... # 启动对应的服务进程 ``` ```python from transformers import pipeline nlp = pipeline('text-generation', model='bigscience/bloom') result = nlp("Once upon a time", max_length=50) print(result) ``` --- ### 注意事项 在实际操作过程中还需要注意以下几点: - 硬件条件是否达标直接影响最终体验质量; - 不同工具有各自适用场景需结合具体业务逻辑做出合理判断选取最恰当的那个选项; - 数据安全性和版权归属等问题同样不可忽视应当遵循相关规定合法合规开展各项工作活动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值