From cd6c924acfb4de24732c8d7614917f90451328e6 Mon Sep 17 00:00:00 2001
From: Simonas <20096648+simjak@users.noreply.github.com>
Date: Tue, 27 Feb 2024 09:26:00 +0200
Subject: [PATCH] fix: PIL Image type

---
 semantic_router/route.py | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/semantic_router/route.py b/semantic_router/route.py
index 4b322dd0..46c7c3e4 100644
--- a/semantic_router/route.py
+++ b/semantic_router/route.py
@@ -2,14 +2,20 @@ import json
 import re
 from typing import Any, Callable, Dict, List, Optional, Union
 
-from PIL.Image import Image
 from pydantic.v1 import BaseModel
+from typing_extensions import TypeAlias
 
 from semantic_router.llms import BaseLLM
 from semantic_router.schema import Message, RouteChoice
 from semantic_router.utils import function_call
 from semantic_router.utils.logger import logger
 
+PILImage: TypeAlias = Union[Any, "Image"]
+try:
+    from PIL.Image import Image
+except ImportError:
+    pass
+
 
 def is_valid(route_config: str) -> bool:
     try:
@@ -41,7 +47,7 @@ def is_valid(route_config: str) -> bool:
 
 class Route(BaseModel):
     name: str
-    utterances: Union[List[str], List[Image]]
+    utterances: Union[List[str], List[PILImage]]
     description: Optional[str] = None
     function_schema: Optional[Dict[str, Any]] = None
     llm: Optional[BaseLLM] = None
-- 
GitLab