@zhivex-ai/ollama 0.3.14 → 0.4.0
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.
- package/README.md +44 -4
- package/dist/index.d.ts +9 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +248 -30
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@ bun add @zhivex-ai/sdk @zhivex-ai/ollama
|
|
|
13
13
|
Start Ollama and pull the model before running the example:
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
|
-
ollama pull
|
|
16
|
+
ollama pull qwen3
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
```ts
|
|
@@ -25,17 +25,57 @@ const ollama = createOllama({
|
|
|
25
25
|
});
|
|
26
26
|
|
|
27
27
|
const result = await generateText({
|
|
28
|
-
model: ollama("
|
|
29
|
-
prompt: "Explain why local inference is useful."
|
|
28
|
+
model: ollama("qwen3"),
|
|
29
|
+
prompt: "Explain why local inference is useful.",
|
|
30
|
+
reasoning: {
|
|
31
|
+
effort: "medium"
|
|
32
|
+
}
|
|
30
33
|
});
|
|
31
34
|
|
|
32
35
|
console.log(result.text);
|
|
33
36
|
```
|
|
34
37
|
|
|
35
|
-
The adapter supports streaming, callable tools, JSON/structured output, image input
|
|
38
|
+
The adapter supports streaming, callable and parallel tools, JSON/structured output, image input, thinking, and text embeddings through `ollama.embeddingModel(modelId)`. Exact capabilities depend on the selected local or cloud model.
|
|
39
|
+
|
|
40
|
+
Tool-call arguments use Ollama's native JSON-object shape in both responses and follow-up assistant history. Legacy responses that encode arguments as JSON strings remain accepted. Streaming `{ "error": ... }` records are surfaced as provider errors even when the HTTP response already started with status 200.
|
|
41
|
+
|
|
42
|
+
The adapter targets `/api/chat`. Chat-native `logprobs` and `top_logprobs` are supported and validated; `/api/generate`-only `raw` and `template` options are rejected explicitly.
|
|
43
|
+
|
|
44
|
+
## Thinking and tool loops
|
|
45
|
+
|
|
46
|
+
The shared reasoning contract maps `effort: "none"` to `think: false`. Recognized Qwen 3/3.5, DeepSeek R1/v3.1, and Gemma 4 models preserve the native `low`, `medium`, `high`, and `max` levels. GPT-OSS accepts only `low`, `medium`, or `high` and cannot disable thinking.
|
|
47
|
+
|
|
48
|
+
Returned `message.thinking` content is preserved as Ollama `provider-data`, including streamed deltas, and is sent back with assistant tool calls during multi-step loops. `budgetTokens`, reasoning `mode`/`context`, and hiding thinking while an explicit effort is active are rejected instead of being silently ignored.
|
|
49
|
+
|
|
50
|
+
Use either the shared `reasoning` option or native `providerOptions.think`, not both. Shared reasoning is advertised only for recognized thinking-model families; custom or newly released models can use `providerOptions.think` as the explicit escape hatch.
|
|
51
|
+
|
|
52
|
+
## Ollama Cloud
|
|
53
|
+
|
|
54
|
+
The local daemon requires no API key. For direct Ollama Cloud access, use the official Cloud base URL and a key:
|
|
55
|
+
|
|
56
|
+
```ts
|
|
57
|
+
const ollamaCloud = createOllama({
|
|
58
|
+
baseURL: "https://ollama.com/api",
|
|
59
|
+
apiKey: process.env.OLLAMA_API_KEY
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
const result = await generateText({
|
|
63
|
+
model: ollamaCloud("gpt-oss:120b"),
|
|
64
|
+
prompt: "Summarize this design.",
|
|
65
|
+
reasoning: { effort: "high" }
|
|
66
|
+
});
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
`baseURL` may be the host root or end in `/api`; the adapter avoids duplicating the path. Direct `ollama.com` requests normally authenticate with `apiKey`, `OLLAMA_API_KEY`, or an explicit `Authorization` header. Custom headers can be provided through `createOllama({ headers })`, and an authenticated custom `fetch` remains supported for gateways that sign requests themselves.
|
|
70
|
+
|
|
71
|
+
Ollama Cloud does not currently support structured outputs or expose embedding models, so direct Cloud model instances advertise those capabilities as unavailable; model IDs tagged `cloud` or `*-cloud` also disable structured-output metadata. A signed-in local Ollama daemon can still proxy cloud models without passing a Cloud key to this SDK and can embed through locally installed models.
|
|
72
|
+
|
|
73
|
+
The adapter does not expose provider-hosted tools, Ollama's separate web-search/web-fetch APIs, remote MCP, audio, or files.
|
|
36
74
|
|
|
37
75
|
`createOllama()` reads `OLLAMA_HOST` and otherwise defaults to `http://localhost:11434`. An explicit `baseURL` takes precedence.
|
|
38
76
|
|
|
77
|
+
Plain HTTP is accepted only for loopback Ollama endpoints. Remote endpoints require HTTPS unless a server-side integration explicitly sets `allowUnsafeEndpoints: true`.
|
|
78
|
+
|
|
39
79
|
Repository and full documentation:
|
|
40
80
|
|
|
41
81
|
- <https://github.com/Zhivex/zhivex-ai-sdk>
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
import { type CallableProviderAdapter, type ProviderAdapter } from "@zhivex-ai/core";
|
|
2
2
|
export interface OllamaProviderOptions {
|
|
3
3
|
baseURL?: string;
|
|
4
|
+
apiKey?: string;
|
|
5
|
+
headers?: HeadersInit;
|
|
4
6
|
fetch?: typeof globalThis.fetch;
|
|
7
|
+
allowUnsafeEndpoints?: boolean;
|
|
5
8
|
}
|
|
6
9
|
export interface OllamaLanguageModelOptions {
|
|
7
|
-
format?: "json" | Record<string, unknown
|
|
10
|
+
format?: "json" | Record<string, unknown>;
|
|
8
11
|
keep_alive?: string | number;
|
|
12
|
+
think?: boolean | "low" | "medium" | "high" | "max";
|
|
13
|
+
logprobs?: boolean;
|
|
14
|
+
top_logprobs?: number;
|
|
15
|
+
/** @deprecated Ollama exposes `raw` only on `/api/generate`; this adapter uses `/api/chat`. */
|
|
9
16
|
raw?: boolean;
|
|
17
|
+
/** @deprecated Ollama exposes `template` only on `/api/generate`; this adapter uses `/api/chat`. */
|
|
10
18
|
template?: string;
|
|
11
19
|
options?: Record<string, unknown>;
|
|
12
20
|
[key: string]: unknown;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAoBL,KAAK,uBAAuB,EAO5B,KAAK,eAAe,EAErB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+FAA+F;IAC/F,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,oGAAoG;IACpG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAonBD,eAAO,MAAM,YAAY,GAAI,UAAS,qBAA0B,KAAG,uBAAuB,GAAG,eAoC5F,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { toJSONSchema } from "zod";
|
|
2
|
-
import { ConfigurationError, ProviderHTTPError, isCallableToolDefinition, UnsupportedFeatureError, ValidationError, createProviderAdapter, normalizeFinishReason, withRetry, withTimeoutSignal } from "@zhivex-ai/core";
|
|
2
|
+
import { ConfigurationError, ParseError, assertTrustedEndpoint, isLoopbackHostname, ProviderHTTPError, isCallableToolDefinition, UnsupportedFeatureError, ValidationError, createProviderAdapter, normalizeFinishReason, providerDataPart, readErrorBodyWithLimit, readJsonWithLimit, serializeJsonValue, withRetry, withTimeoutSignal } from "@zhivex-ai/core";
|
|
3
3
|
const capabilities = {
|
|
4
4
|
streaming: true,
|
|
5
5
|
tools: true,
|
|
@@ -26,6 +26,144 @@ const capabilities = {
|
|
|
26
26
|
toolsets: false
|
|
27
27
|
}
|
|
28
28
|
};
|
|
29
|
+
const embeddingCapabilities = {
|
|
30
|
+
...capabilities,
|
|
31
|
+
streaming: false,
|
|
32
|
+
tools: false,
|
|
33
|
+
structuredOutput: false,
|
|
34
|
+
jsonMode: false,
|
|
35
|
+
parallelToolCalls: false,
|
|
36
|
+
vision: false,
|
|
37
|
+
embeddings: true
|
|
38
|
+
};
|
|
39
|
+
const isJsonObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
40
|
+
const parseToolArguments = (value) => {
|
|
41
|
+
let parsed = value === undefined ? {} : value;
|
|
42
|
+
if (typeof parsed === "string") {
|
|
43
|
+
try {
|
|
44
|
+
parsed = JSON.parse(parsed);
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
throw new ParseError("Ollama tool call arguments contained invalid JSON.", { cause: error });
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
if (!isJsonObject(parsed)) {
|
|
51
|
+
throw new ValidationError("Ollama tool call arguments must be a JSON object.");
|
|
52
|
+
}
|
|
53
|
+
try {
|
|
54
|
+
return serializeJsonValue(parsed);
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
throw new ValidationError("Ollama tool call arguments must be JSON-compatible.", { cause: error });
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
const thinkingFromMessage = (message) => message.parts
|
|
61
|
+
.filter((part) => {
|
|
62
|
+
if (part.type !== "provider-data" || part.provider !== "ollama") {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
if (!isJsonObject(part.data)) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
const data = part.data;
|
|
69
|
+
return data.type === "thinking" && typeof data.thinking === "string";
|
|
70
|
+
})
|
|
71
|
+
.map((part) => part.type === "provider-data" && isJsonObject(part.data) ? String(part.data.thinking) : "")
|
|
72
|
+
.join("");
|
|
73
|
+
const isGptOssModel = (modelId) => /(?:^|[/:-])gpt-oss(?=$|[/:-])/i.test(modelId);
|
|
74
|
+
const isKnownThinkingModel = (modelId) => /(?:^|[/:-])(?:qwen3(?:\.5)?|gpt-oss|deepseek-(?:r1|v3\.1)|gemma4)(?=$|[/:-])/i.test(modelId);
|
|
75
|
+
const isCloudModel = (modelId) => /(?:^|:)(?:cloud|[^:]+-cloud)$/i.test(modelId);
|
|
76
|
+
const capabilitiesForModel = (modelId, directCloud) => ({
|
|
77
|
+
...capabilities,
|
|
78
|
+
embeddings: directCloud ? false : capabilities.embeddings,
|
|
79
|
+
structuredOutput: directCloud || isCloudModel(modelId) ? false : capabilities.structuredOutput,
|
|
80
|
+
jsonMode: directCloud || isCloudModel(modelId) ? false : capabilities.jsonMode,
|
|
81
|
+
reasoning: isKnownThinkingModel(modelId),
|
|
82
|
+
reasoningEfforts: isKnownThinkingModel(modelId)
|
|
83
|
+
? isGptOssModel(modelId)
|
|
84
|
+
? ["low", "medium", "high"]
|
|
85
|
+
: ["none", "low", "medium", "high", "max"]
|
|
86
|
+
: undefined
|
|
87
|
+
});
|
|
88
|
+
const apiEndpoint = (baseURL, endpoint) => {
|
|
89
|
+
const url = new URL(baseURL);
|
|
90
|
+
const path = url.pathname.replace(/\/+$/, "");
|
|
91
|
+
url.pathname = `${path.endsWith("/api") ? path : `${path}/api`}/${endpoint}`.replace(/\/{2,}/g, "/");
|
|
92
|
+
url.search = "";
|
|
93
|
+
url.hash = "";
|
|
94
|
+
return url.toString();
|
|
95
|
+
};
|
|
96
|
+
const jsonHeaders = (configuredHeaders, apiKey) => {
|
|
97
|
+
const headers = new Headers(configuredHeaders);
|
|
98
|
+
headers.set("content-type", "application/json");
|
|
99
|
+
if (apiKey) {
|
|
100
|
+
headers.set("authorization", `Bearer ${apiKey}`);
|
|
101
|
+
}
|
|
102
|
+
return headers;
|
|
103
|
+
};
|
|
104
|
+
const providerErrorFromPayload = (payload, fallbackStatus, streaming) => {
|
|
105
|
+
const status = typeof payload.status === "number" && payload.status >= 400 && payload.status <= 599
|
|
106
|
+
? payload.status
|
|
107
|
+
: fallbackStatus >= 400 && fallbackStatus <= 599
|
|
108
|
+
? fallbackStatus
|
|
109
|
+
: 500;
|
|
110
|
+
return new ProviderHTTPError(streaming ? "Ollama streaming request failed." : "Ollama request failed.", status, { responseBody: JSON.stringify(payload) });
|
|
111
|
+
};
|
|
112
|
+
const validateNativeThink = (value) => {
|
|
113
|
+
if (value !== undefined &&
|
|
114
|
+
typeof value !== "boolean" &&
|
|
115
|
+
value !== "low" &&
|
|
116
|
+
value !== "medium" &&
|
|
117
|
+
value !== "high" &&
|
|
118
|
+
value !== "max") {
|
|
119
|
+
throw new ValidationError('Ollama "think" must be a boolean or "low", "medium", "high", or "max".');
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
const mapReasoning = (modelId, input) => {
|
|
123
|
+
const reasoning = input.reasoning;
|
|
124
|
+
const nativeThink = input.providerOptions?.think;
|
|
125
|
+
validateNativeThink(nativeThink);
|
|
126
|
+
if (!reasoning) {
|
|
127
|
+
if (isGptOssModel(modelId) && (typeof nativeThink === "boolean" || nativeThink === "max")) {
|
|
128
|
+
throw new UnsupportedFeatureError('Ollama GPT-OSS models require "think" to be "low", "medium", or "high".');
|
|
129
|
+
}
|
|
130
|
+
return nativeThink;
|
|
131
|
+
}
|
|
132
|
+
if (nativeThink !== undefined) {
|
|
133
|
+
throw new ValidationError('Do not combine shared "reasoning" with Ollama "providerOptions.think".');
|
|
134
|
+
}
|
|
135
|
+
if (!isKnownThinkingModel(modelId)) {
|
|
136
|
+
throw new UnsupportedFeatureError(`Provider "ollama" model "${modelId}" is not a recognized thinking model; use "providerOptions.think" for custom models.`);
|
|
137
|
+
}
|
|
138
|
+
if (reasoning.budgetTokens !== undefined) {
|
|
139
|
+
throw new UnsupportedFeatureError('Provider "ollama" does not support "reasoning.budgetTokens".');
|
|
140
|
+
}
|
|
141
|
+
if (reasoning.mode !== undefined || reasoning.context !== undefined) {
|
|
142
|
+
throw new UnsupportedFeatureError('Provider "ollama" does not support "reasoning.mode" or "reasoning.context".');
|
|
143
|
+
}
|
|
144
|
+
const effort = reasoning.effort;
|
|
145
|
+
if (effort === "minimal" || effort === "xhigh") {
|
|
146
|
+
throw new UnsupportedFeatureError(`Provider "ollama" does not support reasoning effort "${effort}".`);
|
|
147
|
+
}
|
|
148
|
+
if (effort === "none" && reasoning.includeThoughts) {
|
|
149
|
+
throw new UnsupportedFeatureError('Provider "ollama" cannot include thinking when reasoning effort is "none".');
|
|
150
|
+
}
|
|
151
|
+
if (effort && effort !== "none" && reasoning.includeThoughts === false) {
|
|
152
|
+
throw new UnsupportedFeatureError('Provider "ollama" cannot hide thinking while an explicit reasoning effort is enabled.');
|
|
153
|
+
}
|
|
154
|
+
const think = effort === "none"
|
|
155
|
+
? false
|
|
156
|
+
: effort
|
|
157
|
+
? effort
|
|
158
|
+
: reasoning.includeThoughts;
|
|
159
|
+
if (think === undefined) {
|
|
160
|
+
throw new ValidationError('The Ollama "reasoning" config must include "effort" or "includeThoughts".');
|
|
161
|
+
}
|
|
162
|
+
if (isGptOssModel(modelId) && (typeof think === "boolean" || think === "max")) {
|
|
163
|
+
throw new UnsupportedFeatureError('Ollama GPT-OSS models require reasoning effort "low", "medium", or "high".');
|
|
164
|
+
}
|
|
165
|
+
return think;
|
|
166
|
+
};
|
|
29
167
|
const parseDataUrl = (value) => {
|
|
30
168
|
const match = value.match(/^data:(image\/[a-zA-Z0-9.+-]+);base64,(.+)$/);
|
|
31
169
|
if (!match) {
|
|
@@ -39,6 +177,7 @@ const mapMessages = (messages) => messages.map((message) => {
|
|
|
39
177
|
return {
|
|
40
178
|
role: "tool",
|
|
41
179
|
tool_name: toolResult?.type === "tool-result" ? toolResult.toolResult.toolName : undefined,
|
|
180
|
+
tool_call_id: toolResult?.type === "tool-result" ? toolResult.toolResult.toolCallId : undefined,
|
|
42
181
|
content: toolResult?.type === "tool-result"
|
|
43
182
|
? JSON.stringify(toolResult.toolResult.isError ? toolResult.toolResult.error : toolResult.toolResult.output)
|
|
44
183
|
: ""
|
|
@@ -57,13 +196,16 @@ const mapMessages = (messages) => messages.map((message) => {
|
|
|
57
196
|
id: part.toolCall.id ?? `${part.toolCall.name}-${index}`,
|
|
58
197
|
type: "function",
|
|
59
198
|
function: {
|
|
199
|
+
index,
|
|
60
200
|
name: part.toolCall.name,
|
|
61
|
-
arguments:
|
|
201
|
+
arguments: parseToolArguments(part.toolCall.input)
|
|
62
202
|
}
|
|
63
203
|
}));
|
|
204
|
+
const thinking = message.role === "assistant" ? thinkingFromMessage(message) : "";
|
|
64
205
|
return {
|
|
65
206
|
role: message.role,
|
|
66
207
|
content: text,
|
|
208
|
+
...(thinking ? { thinking } : {}),
|
|
67
209
|
...(images.length ? { images } : {}),
|
|
68
210
|
...(toolCalls.length ? { tool_calls: toolCalls } : {})
|
|
69
211
|
};
|
|
@@ -94,29 +236,41 @@ const mapFormat = (input) => {
|
|
|
94
236
|
const parseAssistantMessage = (message) => ({
|
|
95
237
|
role: "assistant",
|
|
96
238
|
parts: [
|
|
239
|
+
...(typeof message?.thinking === "string" && message.thinking
|
|
240
|
+
? [providerDataPart("ollama", { type: "thinking", thinking: message.thinking })]
|
|
241
|
+
: []),
|
|
97
242
|
...(typeof message?.content === "string" && message.content ? [{ type: "text", text: message.content }] : []),
|
|
98
|
-
...((message?.tool_calls
|
|
243
|
+
...((Array.isArray(message?.tool_calls) ? message.tool_calls : []).map((call, index) => ({
|
|
99
244
|
type: "tool-call",
|
|
100
245
|
toolCall: {
|
|
101
|
-
id: call.id ??
|
|
246
|
+
id: call.id ??
|
|
247
|
+
`${call.function?.name ?? "tool"}-${typeof call.function?.index === "number" ? call.function.index : index}`,
|
|
102
248
|
name: call.function?.name ?? "tool",
|
|
103
|
-
input:
|
|
249
|
+
input: parseToolArguments(call.function?.arguments)
|
|
104
250
|
}
|
|
105
|
-
}))
|
|
251
|
+
})))
|
|
106
252
|
]
|
|
107
253
|
});
|
|
108
254
|
const parseJson = async (response) => {
|
|
109
255
|
if (!response.ok) {
|
|
110
|
-
const body = await response
|
|
256
|
+
const body = await readErrorBodyWithLimit(response);
|
|
111
257
|
throw new ProviderHTTPError(`Ollama request failed with status ${response.status}.`, response.status, {
|
|
112
258
|
responseBody: body
|
|
113
259
|
});
|
|
114
260
|
}
|
|
115
|
-
|
|
261
|
+
const json = await readJsonWithLimit(response, {
|
|
262
|
+
maxBytes: 128 * 1024 * 1024,
|
|
263
|
+
provider: "ollama",
|
|
264
|
+
endpoint: response.url || undefined
|
|
265
|
+
});
|
|
266
|
+
if (isJsonObject(json) && typeof json.error === "string") {
|
|
267
|
+
throw providerErrorFromPayload(json, response.status, false);
|
|
268
|
+
}
|
|
269
|
+
return json;
|
|
116
270
|
};
|
|
117
271
|
const parseJsonLines = async function* (response) {
|
|
118
272
|
if (!response.ok) {
|
|
119
|
-
const body = await response
|
|
273
|
+
const body = await readErrorBodyWithLimit(response);
|
|
120
274
|
throw new ProviderHTTPError(`Ollama request failed with status ${response.status}.`, response.status, {
|
|
121
275
|
responseBody: body
|
|
122
276
|
});
|
|
@@ -134,12 +288,21 @@ const parseJsonLines = async function* (response) {
|
|
|
134
288
|
break;
|
|
135
289
|
}
|
|
136
290
|
buffer += decoder.decode(value, { stream: true });
|
|
291
|
+
if (buffer.length > 1024 * 1024) {
|
|
292
|
+
await reader.cancel("Ollama JSON line exceeded 1048576 characters.").catch(() => { });
|
|
293
|
+
throw new ValidationError("Ollama streaming response line exceeded 1048576 characters.");
|
|
294
|
+
}
|
|
137
295
|
let newlineIndex = buffer.indexOf("\n");
|
|
138
296
|
while (newlineIndex !== -1) {
|
|
139
297
|
const line = buffer.slice(0, newlineIndex).trim();
|
|
140
298
|
buffer = buffer.slice(newlineIndex + 1);
|
|
141
299
|
if (line) {
|
|
142
|
-
|
|
300
|
+
const json = JSON.parse(line);
|
|
301
|
+
if (isJsonObject(json) && typeof json.error === "string") {
|
|
302
|
+
await reader.cancel("Ollama streaming request failed.").catch(() => { });
|
|
303
|
+
throw providerErrorFromPayload(json, response.status, true);
|
|
304
|
+
}
|
|
305
|
+
yield json;
|
|
143
306
|
}
|
|
144
307
|
newlineIndex = buffer.indexOf("\n");
|
|
145
308
|
}
|
|
@@ -147,7 +310,11 @@ const parseJsonLines = async function* (response) {
|
|
|
147
310
|
buffer += decoder.decode();
|
|
148
311
|
const finalLine = buffer.trim();
|
|
149
312
|
if (finalLine) {
|
|
150
|
-
|
|
313
|
+
const json = JSON.parse(finalLine);
|
|
314
|
+
if (isJsonObject(json) && typeof json.error === "string") {
|
|
315
|
+
throw providerErrorFromPayload(json, response.status, true);
|
|
316
|
+
}
|
|
317
|
+
yield json;
|
|
151
318
|
}
|
|
152
319
|
}
|
|
153
320
|
catch (error) {
|
|
@@ -176,21 +343,39 @@ const normalizeOllamaError = (error) => {
|
|
|
176
343
|
class OllamaLanguageModel {
|
|
177
344
|
modelId;
|
|
178
345
|
baseURL;
|
|
346
|
+
apiKey;
|
|
347
|
+
configuredHeaders;
|
|
179
348
|
fetcher;
|
|
180
349
|
provider = "ollama";
|
|
181
|
-
capabilities
|
|
182
|
-
constructor(modelId, baseURL, fetcher) {
|
|
350
|
+
capabilities;
|
|
351
|
+
constructor(modelId, baseURL, apiKey, configuredHeaders, fetcher, directCloud) {
|
|
183
352
|
this.modelId = modelId;
|
|
184
353
|
this.baseURL = baseURL;
|
|
354
|
+
this.apiKey = apiKey;
|
|
355
|
+
this.configuredHeaders = configuredHeaders;
|
|
185
356
|
this.fetcher = fetcher;
|
|
357
|
+
this.capabilities = capabilitiesForModel(modelId, directCloud);
|
|
186
358
|
}
|
|
187
359
|
toRequestBody(input, stream) {
|
|
360
|
+
if (input.providerOptions?.raw !== undefined || input.providerOptions?.template !== undefined) {
|
|
361
|
+
throw new UnsupportedFeatureError('Ollama "raw" and "template" options belong to `/api/generate`; this adapter uses `/api/chat`.');
|
|
362
|
+
}
|
|
363
|
+
const providerFormat = input.providerOptions?.format;
|
|
364
|
+
if (typeof providerFormat === "string" && providerFormat !== "json") {
|
|
365
|
+
throw new ValidationError('Ollama chat "format" must be "json" or a JSON Schema object.');
|
|
366
|
+
}
|
|
367
|
+
const topLogprobs = input.providerOptions?.top_logprobs;
|
|
368
|
+
if (topLogprobs !== undefined &&
|
|
369
|
+
(typeof topLogprobs !== "number" || !Number.isInteger(topLogprobs) || topLogprobs < 0 || topLogprobs > 20)) {
|
|
370
|
+
throw new ValidationError('Ollama "top_logprobs" must be an integer between 0 and 20.');
|
|
371
|
+
}
|
|
188
372
|
return {
|
|
189
373
|
...input.providerOptions,
|
|
190
374
|
model: this.modelId,
|
|
191
375
|
messages: mapMessages(input.messages),
|
|
192
376
|
tools: mapTools(input.tools),
|
|
193
377
|
format: mapFormat(input) ?? input.providerOptions?.format,
|
|
378
|
+
think: mapReasoning(this.modelId, input),
|
|
194
379
|
options: {
|
|
195
380
|
...(typeof input.providerOptions?.options === "object" && input.providerOptions?.options
|
|
196
381
|
? input.providerOptions.options
|
|
@@ -204,12 +389,9 @@ class OllamaLanguageModel {
|
|
|
204
389
|
async generate(input) {
|
|
205
390
|
const { signal, cleanup } = withTimeoutSignal(input);
|
|
206
391
|
try {
|
|
207
|
-
|
|
208
|
-
throw new UnsupportedFeatureError('Provider "ollama" does not support "reasoning".');
|
|
209
|
-
}
|
|
210
|
-
const response = await withRetry(() => this.fetcher(`${this.baseURL}/api/chat`, {
|
|
392
|
+
const response = await withRetry(() => this.fetcher(apiEndpoint(this.baseURL, "chat"), {
|
|
211
393
|
method: "POST",
|
|
212
|
-
headers:
|
|
394
|
+
headers: jsonHeaders(this.configuredHeaders, this.apiKey),
|
|
213
395
|
signal,
|
|
214
396
|
body: JSON.stringify(this.toRequestBody(input, false))
|
|
215
397
|
}), input);
|
|
@@ -242,12 +424,9 @@ class OllamaLanguageModel {
|
|
|
242
424
|
async stream(input) {
|
|
243
425
|
const { signal, cleanup } = withTimeoutSignal(input);
|
|
244
426
|
try {
|
|
245
|
-
|
|
246
|
-
throw new UnsupportedFeatureError('Provider "ollama" does not support "reasoning".');
|
|
247
|
-
}
|
|
248
|
-
const response = await withRetry(() => this.fetcher(`${this.baseURL}/api/chat`, {
|
|
427
|
+
const response = await withRetry(() => this.fetcher(apiEndpoint(this.baseURL, "chat"), {
|
|
249
428
|
method: "POST",
|
|
250
|
-
headers:
|
|
429
|
+
headers: jsonHeaders(this.configuredHeaders, this.apiKey),
|
|
251
430
|
signal,
|
|
252
431
|
body: JSON.stringify(this.toRequestBody(input, true))
|
|
253
432
|
}), input);
|
|
@@ -268,6 +447,13 @@ class OllamaLanguageModel {
|
|
|
268
447
|
toolCall: part.toolCall
|
|
269
448
|
};
|
|
270
449
|
}
|
|
450
|
+
if (part.type === "provider-data") {
|
|
451
|
+
yield {
|
|
452
|
+
type: "provider-data",
|
|
453
|
+
provider: part.provider,
|
|
454
|
+
data: part.data
|
|
455
|
+
};
|
|
456
|
+
}
|
|
271
457
|
}
|
|
272
458
|
if (json.done) {
|
|
273
459
|
yield {
|
|
@@ -297,13 +483,21 @@ class OllamaLanguageModel {
|
|
|
297
483
|
class OllamaEmbeddingModel {
|
|
298
484
|
modelId;
|
|
299
485
|
baseURL;
|
|
486
|
+
apiKey;
|
|
487
|
+
configuredHeaders;
|
|
300
488
|
fetcher;
|
|
301
489
|
provider = "ollama";
|
|
302
|
-
capabilities
|
|
303
|
-
constructor(modelId, baseURL, fetcher) {
|
|
490
|
+
capabilities;
|
|
491
|
+
constructor(modelId, baseURL, apiKey, configuredHeaders, fetcher, directCloud) {
|
|
304
492
|
this.modelId = modelId;
|
|
305
493
|
this.baseURL = baseURL;
|
|
494
|
+
this.apiKey = apiKey;
|
|
495
|
+
this.configuredHeaders = configuredHeaders;
|
|
306
496
|
this.fetcher = fetcher;
|
|
497
|
+
this.capabilities = {
|
|
498
|
+
...embeddingCapabilities,
|
|
499
|
+
embeddings: !directCloud
|
|
500
|
+
};
|
|
307
501
|
}
|
|
308
502
|
async embed(input) {
|
|
309
503
|
const { signal, cleanup } = withTimeoutSignal(input);
|
|
@@ -314,9 +508,9 @@ class OllamaEmbeddingModel {
|
|
|
314
508
|
return value;
|
|
315
509
|
});
|
|
316
510
|
try {
|
|
317
|
-
const response = await withRetry(() => this.fetcher(
|
|
511
|
+
const response = await withRetry(() => this.fetcher(apiEndpoint(this.baseURL, "embed"), {
|
|
318
512
|
method: "POST",
|
|
319
|
-
headers:
|
|
513
|
+
headers: jsonHeaders(this.configuredHeaders, this.apiKey),
|
|
320
514
|
signal,
|
|
321
515
|
body: JSON.stringify({
|
|
322
516
|
model: this.modelId,
|
|
@@ -342,12 +536,36 @@ class OllamaEmbeddingModel {
|
|
|
342
536
|
}
|
|
343
537
|
}
|
|
344
538
|
export const createOllama = (options = {}) => {
|
|
345
|
-
const
|
|
539
|
+
const configuredBaseURL = options.baseURL ?? process.env.OLLAMA_HOST ?? "http://localhost:11434";
|
|
540
|
+
let candidate;
|
|
541
|
+
try {
|
|
542
|
+
candidate = new URL(configuredBaseURL);
|
|
543
|
+
}
|
|
544
|
+
catch (error) {
|
|
545
|
+
throw new ConfigurationError("Ollama baseURL must be an absolute URL.", { cause: error });
|
|
546
|
+
}
|
|
547
|
+
const baseURL = assertTrustedEndpoint(configuredBaseURL, {
|
|
548
|
+
label: "Ollama baseURL",
|
|
549
|
+
protocols: options.allowUnsafeEndpoints || candidate.protocol === "https:" || isLoopbackHostname(candidate.hostname)
|
|
550
|
+
? ["http", "https"]
|
|
551
|
+
: ["https"],
|
|
552
|
+
allowLoopback: true,
|
|
553
|
+
allowUnsafe: options.allowUnsafeEndpoints
|
|
554
|
+
}).toString().replace(/\/+$/, "");
|
|
555
|
+
if (options.apiKey !== undefined && !options.apiKey.trim()) {
|
|
556
|
+
throw new ConfigurationError("Ollama apiKey must be a non-empty string when provided.");
|
|
557
|
+
}
|
|
558
|
+
const directCloud = candidate.hostname === "ollama.com";
|
|
559
|
+
const configuredHeaders = new Headers(options.headers);
|
|
560
|
+
const cloudEnvironmentKey = directCloud && !configuredHeaders.has("authorization")
|
|
561
|
+
? process.env.OLLAMA_API_KEY?.trim() || undefined
|
|
562
|
+
: undefined;
|
|
563
|
+
const apiKey = options.apiKey?.trim() ?? cloudEnvironmentKey;
|
|
346
564
|
const fetcher = options.fetch ?? globalThis.fetch;
|
|
347
565
|
return createProviderAdapter({
|
|
348
566
|
name: "ollama",
|
|
349
|
-
languageModel: (modelId) => new OllamaLanguageModel(modelId, baseURL, fetcher),
|
|
350
|
-
embeddingModel: (modelId) => new OllamaEmbeddingModel(modelId, baseURL, fetcher)
|
|
567
|
+
languageModel: (modelId) => new OllamaLanguageModel(modelId, baseURL, apiKey, configuredHeaders, fetcher, directCloud),
|
|
568
|
+
embeddingModel: (modelId) => new OllamaEmbeddingModel(modelId, baseURL, apiKey, configuredHeaders, fetcher, directCloud)
|
|
351
569
|
});
|
|
352
570
|
};
|
|
353
571
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zhivex-ai/ollama",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Ollama adapter for Zhivex AI SDK.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"access": "public"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@zhivex-ai/core": "^1.
|
|
44
|
+
"@zhivex-ai/core": "^1.2.0",
|
|
45
45
|
"zod": "^4.4.3"
|
|
46
46
|
}
|
|
47
47
|
}
|