donkit-llm 0.1.0__py3-none-any.whl → 0.1.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
donkit/llm/factory.py CHANGED
@@ -121,7 +121,7 @@ class ModelFactory:
121
121
  @staticmethod
122
122
  def create_model(
123
123
  provider: Literal[
124
- "openai", "azure_openai", "claude", "claude_vertex", "vertex"
124
+ "openai", "azure_openai", "claude", "claude_vertex", "vertex", "ollama"
125
125
  ],
126
126
  model_name: str,
127
127
  credentials: dict,
@@ -160,5 +160,12 @@ class ModelFactory:
160
160
  location=credentials.get("location", "us-central1"),
161
161
  credentials=credentials.get("credentials"),
162
162
  )
163
+ elif provider == "ollama":
164
+ # Ollama uses OpenAI-compatible API
165
+ return ModelFactory.create_openai_model(
166
+ model_name=model_name,
167
+ api_key=credentials.get("api_key", "ollama"),
168
+ base_url=credentials.get("base_url"),
169
+ )
163
170
  else:
164
171
  raise ValueError(f"Unknown provider: {provider}")
@@ -159,7 +159,7 @@ class LLMModelAbstract(ABC):
159
159
 
160
160
  def supports_capability(self, capability: ModelCapability) -> bool:
161
161
  """Check if this model supports a specific capability."""
162
- return bool(self.capabilities & capability)
162
+ return capability in list(self.capabilities)
163
163
 
164
164
  @abstractmethod
165
165
  async def generate(self, request: GenerateRequest) -> GenerateResponse:
@@ -61,17 +61,11 @@ class OpenAIModel(LLMModelAbstract):
61
61
  | ModelCapability.STREAMING
62
62
  | ModelCapability.STRUCTURED_OUTPUT
63
63
  | ModelCapability.TOOL_CALLING
64
+ | ModelCapability.VISION
65
+ | ModelCapability.MULTIMODAL_INPUT
64
66
  )
65
67
 
66
68
  model_lower = self._model_name.lower()
67
-
68
- # Vision models (GPT-4o, GPT-4 Turbo, GPT-5, etc.)
69
- if any(
70
- x in model_lower
71
- for x in ["gpt-4o", "gpt-4-turbo", "gpt-4-vision", "gpt-5", "o1", "o3"]
72
- ):
73
- caps |= ModelCapability.VISION | ModelCapability.MULTIMODAL_INPUT
74
-
75
69
  # Audio models
76
70
  if "audio" in model_lower:
77
71
  caps |= ModelCapability.AUDIO_INPUT | ModelCapability.MULTIMODAL_INPUT
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: donkit-llm
3
- Version: 0.1.0
4
- Summary: Unified LLM model implementations for Donkit (OpenAI, Azure OpenAI, Claude, Vertex AI)
3
+ Version: 0.1.1
4
+ Summary: Unified LLM model implementations for Donkit (OpenAI, Azure OpenAI, Claude, Vertex AI, Ollama)
5
5
  License: MIT
6
6
  Author: Donkit AI
7
7
  Author-email: opensource@donkit.ai
@@ -0,0 +1,9 @@
1
+ donkit/llm/__init__.py,sha256=VLnsTe_cB_FkKQbutGkEGVXOGevbrfgICRjqTXq4nsA,1193
2
+ donkit/llm/claude_model.py,sha256=RCvqaFSIaWJvcmW7y706Kc8l6YKdP0xR3chYRR-otV8,16589
3
+ donkit/llm/factory.py,sha256=Hn64gpI-H-jny4cHI0iaG_bRbRmyvk5cGVT7uU3wrDk,5991
4
+ donkit/llm/model_abstract.py,sha256=5mVXvdcP-LHXR17cGfpCqc32O391F1rJY62ygdI9PBo,7862
5
+ donkit/llm/openai_model.py,sha256=oR4iEECFadKOMN_DO-t11vdedpqD7f_DWrjEOAK0p98,19200
6
+ donkit/llm/vertex_model.py,sha256=z14briPYZt3qmxJZdJYvPKyGSHZxLdNKiF1N2_FNoZc,17066
7
+ donkit_llm-0.1.1.dist-info/METADATA,sha256=f1CV_hXEtJn9byW8-QmQ1dYqCArgs8OCM5mVzK_tHnc,676
8
+ donkit_llm-0.1.1.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
9
+ donkit_llm-0.1.1.dist-info/RECORD,,
@@ -1,9 +0,0 @@
1
- donkit/llm/__init__.py,sha256=VLnsTe_cB_FkKQbutGkEGVXOGevbrfgICRjqTXq4nsA,1193
2
- donkit/llm/claude_model.py,sha256=RCvqaFSIaWJvcmW7y706Kc8l6YKdP0xR3chYRR-otV8,16589
3
- donkit/llm/factory.py,sha256=PRRIY3sMOxgBTX-5Ecci62TWW9k9MP7lyhHyoo4dZeM,5676
4
- donkit/llm/model_abstract.py,sha256=-v_hDMzKS6_sZ3kWY6WUIP1LoAvXQvn7YZC9Hy4lWWo,7861
5
- donkit/llm/openai_model.py,sha256=nGTPjzsldILsFG6GlU5ZNwsTfaWT9rsApvpNpxLhbAc,19395
6
- donkit/llm/vertex_model.py,sha256=z14briPYZt3qmxJZdJYvPKyGSHZxLdNKiF1N2_FNoZc,17066
7
- donkit_llm-0.1.0.dist-info/METADATA,sha256=rIuOQ0ZALJXKIxqMbqA0_lJn2puEaHfV5TXnegO-CaY,668
8
- donkit_llm-0.1.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
9
- donkit_llm-0.1.0.dist-info/RECORD,,