ollama部署本地大模型,Linux以及python调用

部署运行你感兴趣的模型镜像

导读

环境:oricle Linux 9.4、Windows 11、WSL 2、python 3.12.3、qwen2.5、ollama

背景:工作需要,测试本地部署与线上调用接口使用差别

时间:20241221

说明:本地测试apikey的接口,通过后,再调用部署本地接口

 一、本地调用接口

官方文档:阿里云百炼 - 示例代码 - 地址

import os
from openai import OpenAI

client = OpenAI(
    # 若没有配置环境变量,请用百炼API Key将下行替换为:api_key="sk-xxx",
    api_key=os.getenv("DASHSCOPE_API_KEY"), 
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
    model="qwen-plus", # 模型列表:https://help.aliyun.com/zh/model-studio/getting-started/models
    messages=[
        {'role': 'system', 'content': 'You are a helpful assistant.'},
        {'role': 'user', 'content': '你是谁?'}],
    )
    
# print(completion.model_dump_json())
# 此处改为返回ai的响应内容
print(completion.choices[-1].message.content)

响应如下:

(venv) [jack@Laptop-L14-gen4 test_img]$ /home/jack/test_img/venv/bin/python /home/jack/test_img/ollm_test.py
我是阿里云开发的一款超大规模语言模型,我叫通义千问。

二、本地部署大模型

1、Windows 安装 Linux子系统

Windows 安装Linux子系统 配置python3

2、安装ollama

sudo curl -fsSL https://ollama.com/install.sh | sh

 开始执行如下图(等待即可):

完成如下图:。。。暂略


3、启动ollama

       ollama serve

[jack@Laptop-L14-gen4 ~]$ ollama serve
2024/12/21 18:10:12 routes.go:1259: INFO server config env="map[CUDA_VISIBLE_DEVICES: GPU_DEVICE_ORDINAL: HIP_VISIBLE_DEVICES: HSA_OVERRIDE_GFX_VERSION: HTTPS_PROXY: HTTP_PROXY: NO_PROXY: OLLAMA_DEBUG:false OLLAMA_FLASH_ATTENTION:false OLLAMA_GPU_OVERHEAD:0 OLLAMA_HOST:http://127.0.0.1:11434 OLLAMA_INTEL_GPU:false OLLAMA_KEEP_ALIVE:5m0s OLLAMA_KV_CACHE_TYPE: OLLAMA_LLM_LIBRARY: OLLAMA_LOAD_TIMEOUT:5m0s OLLAMA_MAX_LOADED_MODELS:0 OLLAMA_MAX_QUEUE:512 OLLAMA_MODELS:/home/jack/.ollama/models OLLAMA_MULTIUSER_CACHE:false OLLAMA_NOHISTORY:false OLLAMA_NOPRUNE:false OLLAMA_NUM_PARALLEL:0 OLLAMA_ORIGINS:[http://localhost https://localhost http://localhost:* https://localhost:* http://127.0.0.1 https://127.0.0.1 http://127.0.0.1:* https://127.0.0.1:* http://0.0.0.0 https://0.0.0.0 http://0.0.0.0:* https://0.0.0.0:* app://* file://* tauri://* vscode-webview://*] OLLAMA_SCHED_SPREAD:false ROCR_VISIBLE_DEVICES: http_proxy: https_proxy: no_proxy:]"
time=2024-12-21T18:10:12.248+08:00 level=INFO source=images.go:757 msg="total blobs: 5"

 4、运行指定模型

(首次运行,自动下载模型)

 命令来源:ollama 官网 命令

[jack@Laptop-L14-gen4 ~]$ ollama run qwen2.5:0.5b
>>> 你是谁?
我是阿里云自主研发的超大规模语言模型,我叫通义千问。我已经知能突破1000亿,可以回答、创作和撰写文字内容,还能提供一些
专业知识解答、音乐、游戏等内容,以及像对话框这样的功能。如果您有任何问题或需要帮助,请随时告诉我!

>>> Send a message (/? for help)

三、python调用本地部署的大模型

 运行代码:

from openai import OpenAI

client = OpenAI(
    # 若没有配置环境变量,请用百炼API Key将下行替换为:api_key="sk-xxx",
    api_key="ollama", 
    base_url="http://localhost:11434/v1/",
)
completion = client.chat.completions.create(
    model="qwen2.5:0.5b", # 模型列表:https://help.aliyun.com/zh/model-studio/getting-started/models
    messages=[
        {'role': 'system', 'content': 'You are a helpful assistant.'},
        {'role': 'user', 'content': '你是谁?'}],
    )
    
print(completion.choices[-1].message.content)

响应结果

(venv) [jack@Laptop-L14-gen4 test_img]$ /home/jack/test_img/venv/bin/python /home/jack/test_img/ollm_test.py
我是来自阿里云的大规模语言模型,我被称为通义千问。我会根据你的问题生成回答。有什么我能为你服务的吗?
(venv) [jack@Laptop-L14-gen4 test_img]$ /home/jack/test_img/venv/bin/python /home/jack/test_img/ollm_test.py
我是来自阿里云的超大规模语言模型,我叫通义千问。如果您有任何问题或需要任何帮助,请随时告诉我,我将尽力为您提供满意的回答和解决方案。

四、总结

调用apikey和本地部署的区别仅在api_key、base_url、model三个参数有区别

您可能感兴趣的与本文相关的镜像

Llama Factory

Llama Factory

模型微调
LLama-Factory

LLaMA Factory 是一个简单易用且高效的大型语言模型(Large Language Model)训练与微调平台。通过 LLaMA Factory,可以在无需编写任何代码的前提下,在本地完成上百种预训练模型的微调

<think>嗯,用户问的是怎么用Ollama部署本地大模型。首先,我得确认用户对Ollama了解多少。可能他们听说过但没用过,或者只是想快速上手。Ollama是一个支持本地运行大模型的工具,支持Llama、Mistral等模型,所以需要先安装。 接下来,安装步骤。Ollama支持macOS、Linux和Windows。不同的系统安装方法不同,可能需要详细说明每个系统的安装方式,比如macOS用curl命令,Linux用bash脚本,Windows的话可能用户需要下载安装包。要确保用户能顺利安装,可能还要提醒他们检查系统版本或者依赖项。 安装完成后,如何运行模型。用户可能需要知道基本命令,比如ollama run llama2。这里要说明模型会自动下载,但需要网络。然后介绍交互式对话的方式,以及如何退出。此外,用户可能关心如何选择不同的模型版本,比如7b、13b参数,或者代码专用版本,需要举例说明命令的不同。 高级功能部分,用户可能有更多需求。比如自定义模型,使用Modelfile。这里需要解释Modelfile的结构,如何创建和构建自定义模型。还有如何查看本地模型列表,删除不需要的模型,作为API使用,这些都很实用。特别是作为API运行时,如何通过curl或者代码调用,可能需要给出示例代码,比如Python的requests库用法。 注意事项方面,硬件要求很重要,尤其是大模型需要足够的RAM和显存。用户如果机器配置不够,可能会遇到性能问题,需要提前告知。另外,网络问题,下载模型需要好的网络连接,否则下载会慢或者失败。模型管理部分,提醒用户及时清理不用的模型,节省空间。 可能用户是开发者或者对技术比较熟悉的人,他们想快速在本地测试模型,可能用于开发应用或者实验。所以除了基本使用,API部分可能对他们特别有用,可以集成到自己的项目中。另外,自定义模型的需求可能较高,需要详细说明Modelfile的用法。 需要检查是否有遗漏的步骤,比如安装后的验证,是否安装成功。或者常见问题,比如安装失败怎么办,模型下载出错如何处理。不过用户的问题主要是介绍怎么使用,可能不需要深入 troubleshooting,但可以稍微提及注意事项里的硬件和网络问题。 最后,总结步骤,让用户有个清晰的流程:安装Ollama,运行模型,高级功能,注意事项。结构清晰,用户能一步步跟着操作。同时,提供示例命令和代码片段,方便用户复制粘贴。确保语言简洁,用中文口语化表达,避免技术术语过多,但必要的术语还是需要保留,比如API、Modelfile等。</think>好的,我来为你介绍一下如何使用 **Ollama** 在本地部署大模型的步骤。Ollama 是一个开源工具,支持在本地运行多种大语言模型(如 Llama 2、Mistral、Code Llama 等),无需依赖云端服务,适合快速体验或开发测试。 --- ### **1. 安装 Ollama** - **官网下载**:访问 [Ollama 官网](https://ollama.ai/),根据你的操作系统(支持 macOS、Linux、Windows)下载对应版本。 - **macOS/Linux**:可以直接通过命令行安装: ```bash # macOS 或 Linux 一键安装 curl -fsSL https://ollama.ai/install.sh | sh ``` - **Windows**:下载安装包后双击运行。 --- ### **2. 运行模型** 安装完成后,通过命令行直接运行模型: ```bash # 示例:运行 Llama 2 模型(会自动下载) ollama run llama2 ``` - 首次运行时会自动下载模型文件(需网络,模型大小约 3-5GB)。 - 进入交互式对话界面后,输入问题即可与模型对话(例如:“用中文写一首诗”)。 - 输入 `/bye` 退出。 --- ### **3. 选择模型版本** Ollama 支持多种模型和版本,例如: ```bash # 运行不同参数规模的模型 ollama run llama2:7b # 7B 参数版本(默认) ollama run llama2:13b # 13B 参数版本(需要更高内存) # 其他模型 ollama run mistral # Mistral 模型 ollama run codellama # 代码专用模型 ``` --- ### **4. 高级功能** #### **自定义模型** - 使用 `Modelfile` 定义自定义模型配置(例如调整参数、合并模型): ```bash # 创建 Modelfile FROM llama2 PARAMETER temperature 0.8 # 调整生成随机性 SYSTEM "你是一个中文助手。" # 设定系统提示词 ``` 构建自定义模型: ```bash ollama create my-model -f Modelfile ollama run my-model ``` #### **模型管理** - 查看已下载的模型列表: ```bash ollama list ``` - 删除模型: ```bash ollama rm llama2 ``` #### **作为 API 使用** Ollama 默认提供本地 API 服务(端口 `11434`),可通过 HTTP 调用: ```bash # 示例:通过 curl 调用 curl http://localhost:11434/api/generate -d '{ "model": "llama2", "prompt": "你好,请介绍一下你自己", "stream": false }' ``` 也可用 Python 等语言集成: ```python import requests response = requests.post( "http://localhost:11434/api/generate", json={"model": "llama2", "prompt": "你好"} ) print(response.json()["response"]) ``` --- ### **5. 注意事项** - **硬件要求**:7B 模型需至少 8GB RAM,13B 模型需 16GB RAM,GPU 可加速(需配置 CUDA)。 - **网络问题**:首次下载模型需要稳定网络,国内用户可能需配置代理。 - **模型管理**:及时清理不用的模型以节省磁盘空间(模型存储在 `~/.ollama/models`)。 --- 通过以上步骤,你可以快速在本地部署和体验大模型。如果需要更复杂的任务(如微调),可能需要结合其他工具(如 LangChain)扩展功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值