From d55a365c6c91ba617cc97a663dcc689e74d1191d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81ngel=20Igareta?= <32129522+angeligareta@users.noreply.github.com> Date: Mon, 15 Apr 2024 17:01:35 +0200 Subject: [PATCH] Fix CDN URL in mermaid graph renderer (#20381) Description of features on mermaid graph renderer: - Fixing CDN to use official Mermaid JS CDN: https://www.jsdelivr.com/package/npm/mermaid?tab=files - Add device_scale_factor to allow increasing quality of resulting PNG. --- libs/core/langchain_core/runnables/graph_mermaid.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libs/core/langchain_core/runnables/graph_mermaid.py b/libs/core/langchain_core/runnables/graph_mermaid.py index ad7f012bdb9..591d3e68ffe 100644 --- a/libs/core/langchain_core/runnables/graph_mermaid.py +++ b/libs/core/langchain_core/runnables/graph_mermaid.py @@ -185,6 +185,7 @@ async def _render_mermaid_using_pyppeteer( output_file_path: Optional[str] = None, background_color: Optional[str] = "white", padding: int = 10, + device_scale_factor: int = 3, ) -> bytes: """Renders Mermaid graph using Pyppeteer.""" try: @@ -199,7 +200,9 @@ async def _render_mermaid_using_pyppeteer( # Setup Mermaid JS await page.goto("about:blank") - await page.addScriptTag({"url": "https://unpkg.com/mermaid/dist/mermaid.min.js"}) + await page.addScriptTag( + {"url": "https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"} + ) await page.evaluate( """() => { mermaid.initialize({startOnLoad:true}); @@ -236,6 +239,7 @@ async def _render_mermaid_using_pyppeteer( { "width": int(dimensions["width"] + padding), "height": int(dimensions["height"] + padding), + "deviceScaleFactor": device_scale_factor, } )