2025-02-19 11:28:54 +01:00
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a href=\"https://colab.research.google.com/github/DS4SD/docling/blob/main/docs/examples/pictures_description.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Note: you may need to restart the kernel to use updated packages.\n"
]
}
],
"source": [
"%pip install -q docling[vlm] ipython"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"from docling.datamodel.base_models import InputFormat\n",
"from docling.datamodel.pipeline_options import PdfPipelineOptions\n",
"from docling.document_converter import DocumentConverter, PdfFormatOption"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"# The source document\n",
"DOC_SOURCE = \"https://arxiv.org/pdf/2501.17887\""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Describe pictures with Granite Vision\n",
"\n",
"This section will run locally the [ibm-granite/granite-vision-3.1-2b-preview](https://huggingface.co/ibm-granite/granite-vision-3.1-2b-preview) model to describe the pictures of the document."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Using a slow image processor as `use_fast` is unset and a slow processor was saved with this model. `use_fast=True` will be the default behavior in v4.48, even if the model was saved with a slow processor. This will result in minor differences in outputs. You'll still be able to use a slow processor with `use_fast=False`.\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "93a634699bf1434c9bc8e384d6db1a28",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Loading checkpoint shards: 0%| | 0/2 [00:00<?, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from docling.datamodel.pipeline_options import granite_picture_description\n",
"\n",
"pipeline_options = PdfPipelineOptions()\n",
"pipeline_options.do_picture_description = True\n",
"pipeline_options.picture_description_options = (\n",
" granite_picture_description # <-- the model choice\n",
")\n",
"pipeline_options.picture_description_options.prompt = (\n",
" \"Describe the image in three sentences. Be consise and accurate.\"\n",
")\n",
"pipeline_options.images_scale = 2.0\n",
"pipeline_options.generate_picture_images = True\n",
"\n",
"converter = DocumentConverter(\n",
" format_options={\n",
" InputFormat.PDF: PdfFormatOption(\n",
" pipeline_options=pipeline_options,\n",
" )\n",
" }\n",
")\n",
"doc = converter.convert(DOC_SOURCE).document"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<h3>Picture <code>#/pictures/0</code></h3><img src=\"data:image/png;base64,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
"<hr /><h3>Picture <code>#/pictures/1</code></h3><img src=\"data:image/png;base64,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
"<hr /><h3>Picture <code>#/pictures/2</code></h3><img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUgAAAFLCAIAAAA74oLKAACuJklEQVR4nOydBXQUVxfH78hq3F0ISSAkuLuX4u5QpEJLW1raUv2ou1CBtrSlLVC0QClQ3D0EAiSBuAtxz/ruzHfu7Gaz2WxCEgKx/Z09HDKZnZndzJ333pX/JViWBTNmzLQtyOa+ANBwNPdVmDHTFlCpVFprIpp9xH777bdv374tEAjqvhKWZQmCeITX1aLRflfmL0SL+dvQI5PJFi5c+MQTT9DQfERGRp49e3b//v3Tpk0bP368SqWqbU+WZcvLy0UiEY/He7TX2BIhCKKsrIzH44lEomZ/Ljc7BEFIpVKGYSwtLdv5t0FR1IYNGzIyMgCgOQ1bIBA4ODg4OTn16tVr2LBhde9cVlZmZWVlfiprkUgkfD7f/JjTolAoGIYRiUTNfSHNz6lTpwQCQTMbdieO8+fPK5XKuvdkWVatVqtUKj6f/6iurkWjUqkIgjAbthaVSmU2bC0Mw7QU55larb7vPkQlj+SKzJhp9TTniF0HLMsqlUrDJZNSqZTL5e3Nf04QBJ/PNz/RzLQFw1Yqlbm5uUaGrVKpysrK2uEtLhQKXVxczLNuM63esPPy8hiGcXNzoyhKv1GtVpMc0J7QaDS5ubn5+fnu7u7NfS1mWhMtzrAZhpHL5S4uLmKx2HA7TdMkSbbDEdve3j4/P98cxjfTug27tlwUlqMd3tzt83FmphqMGvKSQKMEex8QWUMrNWwzZsxUkX4Lzm+E3FjQqMHOE/rOg57T4X6YDbsurly5snfv3oKCgq5duy5evNjV1VW7/ebNmzt37szMzOzSpcvq1astLS2N3piQkLB///6IiAihUDho0KApU6Y4OTnt27fvzp07KpXK1tZ2+PDhffv2VSgUf//9d69evYKDg7VvPHPmjEQimTx58iP/rGZaJPeiYc8rUJgKNB+AgLJcuHcHB/Des+t+X+v3RakVUJAKxVnANHEk7M6dO0uXLhWJRBMnTjx69Oirr76qUCi0trd06VKSJCdOnKhUKsvLy43eePHixSlTpkRGRj7++OODBg06ePDgX3/9BQA///zz5cuXbW1tExISpk6devjwYY1G88MPP9y8eVP/3oMHD+7YsQPaObnxcG07XN8NRWl4E7dbWBbC9+CXwBcDSQNJAU+AX8jlP0EpbdMjdsRBuLoZ8pOBIMCnDwx9Gnz7NeIwt2/fvnfv3oQJEwAgNTX1xo0bM2fOPHXqlLu7+yeffAIAfn5+ixYtysrK8vT0/PTTT5csWfLqq6+aPJRSqXzppZemT5/+6aefarc88cQTeXl5LMuSJDlp0qRVq1ZpA9SbNm0aNGiQUCg0dP7zeLx2nV2nlMLJdXDrH1DKgADgW4BbEHQeDUFjcBba3tCoIDUMqOr3A0FBSSYUJIN7SBsdsSMOwr/vQNYdUCtBpYDYs7D3Nbh3txFHkkqlr7zyypkzZ9Rq9VNPPRUaGgoAAwcOlMvlly9fLi4uPnHiRPfu3d3c3OLj4zMyMpydnVeuXPnCCy9o9zQkMjKysLBw3rx5+i08Hs/Dw8OoAkkgENQn5a7dEfoXXPkTVDIgCXxYK6WQcg0OfwTbn4OcWGhvEIADtYntBJC8NjpiS0vh2jZQSYEW6rbwBFCcCVe3wvRPcdLSEAYNGvTOO++sXbs2ICDAxsbmww8/JAiif//+gwcPnjt3rqura0FBwZ9//ikSiQoKCjIzM3/77bf58+dnZGQsXLhwx44d/fv31x8qKSnJ0dHRycmp5llomr548aKVlVViYuLOnTt//PHH+xarti/K8yDqCBAkvrQQABQPX1l34NS3MPd74FX+udsDFB86DYesKOAbpMFrVODRFRw7NJthJyUlnT17VqVSjRkzJiAgoImPXpQKRen4JzeEpCA/AWTFYOHY0OMtXrz4n3/+2bJlS2JiojaEvm/fvkuXLv31119eXl7//PPPBx98EBISwufzSZJ86aWXZs6cCQCJiYmbN282NGyRSCSXy7WrcSNIkszIyLh+/bqVldWOHTtGjhxZUVFR07Dbr6mX54GkwPRDmSeAzEjIS8B7ul3RezbEX4TMCPxaCAIX2JZOMOxZzpcGzTMVz83NtbS0FAqFb7zxRlpaWhMfnaTwVdME8HnfmKfVzZs309LSAgMDDx8+rN1y8ODBoKCgkSNH+vv7v/TSS3FxcbGxsd7e3l5eXm5ubtp9HB0di4qKDI/Tv3//oqKiO3fu1DyFUqmcM2fOjz/++Pnnn48ZM4aiKG3pZUFBgX6f3NxcOzs7aJ8IbUBgCayuPqkaBAnKCpAb+ynbPnZesGADDF4Gnt3AtTN0nQTz1kPnkfd9X8NsgGXZ1NTUq1ev5uXlTZgwITAwUP+rW7dubdu2TSAQLF++3N/fXzu/7du3b0FBwaVLlyoqKqBpceoITv5Qkl1tlsJowLM7iGwaerDs7OzVq1cvWbJk+PDh8+bNCwoKGjt2bFBQ0J49e9LS0pydnQ8dOqStHnd3dw8JCdm5c2f37t1zc3NDQ0OffPJJw0M5OzsvXLjwnXfecXJyCgkJYVn24sWLJSUl8+bNU6vVRkUsIpGod+/ee/bsmTFjhr29fWxs7JkzZ3788Udon9h5QIf+kBsHFM3Nwg1g1GDjiq92iK0HTFwLkkJQq+r/DTTMsCUSyaeffpqcnBwREeHk5KQ37NOnT7/wwguzZ8+uqKiYMWPG9u3bu3bFKdO+ffv++uuvDhzQtPBE6APPjYOKfJ3bUKUA92AYuARnLA2BZdk9e/b4+/u/8MILFEW9+eabmzZtGjJkyIoVK+7cubNo0SJra+v8/Py33nqrS5cuAPDJJ5+88sorM2bMkMlkAwcOXL58ueHRCIL46KOPrKysXnnlFW2FMMuyr732GkEQfn5+jo7Ga4S33nrr1VdfnTdvnpWVVUlJyTPPPKN1zrdHCBJGPA+F6ZB8GX8kad2fkmUxN6PLOHD0g3aLhUODdm+Y5plGoyksLOTxeDNnzly8ePGyZcu0N+78+fO9vb2//PJLAJg7d26HDh0+//xz7VvKy8tXr169YMGCUaNGmTzmsmXLxowZs3DhQu2PDMMkJSW5ubkZZX2YLgJJvQ7Xd0LKdVxydB4J/Rbe16lQE5ZlMzIynJyctHao0WiysrKcnZ2FQiHDMDExMeXl5V5eXh4eHvq3yGSyO3fuiMVifWJJTXJyctLS0vh8vr+/v5WVlXaaLRKJrK1NpATGxMSUlJS4u7v7+PgY/aq8vDwvL8/Pz88wsbSkpITP5xul07cRJMWQcB5iTkFaOMjL0Kp5QggZD+PeqC2bsqKigmEYk19se+Ptt9+2t7d/7bXXGjZiUxTl7Owsk8kYhtHfZ3K5/ObNm4sWLdL+OGbMmM2bNzMMc+fOHYIgVCqVVq6sjmMa/tiwvGjfvuDbB1RynLk11l9KEIS3t7fh9eh/JEnSpOmKRKK+ffvWfVhXDsMtLi4ute0cFBR034u875Y2goUd9JgGPaZCRRGkhIGqApdXzlWLPjP1gX4Q+RUtKpVKJpNpByUAcHBwKCgoYFk2LS0tNDSUZdk5c+YYmUFqaur27du16oWhoaFDhgxRKpVaT7JWBUmj0bAsa3gibRGICaEFggCKM2mGwad724IkSY1GU7MWXSsG1JYj4QQBhBD8uVkew0BFRR1/XG3pfs0UwPYGTdN6lTG6qcqP9CanUqlomlar1ZMnTx43bhxJkjRd61maYNjBv3dbs2cz+GdlWWDuI4ZnpjYaY9g0TRMEoZ9C8/l8bc2w9se0tLQOHTpoFT9qy4709fV95513tP/Pzs7W5lFqd2ZZlqZpiqIMT6Gv5WxvQgvapQGPxzNaQGo0GoFAYJbvM1xj6+eM7Rm9xTXYToqKilJTU2UyWX5+fnZ2tlKp5PP548aN27p1q9bNs3fv3gkTJtTHAjMyMk6ePJmUlGS4c/tNz6gTcx6LmQbRYMP++uuvFy9enJKS8uuvv86fPz8+Ph4AVq
"<hr /><h3>Picture <code>#/pictures/3</code></h3><img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyIAAAGPCAIAAAAvMvMQAAC0hUlEQVR4nOzdB1xTV9sA8HNvbjZ7yhAURFQEwYELte69tSp1b+ves+5RR63WVbfWrVXrqHvVvRVwAAoyZYeVkHXH+0tu3zQCKiiYBJ7/x9eX3FxuTmJy89xznvMcjGEYBAAAAAAAShpe4kcEAAAAAAAQZgEAAAAAlBYCmayEhIRdu3aZmZnx+XwY+gSgzMMwTKFQZGdnz5o1SyQSIRNx7ty5e/fuOTo6GrohAIBvAcOwtLQ0Hx+f3r17a26aboBy9+7dtm3b+vn5mZubm+6zAAAUEYfDycjIePnyZXR0tIODAzIREyZMOHToUO3atTHMhM+3AICiwDAMIRQaGtq0adNDhw5hGGbCvVnW1taurq7bt2+vXr06nLwAKPNwHH/48GGfPn3YE5mpsLGxadWq1YEDBwzdEADAt4Bh2Lhx43AcZ89UhKk/GQ6Hg2kZui0AgFLHft6RqeFwODgOibAAlBccDkf3u8l/8qEfC4Dyw0Q/7ybabADA13/kTT7MAgAAAAAwThBmAQAAAACUCgizAAAAAABKBYRZAAAAAAClAsIsAAAAAIBSAWEWAAAAAECpgDALAAAAAKBUQJgFAAAAAFAqIMwCAAAAACgVJrzYDo/HM8VlN0rK5s2bHzx4wDAMSZICgcDOzm7ixIkuLi6GbhcAAAAATDnMkkgkYWFhMTExcrm83EZasbGx4eHhb968ycrK8vPzq1ixokKhMHSjAAAAgK+Wk4LiniL8v5UBP4OmkFttZOGIjI9Jhlnv378/cOBARkaGVCott2HWokWLKIqaOXPmzZs3//rrLwcHB4FAYOhGAQAAAF8t7inaMxjxREXdX5WHBu9BNdsj42OSYZaPj8+mTZvCw8O///57mqZRucQGVTwej8PhWFpaikRFfjsCAAAAxgznaGKsoodZ7J8YJZNMgccwjKtVbruydBgtiqIM3RAAAAAAlIneLBbDMIZuAgCgjMjKyoqKikpNTaVpumLFir6+vp+4iouLiwsNDRWLxQ0bNoTBegBA2QyzgObfjyAwDOPz+YZuCACmbePGjTt27GAYRq1Wc7ncDh06rF27VigUFtzz6NGjixcvJklSLpfXqlVr/fr1lStXNkSTAQAmAMIsE0NR1MuXL7OysjAcxzAsNjYuVyr95+ZNK0srBjEcHK9Ro4aVlZWhmwmAKWEYpk2bNt27d69UqRIbSI0dO7ZOnTrDhw/Pt2d0dPSYMWOGDh26ePHipKSkLl26zJs3b9++fThukgkYAIDSBmGWicnLy5syZeq9e3f5XA5CmEwuJ0mqf7++OI5TNM0huCdOnPjuu+8M3UxQZrMAGYYhCM15oywFFhiGBQYG6m7269fvt99+e/r0acE9z549a2VlNX78eKFQ6OHhMX369NGjR//222+2trafOHipNRwAYOwgzDIxDMNIcnJrW8oXtXYlSSZdbiYnGSczDo+DPYiXLbqdrVaThm4jKIOWLFny4MEDiUSiUqkcHR1dXV0XLlzo7OyMyhC1Wp2ZmalSqS5fvpyZmdm1a9eC+9y/f9/Z2dnJyYm9WaVKFYFA8OzZs1atWhWaOYphWAnOhqYoSiaTKRQKyEz9MjiOi7Qg9gXfDIRZpgfHcT9HYYvqVkitPX1jCDEI4ZgVn7P8vlRzE4CShmEYh8NJSEjIysqyt7cvS11ZOm/fvh05cmRubm5UVNS8efPatm1bcJ/U1FSxWMzlctmb5ubmZmZmiYmJ+vuQJDllypSIiAgMw3Acj4yMDAwMlEgkGIZ9TXjEMExOTo5UKiUIoky+/t8ASZIMw1hZWUEFHGPGEHxebq55sUJhDMvNzVXlyDBSWYotK1JDNJ96uVwuFovZLRBmmSSK0f6/5n/+j0FqGi5wQWmZN28ewzAjR44MCQk5cuSIhYVF2esPcHJymj17dm5u7vnz57dv316vXr0WLVoU3E3/iWNa+YInHMcbN27s4eGBaxMo2XorfD7/a8IsDMOkUqlMJnN2dra0tCx7L/63wTBMSkpKdna2WCzm8/nQKWikCB7B4xX3j3g8Hs7nIUMXz2LPCWxmBQvCLABAUc8d7Lc7h8Mpk1/zVlZWHTp0QAj17NmzVatWv/zyS8Ewy9bWNikpiSRJ9jQq1dKNIbJwHO/Tp4/uZnZ29uvXr3WXtl9MJpPx+XwbG5sy+eJ/M7a2tjk5OVwuFzq0jBqfj4oVBDMMX4OL+P/2NBsWl8vVBfHQ8wwAKJ4y3wdAEISdnV12dnbBtKrAwMDk5OSkpCT2ZlRUVF5eXu3atT9xNJIsmXRJmqZhrPDrsa9hmX8PA+MBH1qThGMIcbB8P1zNVgBAsalUqnPnzqWnpyuVyry8vJMnT165cqVVq1bsV/LWrVvnz58vl8sRQp06dUpNTd25c6dSqUxMTFy3bl3Hjh0/Mc0QAFDOwaCh6eFg6Emyau31VP1kLA6GvctU0gwDoRYAxcUwzJo1a968eSMWi/Py8jAM69Gjx+TJk9l7Hz169OrVq2nTpgmFQm9v73Xr1i1fvvzkyZO5ubmenp4rVqwwSCcTTdNhYWFKlQor0WkvNE1VqlTJ0dHxaw6Sm5ubnJwsEolcXFwK3puampqdnW1jY/PZ8DQuLk6pVOrvSZKkSqVi+6IEAgGH828mDsMwcrmcz+frtrDRM03TUKYfGBaEWaaHg2MPk8m32en6GxmESIqmGE1ReMM1DQCTxOfz9+7d+/btW4lEQhBE5cqV9RfbmT17tv68ocGDBzdu3JhdbCcoKMjMzMwgbVYqlT/88ENycjKnRLuxVSS1Yvny0aNHf/ERNmzYcOTIkezsbB6P5+/vv2jRIldXV/YuiUTy888/X7t2TaFQmJmZjRkzZtCgQYUe5PTp09u2bUtISKAoyszMzM/Pb/r06VWqVLl8+fLPP//MpgniOF6/fv3x48c7OTmlp6f36tVr0aJF+lUDV69enZaWtnbtWhhsBQYEYZbpUVHMIF/Rhh6V/i3owMKxB7GyTkeTacg5AKD4KmoVepenp2e+LV5ayKAYhklITm1lK+vnZ10ik4wxDCnU9KBT6VKp7IsPcuLEiRkzZkyePLl///5v3rwZO3asTCY7cOAAh8PJzs4eNGhQVFTU1KlTq1evHhERYWFhUehBVq5cuWTJkh49evz4448VKlQIDw/fsWPHsWPHZs+eHR8f//Tp05kzZ7q7u0dHR2/duvXhw4cXLlxQqVQ3b95MSUnRP05YWFhCQgKkYQHDgjDLJPFwJOLhH4wV4JiQC/1YAJQnGB7kbt4zwPaD2i5ffjREqujxZ1I0AdcnpaSk3L9/PygoiB3Lo2n6woULlStXrl69+sWLF2vUqPHTTz8JhcIaNWq8efNm8eLFSqVSJBKdO3fu6tWroaGhVapUQQg1atSo0INHREQsWrRoypQpS5cuZbfUrl27R48ebAiFYZidnV3fvn3Zg7i4uIwYMeLly5cVKlRg58DqH4rL5fKKXxcAgJIFXakmSXNOZfL/wDUbAOUNSWvr55XQj4oq0lmEw+GsX79+zJgxCoUCIbR27doxY8ao1WqEUM2aNdPT0+Pi4tg9w8LCatasyePxGIY5c+ZMq1ataJo+dOjQ8ePHY2NjCz344cOHra2t8w0mCgQCd3d39nd2eW/2dzc3NxzH2dKvX/lKAlBKoDcLAABAMdjZ2a1du7ZNmzbbt2+vXbv28uXL165d6+fnhxAaNmzY69ev+/XrV6tWrffv30ul0s2bNxMEoVKpXr58KRKJ+vTpw+FwMjMzeTze5s2bmzdvnu/gDx8+rFixoi6oKohhGKWWVCrdsWOHubl5zZo1S6pqBgBlPMwKDQ3dv39/amrqtGnTatasaejmAAAAKIS/v/8vv/wyZcoUoVDYv3//wYMHs9uzsrJSUlIoisK1cnJyEhIS/P39GYYhSfLRo0dHjx7t3LmzVCrt27fvzJkzr1y5ki9DS6VS8bQKfVyCIJKSkn
"<hr /><h3>Picture <code>#/pictures/4</code></h3><img src=\"data:image/png;base64,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
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from docling_core.types.doc.document import PictureDescriptionData\n",
"from IPython import display\n",
"\n",
"html_buffer = []\n",
"# display the first 5 pictures and their captions and annotations:\n",
"for pic in doc.pictures[:5]:\n",
" html_item = (\n",
" f\"<h3>Picture <code>{pic.self_ref}</code></h3>\"\n",
2025-04-14 18:01:26 +02:00
" f'<img src=\"{pic.image.uri!s}\" /><br />'\n",
2025-02-19 11:28:54 +01:00
" f\"<h4>Caption</h4>{pic.caption_text(doc=doc)}<br />\"\n",
" )\n",
" for annotation in pic.annotations:\n",
" if not isinstance(annotation, PictureDescriptionData):\n",
" continue\n",
" html_item += (\n",
" f\"<h4>Annotations ({annotation.provenance})</h4>{annotation.text}<br />\\n\"\n",
" )\n",
" html_buffer.append(html_item)\n",
"display.HTML(\"<hr />\".join(html_buffer))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Describe pictures with SmolVLM\n",
"\n",
"This section will run locally the [HuggingFaceTB/SmolVLM-256M-Instruct](https://huggingface.co/HuggingFaceTB/SmolVLM-256M-Instruct) model to describe the pictures of the document."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"from docling.datamodel.pipeline_options import smolvlm_picture_description\n",
"\n",
"pipeline_options = PdfPipelineOptions()\n",
"pipeline_options.do_picture_description = True\n",
"pipeline_options.picture_description_options = (\n",
" smolvlm_picture_description # <-- the model choice\n",
")\n",
"pipeline_options.picture_description_options.prompt = (\n",
" \"Describe the image in three sentences. Be consise and accurate.\"\n",
")\n",
"pipeline_options.images_scale = 2.0\n",
"pipeline_options.generate_picture_images = True\n",
"\n",
"converter = DocumentConverter(\n",
" format_options={\n",
" InputFormat.PDF: PdfFormatOption(\n",
" pipeline_options=pipeline_options,\n",
" )\n",
" }\n",
")\n",
"doc = converter.convert(DOC_SOURCE).document"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<h3>Picture <code>#/pictures/0</code></h3><img src=\"data:image/png;base64,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
"<hr /><h3>Picture <code>#/pictures/1</code></h3><img src=\"data:image/png;base64,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
"- Science\n",
"- Articles\n",
"- Law and Regulations\n",
"- Articles\n",
"- Misc.<br />\n",
"<hr /><h3>Picture <code>#/pictures/2</code></h3><img src=\"data:image/png;base64,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
"\n",
"The chart shows a clear trend: as the number of pages increases, the number of pages decreases. This is evident from the following points:\n",
"\n",
"- The number of pages increases from 100 to 1000.\n",
"- The number of pages decreases from 1000 to 10,000.\n",
"- The number of pages increases from 10,000 to 10,000.<br />\n",
"<hr /><h3>Picture <code>#/pictures/3</code></h3><img src=\"data:image/png;base64,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
"<hr /><h3>Picture <code>#/pictures/4</code></h3><img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXkAAAF4CAIAAAA+PR7PAABKO0lEQVR4nO3dB1gU19oH8DOzld4FKyAqqKBgARQRbEFEDaKiGFEBFVGjqLEllmBI7MaCFY1dVOyxIqixEGyoEAsgKL33he0z3wPjtxcRUZdlYZf3d31y2dkpZ7b895wzM2cwkiQRAAA0MryxNwAAAAghelMXAPF4PJFI1NSlAADIHo7jqqqq1N9Yk7ehfHx8rl692rZtW4IgmrYkAABZwXG8vLycRqPFxsZScdP09Ro+n+/i4jJjxoymLggAQJYePnx48OBBDMOoh02fNTQarUuXLo6Ojk1dEACALInF4tOnTzevvmHorwFA+QgEgppdNM0iawAASg+yBgAgD03fXwNAc0MQRGVlpVAobPKjtAoBx3EWi6WiolL/bJA1AHyEIIjc3NzS0lKsWlMXRwFQiaxXrZ5XDLIGgI9wOJySkpK2bduqq6tD1nwNkiSLiooKCwvV1NTqqd1A1gDwET6fz2QyNTU1m7ogCgPDMB0dnfz8fKFQWE/WQN8wAB8hSZJGo0FPzTeh2pv1v2iQNQAAeYA2FACKRCwWv3jxIjc3V0dHx9rams1m13z27du3ycnJbDa7S5curVu3/txKXr16lZ6eTqfTO3To0LlzZ6rlmJqayuPxEEJMJtPU1JTFYiGEKioq0tLSTE1NJRvicrlpaWlUf9Y3lRyyBoAvyXiB7u5F9KrvngyI+GigP2rXU4pFi4uLlyxZcuvWLT09veLi4q5du+7Zs6dNmzZUBgUFBZ05c4YkSS6XO3z48F27duF47YZLcnLy6tWrHz16xGQycRwnCMLV1fW3337Lzs728fHJzc1lMBg4jrdq1WrlypWDBw+Oj4+fMWPGqVOnunXrRq3h7du3Pj4+W7duHTBgwDcVHrKmeSvLRWmxCKd984KEGGm3ke4DDWoryUKx5xDrw9gIDcWvRD1GSffWXLhw4fjx43fu3OnRo0dKSoqbm9uWLVs2bdqEENq0adPhw4f37Nnj7OzM4/GysrI+7T0pLCycMGECg8E4dOiQtbU1SZLPnj27cOFCaWmpWCzOzMz8+eefPT09MzIyAgMDf/zxx3/++UckEqWlpQkEgv8Vn89PT0+nakDyyxqhUCgQCHAcZ7PZtY4OisXixMREHo9nbGysra39ab6Cr5IWiw5NQ8xv/5QLucjGA03a1SilamlwGmKqIMYXzlX7WiT5xR+P/fv3p6SkBAcH4zjO5XJXr15taWk5ZcqU9PR0Y2NjW1tbhFC3aomJiVSIhIWFBQYGurq6isViFRUVHR2dT1d78uTJjIyMqKio7t27U1MGDBjg4OBAEERJSQmdTtf+f6tXr3Z1dU1MTGQwGHQ6vea3G8OwWlO+kvQRsHXrVgcHhzZt2owaNaq0tLTmU0+ePBk+fPjo0aN9fX2dnJyePn0q9VZauqpPuaqU/2RV5wdy17t372PHju3YsQMhtH79+rNnzzo4OCCEXFxcxGLx4cOHX758efbs2aysrClTpiCEXr58mZmZqaam5uXl5ezsvGzZstTU1FrrJAji77//7tWrlyRoKBiGSY670ekfKh85OTl0Ol1FRUWGx+OkrNcQBIFh2JQpU+7fv5+cnFyzQJmZmT/88IOTk9OWLVvU1dUzMjI6dOggq+IC0BLY2Nhs3rx50aJFZWVlR44cCQkJMTMzQwjZ2dn5+PjMmjWrY8eO6enpnp6e48aNq2pql5UVFRVt27bNx8dnzJgx69ati42NDQsL09PTk6yTz+cXFxf37PnZthtJkpcvXy4oKMjMzDx06JCDg0PXrl0fP37cxFmD4/j8+fOpburk5OSaT+3fv19NTS0kJITJZCKETE1N618VnJoJwKfGjx9/7969VatW/frrryNGjKAmnjp1KjQ09ODBg4MGDYqNjV2yZMnatWuXL19O9fJOmjTpp59+oppXffv2ffTokaurq2SFNBoNx/HKysp6vobPnz8vLCxECPn5+c2ePZvNZn9utEwp6jsN7RsWCoU1H4pEoujo6C5duuzdu/f27dsaGhozZ86kqn818fl8kUhE7R61Bjh1qm4k2ZAkhldVcV+0ioqKhIQEOp2ek5NDEASVJsePH7e3t584cSJCyNXV9Z9//jlz5sz8+fMNDAz09fWtrKyoZbt06YLjeE5OTs0VMplMCwuLly9fVlZWSsYAliBJEsOwZcuWeXp61pyO4ziGYTUTSigU8ng86oj4pyup+erVeiVlfByqsrKSw+HExMTweLyhQ4c+evTI3d395MmTQ4YMqTnb0qVLb968SfUoJycnd+rUicPhSNGzrdxIBptdXq4pXb0Pw/h8fmlpBSbkyr5kSo3D4ZAkKRQKP9S4GQxcLP72A4H1EYvFVbWFj3+nJXAcJ0ny559/LikpuXr16syZM3fs2DF//nyxWEyn00tKSqhcoA6BUxlkZmbWvn37J0+ejB49GiH0+vVrkiQNDAxq1gbodPoPP/zg4eFx4sSJ6dOnSzb333//dejQgSAIkiTFYjFVY5B037Rv315XVzcyMrJfv37U/A8fPhSJRF26dCEIgpqf6lQRi8WlpaWSZdlsdq1uXBlnDYZhAoHA0NAwNDSU2tVBgwYdPHhw8ODBNdtKvr6+I0eOpNGq3sE//vgDx3EVFRWqzQX+B6fRVFSrDltIgSQZDIaWGhsRDNkXTKkJhUI+n//xoRYSCbhIVo19ARdHZNVBmf/viP3UkSNHTpw4cfHixf79+69Zs2bx4sW9evVydHT08vLy9fUNDAx0dnaOjY09ffr00qVLqXPqZsyY8ccff2hoaBgaGoaEhDg5OVHj6kq6exFCzs7O8+bNW7FixYMHDxwdHQmCuHv3bk5OzsGDB+l0Op/Pp1pM1BeTYmxsPGnSpJCQED6fb2Vl9fLlywMHDsydO9fAwIA6IEXNRtW81NTUNDU1qayh0WhqamqNmDUaGhra2tr6+vpU0FAH1S5fviwSiRiM/33oe/ToIfn78OHDVKFrvijgAyajQaOKMOhwCtW3YjAYAoHgowEldNqiXh4yPJcP02lb9cdnwksgECQkJGzbtq1///4IIW9v79zc3GfPnjk6Oo4fP55Opx8/fnzfvn1sNnvTpk0+Pj7UUgEBATo6OidPnhQIBIMHD16wYIGWllat/lA6nR4cHDxkyJAjR46Eh4fjOG5sbPz777+3adMmJydn8uTJXbp0+bQLddWqVR07drx48eKTJ09UVFTWrl3r5eVV6ywW6uViVpNMrFV7aOgHkU6nUyPlSKbY2treuHFD0iZ89eqViYlJzaSsRVINA3VoHn0HLb2/pl1PeZ6pxGQy//jjj5pTqB5fyphqIpHo09/midUkLazPGVSNqolIJrZu3XrdunV1zo/j+JRqdW60npdOZv01t2/ffvny5Z07d9LS0rZu3dquXbvRo0dra2vPnDnz9OnTCxcu9PDwePr0aURExKlTp+BcPgBkqJ7v/Fce2JXiK9nAlof0EZCYmHj9+nV1dXUnJ6eYmJjo6Ggut6ob0tjY+PTp0xwOZ+XKlXfv3j169Ojw4cMbUkQAgBKQPqhmVqszUG1sbI4dO8blcplMZj2tJwBAyyF91nyxqvbFsY4BAC0HdKMAAOQBsgYAIA+QNQAAeYCsAUCBiUQiRTlDDU4qBeALMioyYvJikKzGIyCRfSv7dmrt6pklKSlp69atbdq0mT9/vmRY38jIyPDw8H79+k2bNo0kSeoihtTUVDabPWzYMD8/v08HGE5NTd22bZu6unpgYKCuri41MSYm5tChQ1ZWVgEBAfI88Q2yBoAvuJ933+u6F5LVhWVCFDY8bKJp1bXan5OZmbl7924VFRVHR8eBAwdSp9eHhIRcvHixrKxs2rRpBEGkpKRYWVmNGTOmuLh406ZNT58+PX36dM0rgRBCubm5+/fv53A4dnZ2bm5u1MTdu3cfOXJk2LBhs2bNQnIEWQPAF9AxelXQ0GW6wnphGGZgYGBjY3
"\n",
"- The x-axis represents the number of pages, ranging from 0 to 14.\n",
"- The y-axis represents the page count, ranging from 0 to 14.\n",
"- The chart has three categories: Marker, Unstructured, and Detailed.\n",
"- The x-axis is labeled \"see/page.\"\n",
"- The y-axis is labeled \"Page Count.\"\n",
"- The chart shows that the Marker category has the highest number of pages, followed by the Unstructured category, and then the Detailed category.<br />\n"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from docling_core.types.doc.document import PictureDescriptionData\n",
"from IPython import display\n",
"\n",
"html_buffer = []\n",
"# display the first 5 pictures and their captions and annotations:\n",
"for pic in doc.pictures[:5]:\n",
" html_item = (\n",
" f\"<h3>Picture <code>{pic.self_ref}</code></h3>\"\n",
2025-04-14 18:01:26 +02:00
" f'<img src=\"{pic.image.uri!s}\" /><br />'\n",
2025-02-19 11:28:54 +01:00
" f\"<h4>Caption</h4>{pic.caption_text(doc=doc)}<br />\"\n",
" )\n",
" for annotation in pic.annotations:\n",
" if not isinstance(annotation, PictureDescriptionData):\n",
" continue\n",
" html_item += (\n",
" f\"<h4>Annotations ({annotation.provenance})</h4>{annotation.text}<br />\\n\"\n",
" )\n",
" html_buffer.append(html_item)\n",
"display.HTML(\"<hr />\".join(html_buffer))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Use other vision models\n",
"\n",
"The examples above can also be reproduced using other vision model.\n",
2025-04-28 14:52:09 +08:00
"The Docling options `PictureDescriptionVlmOptions` allows to specify your favorite vision model from the Hugging Face Hub."
2025-02-19 11:28:54 +01:00
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"from docling.datamodel.pipeline_options import PictureDescriptionVlmOptions\n",
"\n",
"pipeline_options = PdfPipelineOptions()\n",
"pipeline_options.do_picture_description = True\n",
"pipeline_options.picture_description_options = PictureDescriptionVlmOptions(\n",
" repo_id=\"\", # <-- add here the Hugging Face repo_id of your favorite VLM\n",
" prompt=\"Describe the image in three sentences. Be consise and accurate.\",\n",
")\n",
"pipeline_options.images_scale = 2.0\n",
"pipeline_options.generate_picture_images = True\n",
"\n",
"converter = DocumentConverter(\n",
" format_options={\n",
" InputFormat.PDF: PdfFormatOption(\n",
" pipeline_options=pipeline_options,\n",
" )\n",
" }\n",
")\n",
"\n",
"# Uncomment to run:\n",
"# doc = converter.convert(DOC_SOURCE).document"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
2025-03-14 12:35:29 +01:00
"display_name": "docling-hgXEfXco-py3.12",
2025-02-19 11:28:54 +01:00
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.7"
}
},
"nbformat": 4,
"nbformat_minor": 2
}