Windows 玩转大模型第二天:流式输出和角色扮演(提示词)(全部代码和详细部署流程)

Windows 玩转大模型第一天:大模型本地部署,调用大模型API可直接工程化应用(全部代码和详细部署流程)-CSDN博客

流式输出是指模型在生成内容时不是一次性输出全部结果,而是逐步、连续地生成输出。这种方式类似于人类在进行口语交流或写作时的思考过程,即边思考边表达。流式输出的优点包括更高的灵活性和交互性,能够在长文本生成中动态调整内容,同时允许用户在生成过程中即时提供反馈或修改指导方向。

提示词是提供给模型的输入文本,用于引导模型的输出方向和风格。简单来说,提示词就是告诉模型用户希望得到什么样的信息或回答。提示词的设定对模型的输出结果有决定性影响。通过精心设计的提示词,可以引导模型在特定领域内生成更准确、更符合预期的回答或内容。提示词不仅限于文本,也可以是图片、音频等多种形式,根据模型的不同能力和应用场景而定。

一、流式输出

import requests
import json# 发送 API 请求获取回复
url = "http://localhost:11434/api/generate"
payload = {"model": "llama3", "prompt": "中文回答,写个500字日记"}
response = requests.post(url, json=payload, stream=True)  # 确保使用 stream=True# 尝试解析流式 JSON 响应
try:# 处理流式响应中的多个 JSON 对象for line in response.iter_lines():if line:  # 确保行不为空try:# 解析单个 JSON 对象response_json = json.loads(line.decode('utf-8'))# 直接打印新响应部分,不换行if 'response' in response_json:print(response_json['response'], end='', flush=True)# 检查是否是最后一个片段if 'done' in response_json and response_json['done']:print("\nStream ended.")breakexcept json.JSONDecodeError as e:print("\nJSON decode error:", e)continue
except json.JSONDecodeError:print("Initial JSON decode error: potentially non-stream response")

 

 

这下就舒服多了,速度感觉也快了很多。 

二、角色扮演(提示词)

现在大模型叫LLaMa,如何让它变成其他角色。

1. 新建一个txt文件:

FROM llama3# set the temperature to 1 [higher is more creative, lower is more coherent]
PARAMETER temperature 1# set the system message
SYSTEM """
You are Mario from Super Mario Bros. Answer as Mario, the assistant, only.
"""

 2.重命名为Modelfile,并删除后缀名。

3.然后运行 :

ollama create mario -f ./Modelfileollama list

4.再运行: 就可以进行角色扮演了。

ollama run mario

如果不需要了,可以删除模型:

ollama rm mario

代码调用api,只需修改为:payload = {"model": "mario", "prompt": "你是谁,请使用中文回答" }

import requests
import json# 发送 API 请求获取回复
url = "http://localhost:11434/api/generate"
#payload = {"model": "llama3", "prompt": "中文回答,你是谁"}
payload = {"model": "mario", "prompt": "你是谁,请使用中文回答" }
response = requests.post(url, json=payload, stream=True)  # 确保使用 stream=True# 尝试解析流式 JSON 响应
try:# 处理流式响应中的多个 JSON 对象for line in response.iter_lines():if line:  # 确保行不为空try:# 解析单个 JSON 对象response_json = json.loads(line.decode('utf-8'))# 直接打印新响应部分,不换行if 'response' in response_json:print(response_json['response'], end='', flush=True)# 检查是否是最后一个片段if 'done' in response_json and response_json['done']:print("\nStream ended.")breakexcept json.JSONDecodeError as e:print("\nJSON decode error:", e)continue
except json.JSONDecodeError:print("Initial JSON decode error: potentially non-stream response")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/866695.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用笔记之-E语言微信支付支付宝支付源代码

首先下载E语言微信支付&支付宝支付源代码 http://www.htsoft.com.cn/download/E_WeiXin_ZhiFuBao_ZhiFu.rar

【EI会议/稳定检索】2024年农业发展与机械应用国际会议(ADMA 2024)

2024 International Conference on Agricultural Development and Mechanical Applications 2024年农业发展与机械应用国际会议 【会议信息】 会议简称:ADMA 2024 大会时间:点击查看 截稿时间:点击查看 大会地点:中国武汉 会议官…

python作业一

1. #A.方法一 num int(input("请输入要打印的层数:")) for n in range(1, num1):s ""for i in range(1, n1):s f"{i}" " "print(s) #方法二: iint(input("i:")) for i in range(1,i1):s""for j i…

南方健康2024米思会:科普患教赋能医药增长闭环,千亿蓝海市场大爆发!

2024年6月25日-28日,在中国•南太湖举办的2024米思会如约而至,顺利落下帷幕,本次大会以“韧进启新局”为主题,以不懈进取的“韧劲”,立身破局,迎变启新。通过4天3夜的思想碰撞和互动交流,引领行…

Python PyCryptodome库介绍与实例

Python PyCryptodome库介绍与实例 1. 安装2. 基本概念3. 使用场景和示例代码3.1 对称加密 - AES3.2 非对称加密 - RSA3.3 哈希函数 - SHA2563.4 消息认证码 - HMAC 4. 总结 PyCryptodome是一个强大的Python加密库,提供了各种加密算法和工具。本文将介绍PyCryptodome的基本概念和…

【专业指南】移动硬盘坏道下的数据恢复之道

移动硬盘坏道揭秘:数据安全的隐形挑战 在数据日益成为核心资产的今天,移动硬盘作为便携存储的代名词,承载着无数用户的重要信息。然而,随着使用时间的增长和不当操作的影响,移动硬盘可能会遭遇“坏道”这一棘手问题。…

眼动追踪技术 | 眼动的分类和模型

摘要 灵长类动物用于调整中央凹位置的正常眼动,几乎都可以归结为五种基本类型的组合:扫视、平稳追踪、聚散、前庭眼震和生理性眼震(与注视相关的微小运动)。聚散运动用于将双眼聚焦于远处的目标(深度知觉)。其他运动(如适应和聚焦)指的是眼动的非位置变…

密码学原理精解【5】

这里写目录标题 移位密码概述代码 希尔密码( Z 256 Z_{256} Z256​)待加密长度被3整除待加密长度不一定被3整除加解密文件 移位密码 概述 以 z 26 运算为例 , k 为密钥 加密: e k ( x ) ( x k ) m o d 26 解密: d k ( x ) ( x − k ) m o d 26 以z_{…

Linux权限介绍

目录 1.用户切换 2.权限 (1)权限介绍 (2)文件类型 (3)权限组成 (4)权限修改 (5)重新认识 (6)底层操作 (一&#x…

Vite 中怎么添加全局 scss 文件

使用 Vite 开发项目,配套周边生态使用起来,开发效率会很高。但也会有一些问题需要解决。 当我们使用 scss 时,希望能够把一些定义变量,定义mixin 的文件全局加载,避免每处用到还要单独引入这些文件。 这就需要一些配…

事件分发机制:demo复现自定义ViewGroup点击事件不起作用

几年前遇到的一个bug,不弄清楚心里就是不舒服! 平时应用开发中,经常遇到的UI需求,例如抖音的设置界面,如下图所示: 很容易想到,自定义一个Layout,左边一个图标,中间文…

无痕消除笔怎么用?3款工具教你完美消除

无痕消除笔怎么用?无痕消除笔在图片编辑中扮演着至关重要的角色。它利用先进的图像处理技术,让用户只需简单几步操作,就能轻松抹除图片上任何不想要的细节,无论是明显的瑕疵、多余的文字还是恼人的水印。这一功能不仅提高了编辑效…

华为大咖说 企业应用AI大模型的“道、法、术” -- 法:落地篇 (上)

本文作者:郑岩(华为云AI变革首席专家)全文约2865字,阅读约需7分钟 在探讨企业如何应用AI大模型的“道、法、术”系列文章的前两篇文章中,我们已经深化了对“AI大模型”的理解,并通过“AI场景12问”洞察了潜…

鸿蒙 HarmonyOS Next 路由 不废话 全干货

一、页面的创建 (1)直接通过创建一个新的Page的方式创建 (2)先创建一个 ArkTs File文件,然后在resources/base/profile/main_pages.json中加上页面对应的src路径,下面的Index_3.ets文件是通过创建ArkTs Fi…

【区分vue2和vue3下的element UI Breadcrumb 面包屑组件,分别详细介绍属性,事件,方法如何使用,并举例】

在 Vue 2 中,Element UI 提供了 el-breadcrumb 面包屑组件,而在 Vue 3 中,Element UI 的官方版本并没有直接更新以支持 Vue 3,但有一个类似的库叫做 Element Plus,它是为 Vue 3 设计的。 Vue 2 Element UI 在 Vue 2…

Linux安装达梦

文章目录 前言一、docker安装1.下载镜像2.导入镜像3.生成容器 二、ios安装1.环境准备2.iso安装3.配置实例4.注册服务5.启停服务 总结 前言 公司要求我将数据从oracle迁移到达梦数据库,这个国产数据库以前没用过,所以记录一下这次的安装过程。 一、docke…

【代码随想录算法训练营第五十八天|卡码网101.孤岛的总面积、102.沉没孤岛、103.水流问题、104.建造最大岛屿】

文章目录 101.孤岛的总面积102.沉没孤岛103.水流问题正向逻辑反向逻辑 104.建造最大岛屿 101.孤岛的总面积 可以把最外围的都检查一遍是否有为1的,有的话就把他接壤的全变成海,然后正常算面积。也可以看岛屿是否有靠边的位置,有的话该岛面积…

后端部署Jar包 | 启动失败系列问题(图解-BuiId,Maven)

目录 项目的构建 打包前的准备 合理配置pox.xml文件 Build 打包方式 Maven打包方式 Jar包部署 测试后端接口 项目的构建 我的项目是SpringBoot2脚手架 先准备一个相对于的数据库依赖 数据库的任意库 Yaml配置后 才能正常在IDEA中跑起来 打包前的准备 合理配置pox.xm…

rs轨迹校验

最近发现有些网站的rs似乎上了轨迹校验,附图: 写了个解rscookie的插件,可以精准看到rs更改了那些校验点,需要做什么处理,就很舒服 有需要轨迹代码或者瑞数相关的可以联系 let v huaqu0727

Cmake qt_add_library

目录 基本用法 参数说明 示例 创建一个新的Qt项目 创建CMakeLists.txt ​​​​​创建库的源文件 创建主程序文件 构建项目 在Qt中,qt_add_library 是一个用于在CMake构建系统中添加库的命令。这个命令通常用于创建一个新的Qt库,并将其添加到CMa…