Windows上的本地化部署通义千问qwen,含API调用流式和非流式调用demo

news/2025/2/3 13:02:34 标签: windows

Ollama是一个强大的工具,可以帮助你在本地轻松部署和管理大语言模型,如qwen。以下是在Windows系统上使用Ollama安装和部署qwen的详细步骤。

一、安装Ollama

(一)下载Ollama(或者用我的网盘链接下载)

通过网盘分享的文件:OllamaSetup0.5.7.exe

链接: https://pan.baidu.com/s/1fE1dad4UBCQsUDZ7c_abVw 提取码: 15gg

  1. 打开浏览器,访问 Ollama官网。

  2. 在下载页面中,选择“Windows”选项卡,点击“Download for Windows ”按钮,开始下载Ollama的安装包。

(二)安装Ollama

  1. 下载完成后,双击下载的.exe安装包文件,启动安装程序。

  1. 按照安装向导的提示完成安装过程。Ollama默认安装路径为C:\Users\<username>\AppData\Local\Programs\Ollama

  2. 安装完成后,

提升完成安装后,有了默认的安装命令,

但我们要安装qwen,其实方法通用,只有ollama上有的都可以安装。

(三)验证Ollama安装

  1. 打开命令提示符或PowerShell,输入以下命令:ollama -h

  2. 如果看到Ollama的版本信息和帮助文档,说明安装成功。

常用命令

ollama serve       启动ollama
ollama create      从模型文件创建模型
ollama show        显示模型信息
ollama run         运行模型
ollama pull        从注册表中拉取模型
ollama push        将模型推送到注册表
ollama list        列出模型
ollama cp          复制模型
ollama rm          删除模型
ollama help        获取有关任何命令的帮助信息

二、配置Ollama(可选)

更改模型存储路径

  1. 如果需要更改Ollama存储下载模型的位置,可以在用户账户中设置环境变量OLLAMA_MODELS

  2. 启动设置(Windows 11)或控制面板(Windows 10),搜索“环境变量”。

  3. 点击“编辑账户环境变量”,编辑或创建一个新的用户账户或者系统变量OLLAMA_MODELS,设置为你希望存储模型的路径。

三、安装大模型

执行命令

ollama run qwen2.5:1.5b

可以根据自己的需求来下载不同参数的模型

发送消息

四、API调用

1、编写 Python 代码(非流式)

以下是一个简单的 Python 脚本示例,用于调用 Ollama 运行的 qwen2.5:1.5b 模型:

import requests
import json

# Ollama API 的地址
url = "http://localhost:11434/api/generate"

# 定义请求的数据
data = {
    "model": "qwen2.5:1.5b",  # 模型名称
    "prompt": "请编写一个关于少年努力的对联",  # 输入的提示信息
    "stream": False  # 是否使用流式响应
}

# 将数据转换为 JSON 格式
data_json = json.dumps(data)

# 设置请求头
headers = {
    "Content-Type": "application/json"
}

# 发送 POST 请求
try:
    response = requests.post(url, headers=headers, data=data_json)
    response.raise_for_status()  # 检查响应状态码
    result = response.json()
    print(result["response"])  # 打印模型的回复
except requests.exceptions.RequestException as e:
    print(f"请求出错: {e}")
except (KeyError, json.JSONDecodeError):
    print("解析响应数据出错")

 

D:\AiPro\wechat\pythonProject\.venv\Scripts\python.exe D:\AiPro\wechat\pythonProject\zimeiti\t2.py 
好的,以下是一副关于少年努力的对联:

上联:
日月光华耀九州,少年志气冲霄汉。

下联:
风霜雨雪砺筋骨,青春汗水润乾坤。

横批:
壮志凌云

这个对联寓意着年轻人要有远大的理想和雄心壮志,即使是在逆境中也要努力奋斗。"日月光华耀九州"代表了国家的繁荣和民族的梦想;"少年志气冲霄汉"体现了年轻人的理想与抱负;"风霜雨雪砺筋骨"强调了在艰难困苦中锤炼意志的重要性;最后"青春汗水润乾坤"表达了通过不懈努力实现梦想的过程。

Process finished with exit code 0

2、编写 Python 代码( 流式 输出

如果你希望使用流式响应,可以将 stream 参数设置为 True,并对响应进行逐行处理:

import requests
import json

url = "http://localhost:11434/api/generate"
data = {
    "model": "qwen2.5:1.5b",
    "prompt": "请编写一个关于少年努力的对联",
    "stream": True
}
data_json = json.dumps(data)
headers = {
    "Content-Type": "application/json"
}

try:
    response = requests.post(url, headers=headers, data=data_json, stream=True)
    response.raise_for_status()
    for line in response.iter_lines():
        if line:
            result = json.loads(line)
            if 'response' in result:
                print(result["response"], end='', flush=True)
except requests.exceptions.RequestException as e:
    print(f"请求出错: {e}")
except (KeyError, json.JSONDecodeError):
    print("解析响应数据出错")

五、代码解释

  • 请求地址:http://localhost:11434/api/generate 是 Ollama 默认的生成 API 地址,你可以根据实际情况进行调整。

  • 请求数据:

    • model:指定要使用的模型名称,这里是 qwen2.5:1.5b

    • prompt:输入给模型的提示信息,即你想要询问的问题。

    • stream:设置是否使用流式响应。如果设置为 True,模型会逐步返回结果;如果设置为 False,则会等待模型生成完整的结果后一次性返回。

  • 请求头:设置 Content-Typeapplication/json,表示请求数据是 JSON 格式。

  • 发送请求:使用 requests.post 方法发送 POST 请求,并将响应结果解析为 JSON 格式。

  • 处理响应:打印模型的回复,如果请求或解析过程中出现错误,会捕获相应的异常并输出错误信息。


http://www.niftyadmin.cn/n/5840830.html

相关文章

JAVA安全—反射机制攻击链类对象成员变量方法构造方法

前言 还是JAVA安全&#xff0c;哎&#xff0c;真的讲不完&#xff0c;太多啦。 今天主要是讲一下JAVA中的反射机制&#xff0c;因为反序列化的利用基本都是要用到这个反射机制&#xff0c;还有一些攻击链条的构造&#xff0c;也会用到&#xff0c;所以就讲一下。 什么是反射…

MyBatis-Plus笔记-快速入门

大家在日常开发中应该能发现&#xff0c;单表的CRUD功能代码重复度很高&#xff0c;也没有什么难度。而这部分代码量往往比较大&#xff0c;开发起来比较费时。 因此&#xff0c;目前企业中都会使用一些组件来简化或省略单表的CRUD开发工作。目前在国内使用较多的一个组件就是…

四、GPIO中断实现按键功能

4.1 GPIO简介 输入输出&#xff08;I/O&#xff09;是一个非常重要的概念。I/O泛指所有类型的输入输出端口&#xff0c;包括单向的端口如逻辑门电路的输入输出管脚和双向的GPIO端口。而GPIO&#xff08;General-Purpose Input/Output&#xff09;则是一个常见的术语&#xff0c…

第一性原理:游戏开发成本的思考

利润 营收-成本 营收定价x销量x分成比例 销量 曝光量x 点击率x &#xff08;购买率- 退款率&#xff09; 分成比例 100%- 平台抽成- 税- 引擎费- 发行抽成 成本开发成本运营成本 开发成本 人工外包办公地点租金水电设备折旧 人工成本设计成本开发成本迭代修改成本后续内容…

Spring Boot 实例解析:从概念到代码

SpringBoot 简介&#xff1a; 简化 Spring 应用开发的一个框架整合 Spring 技术栈的一个大整合J2EE 开发的一站式解决方案优点&#xff1a;快速创建独立运行的 Spring 项目以及与主流框架集成使用嵌入式的 Servlet 容器&#xff0c;应用无需打成 war 包&#xff0c;内嵌 Tomcat…

XML,WEB项目部署,HTTP

XML&#xff08;配置文件&#xff09; XML和HTML一样都是标记语言&#xff0c;也就是说它们的基本语法都是标签。 常见配置文件类型 1 根标签只能有一个 2 第一行永远是<?xml version"1.0" encoding"UTF-8"?>不允许放任何东西 3 xml是有约束的…

python算法和数据结构刷题[6]:二叉树、堆、BFS\DFS

遍历二叉树 前序遍历NLR&#xff1a;先访问根结点&#xff0c;再前序遍历左子树&#xff0c;最后前序遍历右子树。中序遍历LNR&#xff1a;先中序遍历左子树&#xff0c;再访问根结点&#xff0c;最后中序遍历右子树。后序遍历 LRN&#xff1a;先后序遍历左子树&#xff0c;再…

Unity游戏(Assault空对地打击)开发(3) 摄像机的控制

详细步骤 打开My Assets或者Package Manager。 选择Unity Registry。 搜索Cinemachine&#xff0c;找到 Cinemachine包&#xff0c;点击 Install按钮进行安装。 关闭窗口&#xff0c;新建一个FreeLook Camera&#xff0c;如下。 接着新建一个对象Pos&#xff0c;拖到Player下面…