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 +8 -1
- donkit/llm/model_abstract.py +1 -1
- donkit/llm/openai_model.py +2 -8
- {donkit_llm-0.1.0.dist-info → donkit_llm-0.1.1.dist-info}/METADATA +2 -2
- donkit_llm-0.1.1.dist-info/RECORD +9 -0
- donkit_llm-0.1.0.dist-info/RECORD +0 -9
- {donkit_llm-0.1.0.dist-info → donkit_llm-0.1.1.dist-info}/WHEEL +0 -0
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}")
|
donkit/llm/model_abstract.py
CHANGED
|
@@ -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
|
|
162
|
+
return capability in list(self.capabilities)
|
|
163
163
|
|
|
164
164
|
@abstractmethod
|
|
165
165
|
async def generate(self, request: GenerateRequest) -> GenerateResponse:
|
donkit/llm/openai_model.py
CHANGED
|
@@ -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.
|
|
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,,
|
|
File without changes
|