Führen Sie die Phi-3 Vision und Phi-3.5 Vision Modelle mit der ONNX Runtime generate() API aus
Die Phi-3 Vision und Phi-3.5 Vision Modelle sind kleine, aber leistungsstarke multimodale Modelle, die es Ihnen ermöglichen, sowohl Bilder als auch Text für die Textausgabe zu verwenden. Sie können in Szenarien eingesetzt werden, wie z. B. zur detaillierten Beschreibung des Inhalts von Bildern.
Die Phi-3 Vision und Phi-3.5 Vision Modelle werden von den Versionen onnxruntime-genai 0.5.1 und neuer unterstützt.
Sie können die Modelle hier herunterladen
- Einrichtung
- Wählen Sie Ihre Plattform
- Ausführung mit DirectML
- Ausführung mit CUDA
- Ausführung auf der CPU
Setup
-
Installieren Sie die Git Large File Storage-Erweiterung
HuggingFace verwendet
gitzur Versionskontrolle. Zum Herunterladen der ONNX-Modelle benötigen Siegit lfs, falls Sie es noch nicht installiert haben.- Windows:
winget install -e --id GitHub.GitLFS(Wenn Sie winget nicht haben, laden Sie dieexevon der offiziellen Quelle herunter und führen Sie sie aus) - Linux:
apt-get install git-lfs - MacOS:
brew install git-lfs
Führen Sie dann
git lfs installaus - Windows:
-
Installieren Sie die HuggingFace CLI
pip install huggingface-hub[cli]
Wählen Sie Ihre Plattform
Hinweis: Nur ein Paket und ein Modell sind je nach Hardware erforderlich. Das heißt, führen Sie die Schritte nur für einen der folgenden Abschnitte aus
Ausführung mit DirectML
-
Modell herunterladen
huggingface-cli download microsoft/Phi-3.5-vision-instruct-onnx --include gpu/gpu-int4-rtn-block-32/* --local-dir .Dieser Befehl lädt das Modell in einen Ordner namens
gpu/gpu-int4-rtn-block-32herunter. -
Die generate() API installieren
pip install onnxruntime-genai-directml -
Führen Sie das Modell aus
Führen Sie das Modell mit model-vision.py aus.
curl https://raw.githubusercontent.com/microsoft/onnxruntime-genai/main/examples/python/model-vision.py -o model-vision.py pip install pyreadline3 python model-vision.py -m gpu/gpu-int4-rtn-block-32 -e dmlGeben Sie den Pfad zu einer Bilddatei und eine Aufforderung ein. Das Modell verwendet das Bild und die Aufforderung, um Ihnen eine Antwort zu geben.
Zum Beispiel:
Was steht auf dem Schild?
The sign says 'DO NOT ENTER'.
Ausführung mit CUDA
-
Modell herunterladen
huggingface-cli download microsoft/Phi-3.5-vision-instruct-onnx --include gpu/gpu-int4-rtn-block-32/* --local-dir .Dieser Befehl lädt das Modell in einen Ordner namens
gpu/gpu-int4-rtn-block-32herunter. -
Richten Sie Ihre CUDA-Umgebung ein
Installieren Sie das CUDA Toolkit.
Stellen Sie sicher, dass die Umgebungsvariable
CUDA_PATHauf den Speicherort Ihrer CUDA-Installation gesetzt ist. -
Die generate() API installieren
Hinweis: Dieses Paket verwendet CUDA 12. Um CUDA 11 zu verwenden, müssen Sie aus dem Quellcode kompilieren und installieren.
pip install onnxruntime-genai-cuda -
Führen Sie das Modell aus
Führen Sie das Modell mit model-vision.py aus.
curl https://raw.githubusercontent.com/microsoft/onnxruntime-genai/main/examples/python/model-vision.py -o model-vision.py pip install pyreadline3 python model-vision.py -m gpu/gpu-int4-rtn-block-32 -e cudaGeben Sie den Pfad zu einer Bilddatei und eine Aufforderung ein, und das Modell verwendet das Bild und die Aufforderung, um Ihnen eine Antwort zu geben.
Zum Beispiel:
Beschreiben Sie das Bild
The image shows a cup of coffee with a latte art design on top. The coffee is a light brown color, and the art is white with a leaf-like pattern. The cup is white and has a handle on one side.</s>
Ausführung auf der CPU
-
Modell herunterladen
huggingface-cli download microsoft/Phi-3.5-vision-instruct-onnx --include cpu_and_mobile/cpu-int4-rtn-block-32-acc-level-4/* --local-dir .Dieser Befehl lädt das Modell in einen Ordner namens
cpu_and_mobile/cpu-int4-rtn-block-32-acc-level-4herunter -
Installieren Sie die generate() API für CPU
pip install onnxruntime-genai -
Führen Sie das Modell aus
Führen Sie das Modell mit model-vision.py aus.
curl https://raw.githubusercontent.com/microsoft/onnxruntime-genai/main/examples/python/model-vision.py -o model-vision.py pip install pyreadline3 python model-vision.py -m cpu_and_mobile/cpu-int4-rtn-block-32-acc-level-4 -e cpuGeben Sie den Pfad zu einer Bilddatei und eine Aufforderung ein, und das Modell verwendet das Bild und die Aufforderung, um Ihnen eine Antwort zu geben.
Zum Beispiel:
Konvertieren Sie dieses Bild in Markdown-Format
| Product | Qtr 1 | Qtr 2 | Grand Total | |---------------------|------------|------------|-------------| | Chocolade | $744.60 | $162.56 | $907.16 | | Gummibarchen | $5,079.60 | $1,249.20 | $6,328.80 | | Scottish Longbreads | $1,267.50 | $1,062.50 | $2,330.00 | | Sir Rodney's Scones | $1,418.00 | $756.00 | $2,174.00 | | Tarte au sucre | $4,728.00 | $4,547.92 | $9,275.92 | | Chocolate Biscuits | $943.89 | $349.60 | $1,293.49 | | Total | $14,181.59 | $8,127.78 | $22,309.37 | The table lists various products along with their sales figures for Qtr 1, Qtr 2, and the Grand Total. The products include Chocolade, Gummibarchen, Scottish Longbreads, Sir Rodney's Scones, Tarte au sucre, and Chocolate Biscuits. The Grand Total column sums up the sales for each product across the two quarters.</s>