使用微软Phi-3-mini模型快速创建生成式AI应用

微软Phi-3大语言模型是微软研究院推出的新一代系列先进的小语言模型。Phi-3系列包括phi-3-mini、phi-3-small和phi-3-medium三个不同规模的版本。这些模型在保持较小的参数规模的同时,通过精心设计的训练数据集和优化的算法,实现了与大型模型相媲美的语言理解和推理能力。

Phi-3-mini是微软Phi家族的第4代,有预训练和指令微调多种模型,参数只有38亿,但训练数据高达3.3T tokens。Phi-3-mini 不仅可以在传统计算设备上运行,还可以在移动设备和物联网设备等边缘设备上运行。Phi-3-mini 版本涵盖了传统的 Pytorch 模型格式、gguf 格式的量化版本和基于 onnx 的量化版本。这也为不同应用场景下的开发者带来了便利。本博客的内容希望让不同的开发者结合不同的技术框架,探索 Phi-3-mini 发布的不同模型格式,让大家可以先推断出 Phi-3-mini。

使用Semantic Kernel访问 Phi-3-mini

在生成式AI应用程序中,我们通过语义内核/LangChain 创建应用程序。这种类型的应用框架一般兼容 Azure OpenAI 服务/OpenAI 模型,还可以支持 Hugging face 和本地模型上的开源模型。因此,我们可以将Phi-3-mini与语义内核中的 Hugging face Connector 结合使用。默认情况下,它可以对应 Hugging face 上的模型 ID(第一次使用时,模型会从 Hugging face 下载,需要很长时间),也可以选择连接到本地部署的服务。

 从图中可以看出,通过语义内核访问本地服务可以轻松连接到自建的 Phi-3-mini 模型服务器:

微软官方示例代码 https://github.com/Azure-Samples/Phi-3MiniSamples/tree/main/semantickernel

使用 Ollama 或 LlamaEdge 调用量化模型

很多开发者喜欢使用量化模型在本地运行模型。通过Ollama/LM Studio,个人用户可以随意调用不同的量化模型。

您可以直接运行 ollama run phi3 或使用以下命令离线配置它。

 1. 创建模型文件

ROM {Add your gguf file path}
TEMPLATE """<|user|>
{{.Prompt}}<|end|>
<|assistant|>"""
PARAMETER stop <|end|>
PARAMETER num_ctx 4096

2. 在终端中运行

ollama create phi3mini -f Modelfile
ollama run phi3mini 

 微软官方示例代码 https://github.com/Azure-Samples/Phi-3MiniSamples/tree/main/ollama

Phi-3-mini的特性使之非常适合在云和边缘设备中使用,您可以选择LlamaEdge ,将Phi-3-mini运用于云原生、边缘和去中心化应用程序。以下是要使用的步骤:

1. 安装和下载相关库和文件。

curl -sSf https://raw.githubusercontent.com/WasmEdge/WasmEdge/master/utils/install.sh | bash -s -- --plugin wasi_nn-ggmlcurl -LO https://github.com/LlamaEdge/LlamaEdge/releases/latest/download/llama-api-server.wasmcurl -LO https://github.com/LlamaEdge/chatbot-ui/releases/latest/download/chatbot-ui.tar.gztar xzf chatbot-ui.tar.gz

注意:llama-api-server.wasm 和 chatbot-ui 需要在同一个目录下

2. 在终端中运行脚本

wasmedge --dir .:. --nn-preload default:GGML:AUTO:{Your gguf path} llama-api-server.wasm -p phi-3-chat

 微软官方示例代码 https://github.com/Azure-Samples/Phi-3MiniSamples/tree/main/wasm

运行 ONNX 量化模型

 ONNX 运行时是 ONNX 模型的高效运行时库。它支持多种操作系统和硬件平台,包括 CPU、GPU 等。ONNX Runtime 的主要优势是其高效的性能和易于部署。通过 ONNX Runtime,开发人员可以轻松地将经过训练的模型部署到生产环境,而无需关心底层推理框架。在大型模型时代,ONNX Runtime发布了基于生成式AI的接口(Python/.NET/C/C++)。我们可以使用此接口来调用 Phi-3-mini 模型。接下来我们尝试通过 Python 调用 Phi-3-mini 模型(使用 ONNX Runtime Generative AI 时,需要先编译环境,请参考 https://github.com/microsoft/onnxruntime-genai/blob/main/examples/python/phi-3-tutorial.md)

 微软官方示例代码 https://github.com/Azure-Samples/Phi-3MiniSamples/tree/main/onnx

Phi-3-mini的发布允许个人和企业在不同的硬件设备上部署SLM,特别是移动设备和工业物联网设备,这些设备可以在有限的计算能力下完成简单的智能任务。结合 LLM 可以开启生成式 AI 的新时代。

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

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

相关文章

Edge下载文件提示无法安全下载的解决方法

问题描述&#xff1a;最近Edge在下载文件时总是提示&#xff1a;无法安全下载&#xff0c;本文记录一下解决方法。 提示截图&#xff1a; 解决方式一&#xff1a; 1. 点击下图红框的三个点&#xff0c;选择保留 2. 选择仍然保留 解决方式二&#xff1a; 第一种方式每下载一次…

✅为什么MySQL默认使用RR隔离级别?

对于数据库的默认隔离级别&#xff0c;Oracle默认的隔离级别是 RC&#xff0c;而MySQL默认的隔离级别是 RR。 那么&#xff0c;你知道为什么Oracle选择RC作为默认级别&#xff0c;而MySQL要选择RR作为默认的隔离级别吗&#xff1f; Oracle的隔离级别 Oracle支持ANSI/ISO SQL…

HTB靶场 Perfection

端口 打开了ssh和http服务 访问 Perfection靶机的网站 是一个根据权重计算总成绩的网站 Wappalyzer查看网页用的什么编写搭建的 抓包看一下是怎么工作的 发送,&#xff0c;返回的结果 如果我在 类别 后面多加一句命令 就会出现提示 恶意输入阻止 大概率有命令注入 通过插件…

2024最新版JavaScript逆向爬虫教程-------基础篇之JavaScript密码学以及CryptoJS各种常用算法的实现

目录 一、密码学介绍1.1 为什么要学密码学?1.2 密码学里面学哪一些 二、字符编码三、位运算四、Hex 编码与 Base64 编码4.1 Hex 编码4.2 Base64 编码 五、消息摘要算法5.1 简介5.2 JS中的MD5、SHA、HMAC、SM3 六、对称加密算法6.1 介绍6.2 加密模式和填充方式6.3 CryptoJS 中D…

元宇宙虚拟空间的角色状态更新(七)

前言 该文章主要讲元宇宙虚拟空间的角色状态更新&#xff0c;基本核心技术点 角色状态更新 对角色设置一个位置判断&#xff08;从中心点向下投射一射线确定角色的位置&#xff09; character.feetRaycast(); feetRaycast的start获取碰撞体的位置&#xff0c;end射线结束的…

Linux驱动开发:掌握SPI通信机制

目录标题 1、SPI简介2、SPI通信机制3、Linux内核中的SPI支持4、SPI核心API5、SPI控制器驱动6、SPI设备驱动 7、编写SPI设备驱动8、调试SPI驱动 在Linux驱动开发中&#xff0c;串行外设接口(SPI)是一种常见的高速全双工通信协议&#xff0c;用于连接处理器和各种外设。本文将深入…

QFD赋能人工智能:打造智能化需求分析与优化新纪元

在科技飞速发展的今天&#xff0c;人工智能(AI)已经渗透到我们生活的方方面面。然而&#xff0c;如何让AI更加贴合用户需求&#xff0c;提供更加精准和个性化的服务&#xff1f;这成为了一个亟待解决的问题。质量功能展开&#xff08;Quality Function Deployment&#xff0c;简…

Linux的FTP服务

目录 1.什么是FTP服务&#xff1f; 2.FTP的工作原理和流程 1 主动模式 2 被动模式 3.搭建和配置FTP服务 1 下载服务包、备份配置文件 2 修改配置文件​编辑 3 匿名访问测试 4 设置黑白命令 1.什么是FTP服务&#xff1f; FTP&#xff08;file Transfer Protocol&#…

Vue3 实现 Three.js粒子特效

效果 <template><div id"waves" /> </template><script setup> import { ref, onMounted, onUnmounted } from "vue"; import * as THREE from "three";const amountX ref(50); const amountY ref(50); const color …

QT学习之窗口基本设置

this->setWindowTitle("二代证测试工具"); // 设置窗口名this->setWindowIcon(QIcon("logo.jpg")); // 设置角标this->setFixedSize(900, 730); // 设置窗口大小设置exe图标 .rc文件代码中设置如下

数据结构入门——排序(代码实现)(下)

int GetMidi(int* a, int left, int right) {int mid (left right) / 2;// left mid rightif (a[left] < a[mid]){if (a[mid] < a[right]){return mid;}else if (a[left] > a[right]) // mid是最大值{return left;}else{return right;}}else // a[left] > a[mid…

一寸照片裁剪怎么弄?修改照片尺寸,3种方法调整

一寸照片裁剪怎么弄&#xff1f;将照片裁剪为一寸尺寸&#xff0c;可以方便我们在各种场合中使用。无论是办理证件、申请签证&#xff0c;还是制作简历、参与活动&#xff0c;一寸照片都是不可或缺的资料。通过裁剪&#xff0c;我们能够确保照片的尺寸、比例符合标准&#xff0…

视频怎么批量压缩?5个好用的电脑软件和在线网站

视频怎么批量压缩&#xff1f;有时候我们需要批量压缩视频来节省存储空间&#xff0c;便于管理文件和空间&#xff0c;快速的传输发送给他人。有些快捷的视频压缩工具却只支持单个视频导入&#xff0c;非常影响压缩效率&#xff0c;那么今天就向大家从软件和在线网站2个角度介绍…

GoLand远程开发IDE:使用SSH远程连接服务器进行云端编程

目录 ⛳️推荐 1. 安装配置GoLand 2. 服务器开启SSH服务 3. GoLand本地服务器远程连接测试 4. 安装cpolar内网穿透远程访问服务器端 4.1 服务器端安装cpolar 4.2 创建远程连接公网地址 5. 使用固定TCP地址远程开发 ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站&am…

OpenG中的读写簇函数

1.首先需要在Vi Package Manager中安装Open G 2.找到openG中的读写ini函数&#xff0c;第一组是将簇标签作为段名&#xff0c;第二组是指定段名&#xff0c;本质上都是一样 3.读写簇到ini文件 4.禁用写入&#xff0c;更改簇的元素&#xff0c;增加或者删除&#xff0c;原来…

c++取经之路(其八)——基础模板

我认为的模板其实就是个懒人工具&#xff0c;你来弄个模板&#xff0c;编译器自动给你生成对应的函数。 函数模板&#xff1a; 定义&#xff1a;函数模板是一个蓝图&#xff0c;它本身并不是函数&#xff0c;是编译器用使用方式产生特定具体类型函数的模具。所以其实模板就是…

Edge浏览器下载文件提示 “无法安全下载” 的解决方法

提示如下&#xff1a; 虽然我们可以通过 "保留" 进行下载&#xff0c;但是每次需要选择&#xff0c;比较麻烦 解决方法&#xff1a; 1、打开注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft 2、创建2个 "项" Edge\InsecureContentAllowedForUrls…

C++奇迹之旅:从0开始实现日期时间计算器

文章目录 &#x1f4dd;前言&#x1f320; 头文件Date.h&#x1f309;日期计算函数&#x1f320;前后置&#x1f309;前后置-- &#x1f320;两对象日期相减&#x1f309;自定义流输入和输出 &#x1f309; 代码&#x1f309; 头文件Date.h&#x1f320;Date.cpp&#x1f309; …

微软专家分享 | 拯救者杯 OPENAIGC开发者大赛 能量加油上海站启动啦!

由联想拯救者、AIGC开放社区、英特尔联合主办的“AI生成未来第二届拯救者杯OPENAIGC开发者大赛”自上线以来&#xff0c;吸引了广大开发者的热情参与。 为了向技术开发者、业务人员、高校学生、以及个体创业人员等参赛者们提供更充分的帮助与支持&#xff0c;AIGC开放社区特别…

SpringBoot3.0新特性尝鲜,秒启动的快感!熟悉SpringAOT与RuntimeHints

文章目录 一、前置知识1、官网2、安装GraalVM3、GraalVM的限制4、安装maven5、背景 二、打包SpringBoot3.01、项目准备2、打包3、打包成docker 三、认识AOT1、RuntimeHints2、RuntimeHintsRegistrar3、RegisterReflectionForBinding4、ImportRuntimeHints5、使用JDK动态代理也需…