@holokai/holo-provider-ollama 1.3.0 → 1.3.1
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/dist/ollama.auditor.d.ts +7 -26
- package/dist/ollama.auditor.d.ts.map +1 -1
- package/dist/ollama.auditor.js +58 -81
- package/dist/ollama.auditor.js.map +1 -1
- package/dist/ollama.provider.d.ts +5 -5
- package/dist/ollama.provider.d.ts.map +1 -1
- package/dist/ollama.provider.js +15 -35
- package/dist/ollama.provider.js.map +1 -1
- package/dist/plugin.d.ts +3 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +5 -1
- package/dist/plugin.js.map +1 -1
- package/package.json +4 -4
package/dist/ollama.auditor.d.ts
CHANGED
|
@@ -1,32 +1,13 @@
|
|
|
1
1
|
import { BaseAuditor } from "@holokai/sdk/provider";
|
|
2
2
|
import type { HoloWorkerRequest, WorkerResponseEnvelope } from "@holokai/types/worker";
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
5
|
-
import {
|
|
3
|
+
import type { ProviderDoneEvent, ProviderEvent } from "@holokai/types/provider";
|
|
4
|
+
import type { ProviderEnvelope, ProviderResponseMetrics } from "@holokai/types/entities";
|
|
5
|
+
import { FinishReason } from "@holokai/types/entities";
|
|
6
6
|
export declare class OllamaAuditor extends BaseAuditor {
|
|
7
7
|
readonly provider = "ollama";
|
|
8
|
-
protected
|
|
9
|
-
protected
|
|
10
|
-
protected
|
|
11
|
-
|
|
12
|
-
}>, envelope: WorkerResponseEnvelope): Promise<Partial<{
|
|
13
|
-
usage_raw: any;
|
|
14
|
-
input_tokens: any;
|
|
15
|
-
output_tokens: any;
|
|
16
|
-
time_to_first_token: any;
|
|
17
|
-
total_processing_time: any;
|
|
18
|
-
}>>;
|
|
19
|
-
protected createProviderEnvelope(payload: GenerateRequest | ChatRequest): Promise<ProviderEnvelope>;
|
|
20
|
-
protected extractExtraTokens(_metrics: Record<string, any>, base: Record<string, number>): Record<string, number>;
|
|
21
|
-
private extractUserPromptFromMessages;
|
|
22
|
-
private extractSystemPromptFromMessages;
|
|
23
|
-
/**
|
|
24
|
-
* Calculate time to first token using Ollama's timing data
|
|
25
|
-
* Time to first token = load_duration + prompt_eval_duration
|
|
26
|
-
* This represents the time spent loading the model and evaluating the prompt before generating the first token
|
|
27
|
-
* @param payload - Ollama response payload with timing information
|
|
28
|
-
* @returns Time to first token in milliseconds, or undefined if timing data is unavailable
|
|
29
|
-
*/
|
|
30
|
-
private calculateTimeToFirstToken;
|
|
8
|
+
protected extractRequestOptions(workerRequest: HoloWorkerRequest): Promise<Record<string, any>>;
|
|
9
|
+
protected mapProviderResponseMetrics(providerEvent: ProviderDoneEvent): Promise<Partial<ProviderResponseMetrics>>;
|
|
10
|
+
protected extractFinishReason(providerEvent: ProviderEvent, _envelope: WorkerResponseEnvelope): Promise<FinishReason | undefined>;
|
|
11
|
+
protected createProviderEnvelope(workerRequest: HoloWorkerRequest): Promise<ProviderEnvelope>;
|
|
31
12
|
}
|
|
32
13
|
//# sourceMappingURL=ollama.auditor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.auditor.d.ts","sourceRoot":"","sources":["../src/ollama.auditor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"ollama.auditor.d.ts","sourceRoot":"","sources":["../src/ollama.auditor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAyD,MAAM,uBAAuB,CAAC;AAE1G,OAAO,KAAK,EAAC,iBAAiB,EAAE,sBAAsB,EAAC,MAAM,uBAAuB,CAAC;AACrF,OAAO,KAAK,EAAC,iBAAiB,EAAE,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAC9E,OAAO,KAAK,EAAC,gBAAgB,EAAE,uBAAuB,EAAC,MAAM,yBAAyB,CAAC;AACvF,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AAIrD,qBACa,aAAc,SAAQ,WAAW;IAC1C,QAAQ,CAAC,QAAQ,YAAY;cAEb,qBAAqB,CAAC,aAAa,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;cAMrF,0BAA0B,CAAC,aAAa,EAAE,iBAAiB;cAyB3D,mBAAmB,CAAC,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,sBAAsB,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;cAiBvH,sBAAsB,CAAC,aAAa,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAgCtG"}
|
package/dist/ollama.auditor.js
CHANGED
|
@@ -5,98 +5,75 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { injectable } from 'tsyringe';
|
|
8
|
-
import { BaseAuditor } from "@holokai/sdk/provider";
|
|
9
|
-
import { pickDefined } from "@holokai/sdk";
|
|
8
|
+
import { BaseAuditor, extractPromptByRole, extractTextContent, normalizeText } from "@holokai/sdk/provider";
|
|
9
|
+
import { nsToMs, pickDefined } from "@holokai/sdk";
|
|
10
|
+
import { FinishReason } from "@holokai/types/entities";
|
|
10
11
|
import { OllamaProtocols } from "./plugin";
|
|
11
12
|
let OllamaAuditor = class OllamaAuditor extends BaseAuditor {
|
|
12
13
|
provider = 'ollama';
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
if (workerRequest.protocol.name === OllamaProtocols.CHAT) {
|
|
17
|
-
const chatPayload = payload;
|
|
18
|
-
const userPrompt = this.extractUserPromptFromMessages(chatPayload.messages);
|
|
19
|
-
const systemPrompt = this.extractSystemPromptFromMessages(chatPayload.messages);
|
|
20
|
-
if (userPrompt !== undefined) {
|
|
21
|
-
llmRequest.metadata.user_prompt = userPrompt;
|
|
22
|
-
}
|
|
23
|
-
if (systemPrompt !== undefined) {
|
|
24
|
-
llmRequest.metadata.system_prompt = systemPrompt;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
else if (workerRequest.protocol.name === OllamaProtocols.GENERATE) {
|
|
28
|
-
const generatePayload = payload;
|
|
29
|
-
if (generatePayload.prompt !== undefined) {
|
|
30
|
-
llmRequest.metadata.user_prompt = generatePayload.prompt;
|
|
31
|
-
}
|
|
32
|
-
if (generatePayload.system !== undefined) {
|
|
33
|
-
llmRequest.metadata.system_prompt = generatePayload.system;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
mapProviderPayload(workerRequest, llmRequest) {
|
|
38
|
-
const payload = workerRequest.payload;
|
|
39
|
-
if (payload.options !== undefined) {
|
|
40
|
-
llmRequest.metadata.options = payload.options;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
async mapResponseMetrics(providerEvent, envelope) {
|
|
44
|
-
const metrics = await super.mapResponseMetrics(providerEvent, envelope);
|
|
45
|
-
if (providerEvent.type === 'error') {
|
|
46
|
-
return metrics;
|
|
47
|
-
}
|
|
48
|
-
const payload = providerEvent.message;
|
|
49
|
-
const usage = {
|
|
50
|
-
input_tokens: payload.prompt_eval_count || metrics.input_tokens,
|
|
51
|
-
output_tokens: payload.eval_count || metrics.output_tokens,
|
|
52
|
-
time_to_first_token: this.calculateTimeToFirstToken(payload) || metrics.time_to_first_token,
|
|
53
|
-
total_processing_time: payload.total_duration ? Math.round(payload.total_duration / 1000000) : metrics.total_processing_time
|
|
14
|
+
async extractRequestOptions(workerRequest) {
|
|
15
|
+
return {
|
|
16
|
+
...workerRequest.payload.options
|
|
54
17
|
};
|
|
55
|
-
return pickDefined({
|
|
56
|
-
usage_raw: usage,
|
|
57
|
-
...usage
|
|
58
|
-
});
|
|
59
18
|
}
|
|
60
|
-
async
|
|
19
|
+
async mapProviderResponseMetrics(providerEvent) {
|
|
20
|
+
const payload = providerEvent.message;
|
|
21
|
+
const { load_duration, eval_count, prompt_eval_count, prompt_eval_duration, total_duration } = payload;
|
|
61
22
|
return pickDefined({
|
|
62
|
-
|
|
23
|
+
input_tokens: prompt_eval_count,
|
|
24
|
+
output_tokens: eval_count,
|
|
25
|
+
total_tokens: eval_count + prompt_eval_count,
|
|
26
|
+
time_to_first_token: load_duration != null && prompt_eval_duration != null ? Math.round(nsToMs(load_duration + prompt_eval_duration)) : undefined,
|
|
27
|
+
total_processing_time: total_duration != null ? Math.round(nsToMs(total_duration)) : undefined,
|
|
28
|
+
usage_raw: {
|
|
29
|
+
load_duration,
|
|
30
|
+
prompt_eval_duration,
|
|
31
|
+
total_duration,
|
|
32
|
+
eval_count,
|
|
33
|
+
prompt_eval_count
|
|
34
|
+
},
|
|
35
|
+
metadata: {
|
|
36
|
+
load_duration,
|
|
37
|
+
prompt_eval_duration
|
|
38
|
+
}
|
|
63
39
|
});
|
|
64
40
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
if (!messages || !Array.isArray(messages))
|
|
70
|
-
return undefined;
|
|
71
|
-
const userMessages = messages.filter(msg => msg.role === 'user');
|
|
72
|
-
if (userMessages.length === 0)
|
|
73
|
-
return undefined;
|
|
74
|
-
// Return the last user message content
|
|
75
|
-
const lastUserMessage = userMessages[userMessages.length - 1];
|
|
76
|
-
return typeof lastUserMessage.content === 'string' ? lastUserMessage.content : undefined;
|
|
77
|
-
}
|
|
78
|
-
extractSystemPromptFromMessages(messages) {
|
|
79
|
-
if (!messages || !Array.isArray(messages))
|
|
41
|
+
async extractFinishReason(providerEvent, _envelope) {
|
|
42
|
+
if (providerEvent.type === 'error')
|
|
43
|
+
return FinishReason.ERROR;
|
|
44
|
+
if (providerEvent.type !== 'done')
|
|
80
45
|
return undefined;
|
|
81
|
-
const
|
|
82
|
-
|
|
46
|
+
const doneReason = providerEvent.message?.done_reason;
|
|
47
|
+
switch (doneReason) {
|
|
48
|
+
case 'stop':
|
|
49
|
+
return FinishReason.STOP;
|
|
50
|
+
case 'load':
|
|
51
|
+
return FinishReason.ERROR;
|
|
52
|
+
case 'length':
|
|
53
|
+
return FinishReason.LENGTH;
|
|
54
|
+
default:
|
|
55
|
+
return FinishReason.STOP;
|
|
56
|
+
}
|
|
83
57
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
const loadDuration = payload.load_duration;
|
|
93
|
-
const promptEvalDuration = payload.prompt_eval_duration;
|
|
94
|
-
if (loadDuration !== undefined && promptEvalDuration !== undefined) {
|
|
95
|
-
// Convert nanoseconds to milliseconds and sum the durations
|
|
96
|
-
const timeToFirstTokenNs = loadDuration + promptEvalDuration;
|
|
97
|
-
return Math.round(timeToFirstTokenNs / 1000000);
|
|
58
|
+
async createProviderEnvelope(workerRequest) {
|
|
59
|
+
const payload = workerRequest.payload;
|
|
60
|
+
let last_user_prompt;
|
|
61
|
+
let system_prompt;
|
|
62
|
+
if (workerRequest.protocol.name === OllamaProtocols.GENERATE) {
|
|
63
|
+
const generatePayload = payload;
|
|
64
|
+
last_user_prompt = normalizeText(generatePayload.prompt);
|
|
65
|
+
system_prompt = generatePayload.system ? normalizeText(generatePayload.system) : generatePayload.system;
|
|
98
66
|
}
|
|
99
|
-
|
|
67
|
+
else {
|
|
68
|
+
const chatPayload = payload;
|
|
69
|
+
last_user_prompt = extractPromptByRole(chatPayload.messages, "user", "last", (msg) => extractTextContent(msg.content));
|
|
70
|
+
system_prompt = extractPromptByRole(chatPayload.messages, "system", "first", (msg) => extractTextContent(msg.content));
|
|
71
|
+
}
|
|
72
|
+
return pickDefined({
|
|
73
|
+
access_model: payload.model,
|
|
74
|
+
last_user_prompt,
|
|
75
|
+
system_prompt
|
|
76
|
+
});
|
|
100
77
|
}
|
|
101
78
|
};
|
|
102
79
|
OllamaAuditor = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.auditor.js","sourceRoot":"","sources":["../src/ollama.auditor.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"ollama.auditor.js","sourceRoot":"","sources":["../src/ollama.auditor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { ChatRequest, EmbedRequest, ErrorResponse, GenerateRequest, ListResponse, Ollama } from 'ollama';
|
|
2
2
|
import { BaseProvider } from '@holokai/sdk/provider';
|
|
3
3
|
import type { IAuditor, IProviderTranslator, IResponseFactory, ProviderContext, RunHandle } from '@holokai/types/provider';
|
|
4
|
-
export declare class OllamaProvider extends BaseProvider<Ollama, GenerateRequest | ChatRequest> {
|
|
5
|
-
getModelNameFromRequest(payload: GenerateRequest | ChatRequest): Promise<string>;
|
|
4
|
+
export declare class OllamaProvider extends BaseProvider<Ollama, EmbedRequest | GenerateRequest | ChatRequest> {
|
|
5
|
+
getModelNameFromRequest(payload: EmbedRequest | GenerateRequest | ChatRequest): Promise<string>;
|
|
6
6
|
getModels(allowedModels: string[] | true): Promise<ListResponse>;
|
|
7
|
-
ollamaEmbed(payload: EmbedRequest
|
|
8
|
-
|
|
7
|
+
ollamaEmbed(payload: EmbedRequest): Promise<{
|
|
8
|
+
start: () => Promise<import("ollama").EmbedResponse>;
|
|
9
9
|
}>;
|
|
10
10
|
protected createAuditor(): IAuditor;
|
|
11
11
|
protected createClient(): Ollama;
|
|
12
12
|
protected createTranslator(): IProviderTranslator;
|
|
13
13
|
protected createResponseFactory(): IResponseFactory;
|
|
14
14
|
protected handleError(error: Error): Promise<ErrorResponse>;
|
|
15
|
-
protected
|
|
15
|
+
protected createRequestRunner(payload: GenerateRequest | ChatRequest | EmbedRequest, ctx: ProviderContext): Promise<RunHandle<any>>;
|
|
16
16
|
private ollamaGenerate;
|
|
17
17
|
private ollamaChat;
|
|
18
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.provider.d.ts","sourceRoot":"","sources":["../src/ollama.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,EAAC,MAAM,QAAQ,CAAC;AACvG,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EACR,QAAQ,EACR,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,SAAS,EACZ,MAAM,yBAAyB,CAAC;AAMjC,qBAAa,cAAe,SAAQ,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"ollama.provider.d.ts","sourceRoot":"","sources":["../src/ollama.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,EAAC,MAAM,QAAQ,CAAC;AACvG,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EACR,QAAQ,EACR,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,SAAS,EACZ,MAAM,yBAAyB,CAAC;AAMjC,qBAAa,cAAe,SAAQ,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,eAAe,GAAG,WAAW,CAAC;IAE5F,uBAAuB,CAAC,OAAO,EAAE,YAAY,GAAG,eAAe,GAAG,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/F,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;IAchE,WAAW,CAAC,OAAO,EAAE,YAAY;;;IAQvC,SAAS,CAAC,aAAa,IAAI,QAAQ;IAInC,SAAS,CAAC,YAAY,IAAI,MAAM;IAIhC,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAIjD,SAAS,CAAC,qBAAqB,IAAI,gBAAgB;cAInC,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC;cAIjD,mBAAmB,CAAC,OAAO,EAAE,eAAe,GAAG,WAAW,GAAG,YAAY,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAY3H,cAAc;YA4Bd,UAAU;CA4B3B"}
|
package/dist/ollama.provider.js
CHANGED
|
@@ -19,16 +19,10 @@ export class OllamaProvider extends BaseProvider {
|
|
|
19
19
|
models
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
|
-
async ollamaEmbed(payload
|
|
22
|
+
async ollamaEmbed(payload) {
|
|
23
23
|
return {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
return await this.client.embed(payload);
|
|
27
|
-
}
|
|
28
|
-
catch (error) {
|
|
29
|
-
this.log.error(`Ollama embed error: ${error instanceof Error ? error.message : String(error)}`);
|
|
30
|
-
throw error;
|
|
31
|
-
}
|
|
24
|
+
start: async () => {
|
|
25
|
+
return await this.client.embed(payload);
|
|
32
26
|
}
|
|
33
27
|
};
|
|
34
28
|
}
|
|
@@ -47,36 +41,29 @@ export class OllamaProvider extends BaseProvider {
|
|
|
47
41
|
async handleError(error) {
|
|
48
42
|
return { error: error.message };
|
|
49
43
|
}
|
|
50
|
-
async
|
|
44
|
+
async createRequestRunner(payload, ctx) {
|
|
51
45
|
switch (ctx.protocol.name) {
|
|
52
46
|
case OllamaProtocols.GENERATE:
|
|
53
47
|
return this.ollamaGenerate(payload, ctx);
|
|
54
48
|
case OllamaProtocols.CHAT:
|
|
55
49
|
return this.ollamaChat(payload, ctx);
|
|
56
50
|
case OllamaProtocols.EMBED:
|
|
57
|
-
return this.ollamaEmbed(payload
|
|
51
|
+
return this.ollamaEmbed(payload);
|
|
58
52
|
}
|
|
59
53
|
throw new Error(`Unsupported requestType: ${JSON.stringify(ctx)}`);
|
|
60
54
|
}
|
|
61
55
|
async ollamaGenerate(request, ctx) {
|
|
62
56
|
if (!request.stream) {
|
|
63
57
|
return {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
catch (error) {
|
|
69
|
-
this.log.error(`Ollama generate error: ${error instanceof Error ? error.message : String(error)}`, {
|
|
70
|
-
config: JSON.stringify(this._config),
|
|
71
|
-
request: JSON.stringify(request)
|
|
72
|
-
});
|
|
73
|
-
throw error;
|
|
74
|
-
}
|
|
58
|
+
start: async () => {
|
|
59
|
+
const result = await this.client.generate({ ...request, stream: false /* ensure */ });
|
|
60
|
+
ctx.emitTextDelta(result.response);
|
|
61
|
+
return result;
|
|
75
62
|
},
|
|
76
63
|
};
|
|
77
64
|
}
|
|
78
65
|
return {
|
|
79
|
-
|
|
66
|
+
start: async () => {
|
|
80
67
|
const streamResp = await this.client.generate({ ...request, stream: true });
|
|
81
68
|
for await (const chunk of streamResp) {
|
|
82
69
|
if (chunk.done)
|
|
@@ -93,22 +80,15 @@ export class OllamaProvider extends BaseProvider {
|
|
|
93
80
|
async ollamaChat(request, ctx) {
|
|
94
81
|
if (!request.stream) {
|
|
95
82
|
return {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
catch (error) {
|
|
101
|
-
this.log.error(`Ollama chat error: ${error instanceof Error ? error.message : String(error)}`, {
|
|
102
|
-
config: JSON.stringify(this._config),
|
|
103
|
-
request: JSON.stringify(request)
|
|
104
|
-
});
|
|
105
|
-
throw error;
|
|
106
|
-
}
|
|
83
|
+
start: async () => {
|
|
84
|
+
const result = await this.client.chat({ ...request, stream: false });
|
|
85
|
+
ctx.emitTextDelta(result.message.content);
|
|
86
|
+
return result;
|
|
107
87
|
},
|
|
108
88
|
};
|
|
109
89
|
}
|
|
110
90
|
return {
|
|
111
|
-
|
|
91
|
+
start: async () => {
|
|
112
92
|
const streamResp = await this.client.chat({ ...request, stream: true });
|
|
113
93
|
for await (const chunk of streamResp) {
|
|
114
94
|
if (chunk.done)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.provider.js","sourceRoot":"","sources":["../src/ollama.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0E,MAAM,EAAC,MAAM,QAAQ,CAAC;AACvG,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAQnD,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAC,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAC,eAAe,EAAC,MAAM,UAAU,CAAC;AAEzC,MAAM,OAAO,cAAe,SAAQ,
|
|
1
|
+
{"version":3,"file":"ollama.provider.js","sourceRoot":"","sources":["../src/ollama.provider.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { BasePlugin } from '@holokai/sdk/plugin';
|
|
|
7
7
|
import type { IProviderPlugin, PluginContext, PluginPricingSheet } from '@holokai/types/plugin';
|
|
8
8
|
import type { IProvider, IWireAdapter, ProviderCapabilities, WireAdapterParams } from "@holokai/types/provider";
|
|
9
9
|
import type { RouteDefinition } from "@holokai/types/routing";
|
|
10
|
+
import { ProtocolCapability } from "@holokai/types/entities";
|
|
10
11
|
export declare const OllamaProtocols: {
|
|
11
12
|
readonly EMBED: "ollama.embed";
|
|
12
13
|
readonly CHAT: "ollama.chat";
|
|
@@ -24,9 +25,10 @@ export declare class OllamaProviderPlugin extends BasePlugin implements IProvide
|
|
|
24
25
|
readonly GENERATE: "ollama.generate";
|
|
25
26
|
readonly MODELS: "ollama.models";
|
|
26
27
|
};
|
|
27
|
-
defaultProtocol: "ollama.
|
|
28
|
+
defaultProtocol: "ollama.chat";
|
|
28
29
|
createProvider(id: string, name: string, config: any): Promise<IProvider>;
|
|
29
30
|
createWireAdapter(params: WireAdapterParams): Promise<IWireAdapter>;
|
|
31
|
+
getProtocolByCapability(capability: ProtocolCapability): string | undefined;
|
|
30
32
|
getCapabilities(): ProviderCapabilities;
|
|
31
33
|
getRoutes(): RouteDefinition[];
|
|
32
34
|
getPricingSheets(): Map<string, PluginPricingSheet>;
|
package/dist/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,EAAC,eAAe,EAAE,aAAa,EAAE,kBAAkB,EAAC,MAAM,uBAAuB,CAAC;AAE9F,OAAO,KAAK,EAAC,SAAS,EAAE,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAG9G,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,EAAC,eAAe,EAAE,aAAa,EAAE,kBAAkB,EAAC,MAAM,uBAAuB,CAAC;AAE9F,OAAO,KAAK,EAAC,SAAS,EAAE,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAG9G,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAE3D,eAAO,MAAM,eAAe;;;;;CAKlB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAGnF,qBAAa,oBAAqB,SAAQ,UAAW,YAAW,eAAe;IAC3E,QAAQ,iDAAY;IACpB,UAAU,wDAA+B;IACzC,mBAAmB,gBAA4B;IAC/C,SAAS;;;;;MAAmB;IAC5B,eAAe,gBAAwB;IAEjC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC;IASzE,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;IAIzE,uBAAuB,CAAC,UAAU,EAAE,kBAAkB,GAAG,MAAM,GAAG,SAAS;IAK3E,eAAe,IAAI,oBAAoB;IAUvC,SAAS,IAAI,eAAe,EAAE;IA0C9B,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC;IAKnD,iBAAiB,IAAI,kBAAkB;IA8BvC,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG;;;;IAI5E,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9D,SAAS,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAIvC"}
|
package/dist/plugin.js
CHANGED
|
@@ -21,13 +21,17 @@ export class OllamaProviderPlugin extends BasePlugin {
|
|
|
21
21
|
translator = OllamaTranslator.instance();
|
|
22
22
|
defaultRouteHandler = RouteHandler.PASSTHROUGH;
|
|
23
23
|
protocols = OllamaProtocols;
|
|
24
|
-
defaultProtocol = OllamaProtocols.
|
|
24
|
+
defaultProtocol = OllamaProtocols.CHAT;
|
|
25
25
|
async createProvider(id, name, config) {
|
|
26
26
|
return new OllamaProvider(id, name, this, config);
|
|
27
27
|
}
|
|
28
28
|
async createWireAdapter(params) {
|
|
29
29
|
return new OllamaWireAdapter(params.requestId, params.isStreaming);
|
|
30
30
|
}
|
|
31
|
+
getProtocolByCapability(capability) {
|
|
32
|
+
const route = this.getRoutes().find(r => r.protocol.capability === capability);
|
|
33
|
+
return route?.protocol.name;
|
|
34
|
+
}
|
|
31
35
|
getCapabilities() {
|
|
32
36
|
return {
|
|
33
37
|
streaming: true,
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAC,YAAY,EAAC,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAC,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAE3D,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,KAAK,EAAE,cAAc;IACrB,IAAI,EAAE,aAAa;IACnB,QAAQ,EAAE,iBAAiB;IAC3B,MAAM,EAAE,eAAe;CACjB,CAAC;AAKX,MAAM,OAAO,oBAAqB,SAAQ,UAAU;IAChD,QAAQ,GAAG,QAAQ,CAAC;IACpB,UAAU,GAAG,gBAAgB,CAAC,QAAQ,EAAE,CAAC;IACzC,mBAAmB,GAAG,YAAY,CAAC,WAAW,CAAC;IAC/C,SAAS,GAAG,eAAe,CAAC;IAC5B,eAAe,GAAG,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@holokai/holo-provider-ollama",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Ollama provider plugin for Holo LLM Gateway",
|
|
6
6
|
"author": "Holokai",
|
|
@@ -15,12 +15,12 @@
|
|
|
15
15
|
},
|
|
16
16
|
"repository": {
|
|
17
17
|
"type": "git",
|
|
18
|
-
"url": "git+https://github.com/
|
|
18
|
+
"url": "git+https://github.com/holok-ai/holo-provider-ollama.git"
|
|
19
19
|
},
|
|
20
20
|
"bugs": {
|
|
21
|
-
"url": "https://github.com/
|
|
21
|
+
"url": "https://github.com/holok-ai/holo-provider-ollama/issues"
|
|
22
22
|
},
|
|
23
|
-
"homepage": "https://github.com/
|
|
23
|
+
"homepage": "https://github.com/holok-ai/holo-provider-ollama#readme",
|
|
24
24
|
"keywords": [
|
|
25
25
|
"holokai",
|
|
26
26
|
"holo",
|