使用微软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 的新时代。

相关推荐
写代码的【黑咖啡】12 分钟前
Python中的Pandas:数据分析的利器
python·数据分析·pandas
co松柏14 分钟前
AI+Excalidraw,用自然语言画手绘风格技术图
前端·人工智能·后端
机器懒得学习17 分钟前
WGAN-GP RVE 生成系统深度技术分析
python·深度学习·计算机视觉
用户51914958484517 分钟前
7-ZiProwler:CVE-2025-11001 漏洞利用工具
人工智能·aigc
湘-枫叶情缘18 分钟前
管理认知平权:基于人工操作大语言模型的MBA“具生化”下沉路径
人工智能·语言模型
多则惑少则明19 分钟前
AI大模型综合(三)Langgraph4j工作原理,RAG概念
人工智能·langchain4j
智能砖头20 分钟前
LangGraph 工作流中常用的核心策略
人工智能
晨光321120 分钟前
Day43 训练和测试的规范写法
python·深度学习·机器学习
海棠AI实验室22 分钟前
Python 学习路线图:从 0 到 1 的最短闭环
开发语言·python·学习
玄同76525 分钟前
Python 函数:LLM 通用逻辑的封装与复用
开发语言·人工智能·python·深度学习·语言模型·自然语言处理