使用微软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. 创建模型文件
bash 复制代码
ROM {Add your gguf file path}
TEMPLATE """<|user|>
{{.Prompt}}<|end|>
<|assistant|>"""
PARAMETER stop <|end|>
PARAMETER num_ctx 4096
  1. 在终端中运行
bash 复制代码
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. 安装和下载相关库和文件。
bash 复制代码
curl -sSf https://raw.githubusercontent.com/WasmEdge/WasmEdge/master/utils/install.sh | bash -s -- --plugin wasi_nn-ggml

curl -LO https://github.com/LlamaEdge/LlamaEdge/releases/latest/download/llama-api-server.wasm

curl -LO https://github.com/LlamaEdge/chatbot-ui/releases/latest/download/chatbot-ui.tar.gz

tar xzf chatbot-ui.tar.gz

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

  1. 在终端中运行脚本
bash 复制代码
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 的新时代。

相关推荐
坚毅不拔的柠檬柠檬19 分钟前
AI革命下的多元生态:DeepSeek、ChatGPT、XAI、文心一言与通义千问的行业渗透与场景重构
人工智能·chatgpt·文心一言
坚毅不拔的柠檬柠檬23 分钟前
2025:人工智能重构人类文明的新纪元
人工智能·重构
jixunwulian30 分钟前
DeepSeek赋能AI边缘计算网关,开启智能新时代!
人工智能·边缘计算
Archie_IT37 分钟前
DeepSeek R1/V3满血版——在线体验与API调用
人工智能·深度学习·ai·自然语言处理
失败尽常态52344 分钟前
用Python实现Excel数据同步到飞书文档
python·excel·飞书
2501_904447741 小时前
OPPO发布新型折叠屏手机 起售价8999
python·智能手机·django·virtualenv·pygame
青龙小码农1 小时前
yum报错:bash: /usr/bin/yum: /usr/bin/python: 坏的解释器:没有那个文件或目录
开发语言·python·bash·liunx
大数据追光猿1 小时前
Python应用算法之贪心算法理解和实践
大数据·开发语言·人工智能·python·深度学习·算法·贪心算法
Leuanghing1 小时前
【Leetcode】11. 盛最多水的容器
python·算法·leetcode
灵感素材坊2 小时前
解锁音乐创作新技能:AI音乐网站的正确使用方式
人工智能·经验分享·音视频