@llm4ts/core 2.5.0 → 2.7.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/dist/Connector.d.ts +4 -0
- package/dist/Connector.d.ts.map +1 -1
- package/dist/Connector.js +8 -3
- package/dist/Connector.js.map +1 -1
- package/dist/ConnectorConfig.d.ts.map +1 -1
- package/dist/ConnectorConfig.js +2 -0
- package/dist/ConnectorConfig.js.map +1 -1
- package/dist/ContextManagement.d.ts.map +1 -1
- package/dist/ContextManagement.js +1 -0
- package/dist/ContextManagement.js.map +1 -1
- package/dist/LabelScoring.d.ts +52 -0
- package/dist/LabelScoring.d.ts.map +1 -0
- package/dist/LabelScoring.js +139 -0
- package/dist/LabelScoring.js.map +1 -0
- package/dist/LlmService.d.ts +30 -2
- package/dist/LlmService.d.ts.map +1 -1
- package/dist/LlmService.js.map +1 -1
- package/dist/Models.d.ts +34 -2
- package/dist/Models.d.ts.map +1 -1
- package/dist/Models.js +37 -1
- package/dist/Models.js.map +1 -1
- package/dist/eval/Judge.d.ts +15 -0
- package/dist/eval/Judge.d.ts.map +1 -1
- package/dist/eval/Judge.js +50 -0
- package/dist/eval/Judge.js.map +1 -1
- package/dist/judgment/FakeJudgment.d.ts +22 -0
- package/dist/judgment/FakeJudgment.d.ts.map +1 -0
- package/dist/judgment/FakeJudgment.js +42 -0
- package/dist/judgment/FakeJudgment.js.map +1 -0
- package/dist/judgment/Judgment.d.ts +57 -0
- package/dist/judgment/Judgment.d.ts.map +1 -0
- package/dist/judgment/Judgment.js +57 -0
- package/dist/judgment/Judgment.js.map +1 -0
- package/dist/judgment/LlmJudgment.d.ts +73 -0
- package/dist/judgment/LlmJudgment.d.ts.map +1 -0
- package/dist/judgment/LlmJudgment.js +239 -0
- package/dist/judgment/LlmJudgment.js.map +1 -0
- package/dist/judgment/Schemas.d.ts +163 -0
- package/dist/judgment/Schemas.d.ts.map +1 -0
- package/dist/judgment/Schemas.js +197 -0
- package/dist/judgment/Schemas.js.map +1 -0
- package/dist/judgment/TypeSafeJudgment.d.ts +46 -0
- package/dist/judgment/TypeSafeJudgment.d.ts.map +1 -0
- package/dist/judgment/TypeSafeJudgment.js +185 -0
- package/dist/judgment/TypeSafeJudgment.js.map +1 -0
- package/dist/observability/MeteredLlmService.d.ts.map +1 -1
- package/dist/observability/MeteredLlmService.js +1 -0
- package/dist/observability/MeteredLlmService.js.map +1 -1
- package/dist/providers/ConnectorFactories.d.ts.map +1 -1
- package/dist/providers/ConnectorFactories.js +2 -0
- package/dist/providers/ConnectorFactories.js.map +1 -1
- package/dist/providers/LmStudioProvider.d.ts.map +1 -1
- package/dist/providers/LmStudioProvider.js +45 -34
- package/dist/providers/LmStudioProvider.js.map +1 -1
- package/dist/providers/MlxLmProvider.d.ts +29 -0
- package/dist/providers/MlxLmProvider.d.ts.map +1 -0
- package/dist/providers/MlxLmProvider.js +249 -0
- package/dist/providers/MlxLmProvider.js.map +1 -0
- package/dist/providers/MockProvider.d.ts.map +1 -1
- package/dist/providers/MockProvider.js +11 -0
- package/dist/providers/MockProvider.js.map +1 -1
- package/dist/providers/OpenAIModels.d.ts +35 -0
- package/dist/providers/OpenAIModels.d.ts.map +1 -1
- package/dist/providers/OpenAIModels.js +36 -3
- package/dist/providers/OpenAIModels.js.map +1 -1
- package/package.json +8 -1
- package/src/Connector.ts +13 -3
- package/src/ConnectorConfig.ts +2 -0
- package/src/ContextManagement.ts +1 -0
- package/src/LabelScoring.ts +211 -0
- package/src/LlmService.ts +37 -1
- package/src/Models.ts +43 -1
- package/src/eval/Judge.ts +74 -0
- package/src/judgment/FakeJudgment.ts +90 -0
- package/src/judgment/Judgment.ts +123 -0
- package/src/judgment/LlmJudgment.ts +399 -0
- package/src/judgment/Schemas.ts +278 -0
- package/src/judgment/TypeSafeJudgment.ts +253 -0
- package/src/observability/MeteredLlmService.ts +7 -0
- package/src/providers/ConnectorFactories.ts +4 -0
- package/src/providers/LmStudioProvider.ts +64 -48
- package/src/providers/MlxLmProvider.ts +357 -0
- package/src/providers/MockProvider.ts +19 -0
- package/src/providers/OpenAIModels.ts +40 -3
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import * as Schema from "effect/Schema";
|
|
3
|
+
import * as Stream from "effect/Stream";
|
|
4
|
+
import { makeApiConnector } from "../Connector.js";
|
|
5
|
+
import { ConfigError, InvalidRequestError, ParseError } from "../Errors.js";
|
|
6
|
+
import { normalizeLabelProbabilities } from "../LabelScoring.js";
|
|
7
|
+
import * as Result from "effect/Result";
|
|
8
|
+
import { ConnectorCapabilities, ConnectorIds, LabelDistribution, LlmChunk, TokenUsage } from "../Models.js";
|
|
9
|
+
import { parseFromText, withSchemaHint } from "../StructuredOutput.js";
|
|
10
|
+
import { OpenAIChatChunk, OpenAIChatCompletionRequest, OpenAIChatCompletionResponse, OpenAIChatMessage } from "./OpenAIModels.js";
|
|
11
|
+
import { openAIHistoryMessages } from "./OpenAIProvider.js";
|
|
12
|
+
/**
|
|
13
|
+
* `mlx-lm` (`python -m mlx_lm.server`): an OpenAI-compatible local server on
|
|
14
|
+
* Apple Silicon that returns token log-probabilities. That makes it the
|
|
15
|
+
* reference backend for label scoring (ADR 0017): one forward pass, one
|
|
16
|
+
* output token, the distribution read off the labels. Streaming reuses the
|
|
17
|
+
* OpenAI wire format; structured output is prompt-coerced because the
|
|
18
|
+
* server has no grammar mode; tool calling is unsupported.
|
|
19
|
+
*
|
|
20
|
+
* Verified against mlx-lm 0.31.3 on 2026-09-19: `top_logprobs` is capped
|
|
21
|
+
* at 11 and entries carry the token text, so labels match on text.
|
|
22
|
+
*/
|
|
23
|
+
const emptyHeaders = Object.freeze({});
|
|
24
|
+
/** The server's hard cap on `top_logprobs`. */
|
|
25
|
+
export const mlxLmTopLogprobs = 11;
|
|
26
|
+
export const normalizeMlxLmBaseUrl = (raw) => {
|
|
27
|
+
const trimmed = raw.trim().replace(/\/+$/, "");
|
|
28
|
+
return trimmed.endsWith("/v1") ? trimmed.slice(0, -"/v1".length) : trimmed;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Byte-level BPE vocabularies spell a leading space as `Ġ` (GPT/Qwen) or
|
|
32
|
+
* `▁` (SentencePiece); a label token may also carry real whitespace or a
|
|
33
|
+
* different case. All of those are the same label.
|
|
34
|
+
*/
|
|
35
|
+
export const normalizeLabelToken = (token) => token
|
|
36
|
+
.replace(/^[Ġ▁]+/, "")
|
|
37
|
+
.trim()
|
|
38
|
+
.toLowerCase();
|
|
39
|
+
/** Sum the probability mass of every top-k entry that spells one of the labels. */
|
|
40
|
+
export const labelMassFrom = (labels, top) => {
|
|
41
|
+
const byNormalized = new Map(labels.map((label) => [normalizeLabelToken(label), label]));
|
|
42
|
+
const mass = {};
|
|
43
|
+
for (const entry of top) {
|
|
44
|
+
const label = byNormalized.get(normalizeLabelToken(entry.token));
|
|
45
|
+
if (label !== undefined) {
|
|
46
|
+
mass[label] = (mass[label] ?? 0) + Math.exp(entry.logprob);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return mass;
|
|
50
|
+
};
|
|
51
|
+
const decodeCompletion = (raw) => Schema.decodeUnknownEffect(Schema.fromJsonString(OpenAIChatCompletionResponse))(raw).pipe(Effect.mapError((error) => ParseError.make({
|
|
52
|
+
message: `Failed to decode mlx-lm chat completion: ${String(error)}`,
|
|
53
|
+
raw
|
|
54
|
+
})));
|
|
55
|
+
const decodeStreamChunk = (raw) => Schema.decodeUnknownEffect(Schema.fromJsonString(OpenAIChatChunk))(raw).pipe(Effect.mapError((error) => ParseError.make({
|
|
56
|
+
message: `Failed to parse mlx-lm stream chunk: ${String(error)}`,
|
|
57
|
+
raw
|
|
58
|
+
})));
|
|
59
|
+
const usageOf = (response) => response.usage === undefined
|
|
60
|
+
? undefined
|
|
61
|
+
: TokenUsage.make({
|
|
62
|
+
prompt: response.usage.prompt_tokens ?? 0,
|
|
63
|
+
completion: response.usage.completion_tokens ?? 0,
|
|
64
|
+
total: response.usage.total_tokens ??
|
|
65
|
+
(response.usage.prompt_tokens ?? 0) + (response.usage.completion_tokens ?? 0)
|
|
66
|
+
});
|
|
67
|
+
/**
|
|
68
|
+
* Read a shared-prefix reply, one `<n>: <label>` line per question, from
|
|
69
|
+
* the generated tokens. The text is rebuilt token by token; whenever it
|
|
70
|
+
* ends in a `<n>:` marker for the next expected question, the first
|
|
71
|
+
* following token that spells one of that question's labels is that
|
|
72
|
+
* question's answer position and its top-k is the distribution. A question
|
|
73
|
+
* whose marker or label never appears fails on its own.
|
|
74
|
+
*/
|
|
75
|
+
export const labelSequenceFrom = (labelSets, tokens) => {
|
|
76
|
+
const found = labelSets.map(() => undefined);
|
|
77
|
+
let buffer = "";
|
|
78
|
+
let expecting = 0;
|
|
79
|
+
let awaitingLabel = false;
|
|
80
|
+
for (const token of tokens) {
|
|
81
|
+
const text = token.token.replace(/[Ġ▁]/g, " ");
|
|
82
|
+
if (awaitingLabel) {
|
|
83
|
+
const labels = labelSets[expecting] ?? [];
|
|
84
|
+
const normalized = normalizeLabelToken(token.token);
|
|
85
|
+
if (normalized.length === 0) {
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
if (labels.some((label) => normalizeLabelToken(label) === normalized)) {
|
|
89
|
+
const top = token.top_logprobs ?? [{ token: token.token, logprob: token.logprob }];
|
|
90
|
+
const mass = labelMassFrom(labels, top);
|
|
91
|
+
const total = Object.values(mass).reduce((sum, value) => sum + value, 0);
|
|
92
|
+
if (total > 0) {
|
|
93
|
+
found[expecting] = LabelDistribution.make({
|
|
94
|
+
probabilities: Object.fromEntries(Object.entries(mass).map(([label, value]) => [label, value / total])),
|
|
95
|
+
method: "logprobs",
|
|
96
|
+
support: Math.min(1, total)
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
expecting += 1;
|
|
100
|
+
awaitingLabel = false;
|
|
101
|
+
buffer = "";
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
// Anything else before the label: keep scanning, but a new marker
|
|
105
|
+
// means the answer for the previous question was skipped.
|
|
106
|
+
}
|
|
107
|
+
buffer += text;
|
|
108
|
+
const marker = /(\d+)\s*[:.)]\s*$/.exec(buffer);
|
|
109
|
+
if (marker !== null) {
|
|
110
|
+
const number = Number.parseInt(marker[1] ?? "", 10) - 1;
|
|
111
|
+
if (number >= expecting && number < labelSets.length) {
|
|
112
|
+
expecting = number;
|
|
113
|
+
awaitingLabel = true;
|
|
114
|
+
buffer = "";
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return labelSets.map((_, index) => {
|
|
119
|
+
const distribution = found[index];
|
|
120
|
+
return distribution === undefined
|
|
121
|
+
? Result.fail(ParseError.make({
|
|
122
|
+
message: `question ${index + 1} of ${labelSets.length}: no label read in the batched reply`,
|
|
123
|
+
raw: tokens
|
|
124
|
+
.map((token) => token.token)
|
|
125
|
+
.join("")
|
|
126
|
+
.slice(0, 200)
|
|
127
|
+
}))
|
|
128
|
+
: Result.succeed(distribution);
|
|
129
|
+
});
|
|
130
|
+
};
|
|
131
|
+
export const mlxLmCapabilities = () => ConnectorCapabilities.make({
|
|
132
|
+
readOnlyEnforcement: "enforced",
|
|
133
|
+
labelProbabilities: "logprobs"
|
|
134
|
+
});
|
|
135
|
+
export const makeMlxLmProvider = (config, httpClient) => {
|
|
136
|
+
const baseUrl = config.baseUrl === undefined
|
|
137
|
+
? Effect.fail(ConfigError.make({ message: "Missing baseUrl for mlx-lm provider" }))
|
|
138
|
+
: Effect.succeed(normalizeMlxLmBaseUrl(config.baseUrl));
|
|
139
|
+
const complete = (request) => Effect.gen(function* () {
|
|
140
|
+
const normalized = yield* baseUrl;
|
|
141
|
+
const raw = yield* httpClient.postJson(`${normalized}/v1/chat/completions`, JSON.stringify(request), emptyHeaders, config.timeout);
|
|
142
|
+
return yield* decodeCompletion(raw);
|
|
143
|
+
});
|
|
144
|
+
const streamRequest = (messages) => Stream.unwrap(Effect.map(baseUrl, (normalized) => {
|
|
145
|
+
const request = OpenAIChatCompletionRequest.make({
|
|
146
|
+
model: config.model,
|
|
147
|
+
messages,
|
|
148
|
+
temperature: config.temperature ?? 0.7,
|
|
149
|
+
stream: true,
|
|
150
|
+
...(config.maxTokens === undefined ? {} : { max_tokens: config.maxTokens })
|
|
151
|
+
});
|
|
152
|
+
return httpClient
|
|
153
|
+
.postJsonStreamSSE(`${normalized}/v1/chat/completions`, JSON.stringify(request), emptyHeaders, config.timeout)
|
|
154
|
+
.pipe(Stream.mapEffect(decodeStreamChunk), Stream.flatMap((chunk) => {
|
|
155
|
+
const choice = chunk.choices[0];
|
|
156
|
+
const delta = choice?.delta?.content ?? "";
|
|
157
|
+
const finishReason = choice?.finish_reason ?? undefined;
|
|
158
|
+
return delta.length > 0 || finishReason !== undefined
|
|
159
|
+
? Stream.succeed(LlmChunk.make({
|
|
160
|
+
delta,
|
|
161
|
+
metadata: { provider: "mlx-lm", model: config.model },
|
|
162
|
+
...(finishReason === undefined ? {} : { finishReason })
|
|
163
|
+
}))
|
|
164
|
+
: Stream.empty;
|
|
165
|
+
}));
|
|
166
|
+
}));
|
|
167
|
+
const executeStructuredWithUsage = (prompt, schema, jsonSchema) => Effect.gen(function* () {
|
|
168
|
+
const response = yield* complete(OpenAIChatCompletionRequest.make({
|
|
169
|
+
model: config.model,
|
|
170
|
+
messages: [
|
|
171
|
+
OpenAIChatMessage.make({ role: "user", content: withSchemaHint(prompt, jsonSchema) })
|
|
172
|
+
],
|
|
173
|
+
temperature: config.temperature ?? 0.7,
|
|
174
|
+
stream: false,
|
|
175
|
+
...(config.maxTokens === undefined ? {} : { max_tokens: config.maxTokens })
|
|
176
|
+
}));
|
|
177
|
+
const content = response.choices[0]?.message?.content?.trim() ?? "";
|
|
178
|
+
const value = yield* parseFromText(content, schema, jsonSchema);
|
|
179
|
+
const result = [value, usageOf(response), response.model];
|
|
180
|
+
return result;
|
|
181
|
+
});
|
|
182
|
+
/** One forward pass: the first generated position's top-k over the labels. */
|
|
183
|
+
const scoreLabels = (prompt, labels) => Effect.gen(function* () {
|
|
184
|
+
const response = yield* complete(OpenAIChatCompletionRequest.make({
|
|
185
|
+
model: config.model,
|
|
186
|
+
messages: [OpenAIChatMessage.make({ role: "user", content: prompt })],
|
|
187
|
+
temperature: 0,
|
|
188
|
+
max_tokens: 1,
|
|
189
|
+
stream: false,
|
|
190
|
+
logprobs: true,
|
|
191
|
+
top_logprobs: mlxLmTopLogprobs
|
|
192
|
+
}));
|
|
193
|
+
const top = response.choices[0]?.logprobs?.content?.[0]?.top_logprobs;
|
|
194
|
+
if (top === undefined) {
|
|
195
|
+
return yield* ParseError.make({
|
|
196
|
+
message: "mlx-lm returned no logprobs; is the server started with a text model?",
|
|
197
|
+
raw: JSON.stringify(response.choices[0]?.message?.content ?? "")
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
const usage = usageOf(response);
|
|
201
|
+
return yield* normalizeLabelProbabilities(labels, labelMassFrom(labels, top), "logprobs", {
|
|
202
|
+
...(usage === undefined ? {} : { usage }),
|
|
203
|
+
...(response.model === undefined ? {} : { model: response.model })
|
|
204
|
+
});
|
|
205
|
+
});
|
|
206
|
+
/** One call for several questions: enough tokens for one short line each, every position read. */
|
|
207
|
+
const scoreLabelSequence = (prompt, labelSets) => Effect.gen(function* () {
|
|
208
|
+
const response = yield* complete(OpenAIChatCompletionRequest.make({
|
|
209
|
+
model: config.model,
|
|
210
|
+
messages: [OpenAIChatMessage.make({ role: "user", content: prompt })],
|
|
211
|
+
temperature: 0,
|
|
212
|
+
max_tokens: labelSets.length * 8 + 4,
|
|
213
|
+
stream: false,
|
|
214
|
+
logprobs: true,
|
|
215
|
+
top_logprobs: mlxLmTopLogprobs
|
|
216
|
+
}));
|
|
217
|
+
const tokens = response.choices[0]?.logprobs?.content;
|
|
218
|
+
if (tokens === undefined || tokens === null) {
|
|
219
|
+
return yield* ParseError.make({
|
|
220
|
+
message: "mlx-lm returned no logprobs; is the server started with a text model?",
|
|
221
|
+
raw: JSON.stringify(response.choices[0]?.message?.content ?? "")
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
const usage = usageOf(response);
|
|
225
|
+
const sequence = {
|
|
226
|
+
entries: labelSequenceFrom(labelSets, tokens),
|
|
227
|
+
...(usage === undefined ? {} : { usage }),
|
|
228
|
+
...(response.model === undefined ? {} : { model: response.model })
|
|
229
|
+
};
|
|
230
|
+
return sequence;
|
|
231
|
+
});
|
|
232
|
+
const isAvailable = config.baseUrl === undefined
|
|
233
|
+
? Effect.succeed(false)
|
|
234
|
+
: httpClient
|
|
235
|
+
.get(`${normalizeMlxLmBaseUrl(config.baseUrl)}/v1/models`, emptyHeaders, config.timeout)
|
|
236
|
+
.pipe(Effect.match({ onFailure: () => false, onSuccess: () => true }));
|
|
237
|
+
return makeApiConnector({
|
|
238
|
+
id: ConnectorIds.MlxLm,
|
|
239
|
+
executeStream: (prompt) => streamRequest([OpenAIChatMessage.make({ role: "user", content: prompt })]),
|
|
240
|
+
executeStreamWithHistory: (messages) => streamRequest(openAIHistoryMessages(messages)),
|
|
241
|
+
executeWithTools: () => Effect.fail(InvalidRequestError.make({ message: "mlx-lm does not support tool calling" })),
|
|
242
|
+
executeStructuredWithUsage,
|
|
243
|
+
scoreLabels,
|
|
244
|
+
scoreLabelSequence,
|
|
245
|
+
isAvailable,
|
|
246
|
+
capabilities: mlxLmCapabilities()
|
|
247
|
+
});
|
|
248
|
+
};
|
|
249
|
+
//# sourceMappingURL=MlxLmProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MlxLmProvider.js","sourceRoot":"","sources":["../../src/providers/MlxLmProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockProvider.d.ts","sourceRoot":"","sources":["../../src/providers/MockProvider.ts"],"names":[],"mappings":"AAKA,OAAO,EAA4B,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAGlF,OAAO,EAML,KAAK,UAAU,EACf,KAAK,SAAS,EAEf,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"MockProvider.d.ts","sourceRoot":"","sources":["../../src/providers/MockProvider.ts"],"names":[],"mappings":"AAKA,OAAO,EAA4B,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAGlF,OAAO,EAML,KAAK,UAAU,EACf,KAAK,SAAS,EAEf,MAAM,cAAc,CAAA;AAIrB,eAAO,MAAM,YAAY,QAAO,MAGiE,CAAA;AA0MjG,eAAO,MAAM,sBAAsB,GAAI,QAAQ,MAAM,EAAE,QAAQ,UAAU,KAAG,MAgB3E,CAAA;AAYD,eAAO,MAAM,gBAAgB,GAAI,QAAQ,SAAS,KAAG,iBAsFpD,CAAA"}
|
|
@@ -4,6 +4,7 @@ import * as Schedule from "effect/Schedule";
|
|
|
4
4
|
import * as Stream from "effect/Stream";
|
|
5
5
|
import { apiConnectorCapabilities } from "../Connector.js";
|
|
6
6
|
import { ConnectorIds, HealthStatus, LlmChunk, TokenUsage, ToolCallResponse } from "../Models.js";
|
|
7
|
+
import { normalizeLabelProbabilities } from "../LabelScoring.js";
|
|
7
8
|
import { parseFromText } from "../StructuredOutput.js";
|
|
8
9
|
export const mockResponse = () => "This is a mock response from the demo AI provider. " +
|
|
9
10
|
"The mock provider simulates LLM output without making any real API calls. " +
|
|
@@ -199,6 +200,10 @@ const requestedIssueCount = (prompt) => {
|
|
|
199
200
|
export const mockStructuredResponse = (prompt, schema) => {
|
|
200
201
|
const schemaText = JSON.stringify(schema);
|
|
201
202
|
if (schemaText.includes('"summary"') && schemaText.includes('"issues"')) {
|
|
203
|
+
// Review findings carry severity; issue drafts use the template shape below.
|
|
204
|
+
if (schemaText.includes('"severity"')) {
|
|
205
|
+
return JSON.stringify({ summary: "Mock review: no issues.", issues: [] });
|
|
206
|
+
}
|
|
202
207
|
const count = requestedIssueCount(prompt);
|
|
203
208
|
return JSON.stringify({
|
|
204
209
|
summary: `Generated ${count} issue drafts for Spring Boot microservice demo.`,
|
|
@@ -265,6 +270,12 @@ export const makeMockProvider = (config) => {
|
|
|
265
270
|
})),
|
|
266
271
|
executeStructured: (prompt, schema, jsonSchema) => Effect.map(executeStructuredWithUsage(prompt, schema, jsonSchema), ([value]) => value),
|
|
267
272
|
executeStructuredWithUsage,
|
|
273
|
+
// Deterministic: the first offered label gets most of the mass, the rest
|
|
274
|
+
// share the remainder evenly, so tests can assert on ordering.
|
|
275
|
+
scoreLabels: (_prompt, labels) => normalizeLabelProbabilities(labels, Object.fromEntries(labels.map((label, index) => [
|
|
276
|
+
label,
|
|
277
|
+
index === 0 ? 0.6 : 0.4 / Math.max(1, labels.length - 1)
|
|
278
|
+
])), "verbalized", { support: 1 }),
|
|
268
279
|
isAvailable: Effect.succeed(true)
|
|
269
280
|
};
|
|
270
281
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockProvider.js","sourceRoot":"","sources":["../../src/providers/MockProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MockProvider.js","sourceRoot":"","sources":["../../src/providers/MockProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,20 @@ import * as Schema from "effect/Schema";
|
|
|
2
2
|
declare const OpenAIJsonSchemaSpec_base: Schema.Class<OpenAIJsonSchemaSpec, Schema.Struct<{
|
|
3
3
|
readonly name: Schema.String;
|
|
4
4
|
readonly schema: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
|
|
5
|
+
readonly strict: Schema.optionalKey<Schema.Boolean>;
|
|
5
6
|
}>, {}>;
|
|
6
7
|
export declare class OpenAIJsonSchemaSpec extends OpenAIJsonSchemaSpec_base {
|
|
7
8
|
}
|
|
9
|
+
declare const OpenAIChatTemplateKwargs_base: Schema.Class<OpenAIChatTemplateKwargs, Schema.Struct<{
|
|
10
|
+
readonly enable_thinking: Schema.optionalKey<Schema.Boolean>;
|
|
11
|
+
}>, {}>;
|
|
12
|
+
/**
|
|
13
|
+
* Chat-template switches forwarded verbatim by OpenAI-compatible local
|
|
14
|
+
* servers (LM Studio, mlx-lm). `enable_thinking: false` turns a hybrid
|
|
15
|
+
* reasoning model into a plain instruct model for the request.
|
|
16
|
+
*/
|
|
17
|
+
export declare class OpenAIChatTemplateKwargs extends OpenAIChatTemplateKwargs_base {
|
|
18
|
+
}
|
|
8
19
|
declare const OpenAIResponseFormat_base: Schema.Class<OpenAIResponseFormat, Schema.Struct<{
|
|
9
20
|
readonly type: Schema.String;
|
|
10
21
|
readonly json_schema: Schema.optionalKey<typeof OpenAIJsonSchemaSpec>;
|
|
@@ -25,6 +36,9 @@ declare const OpenAIChatCompletionRequest_base: Schema.Class<OpenAIChatCompletio
|
|
|
25
36
|
readonly max_completion_tokens: Schema.optionalKey<Schema.Int>;
|
|
26
37
|
readonly stream: Schema.optionalKey<Schema.Boolean>;
|
|
27
38
|
readonly response_format: Schema.optionalKey<typeof OpenAIResponseFormat>;
|
|
39
|
+
readonly chat_template_kwargs: Schema.optionalKey<typeof OpenAIChatTemplateKwargs>;
|
|
40
|
+
readonly logprobs: Schema.optionalKey<Schema.Boolean>;
|
|
41
|
+
readonly top_logprobs: Schema.optionalKey<Schema.Int>;
|
|
28
42
|
}>, {}>;
|
|
29
43
|
export declare class OpenAIChatCompletionRequest extends OpenAIChatCompletionRequest_base {
|
|
30
44
|
}
|
|
@@ -38,13 +52,34 @@ export declare class OpenAITokenUsage extends OpenAITokenUsage_base {
|
|
|
38
52
|
declare const OpenAIChatResponseMessage_base: Schema.Class<OpenAIChatResponseMessage, Schema.Struct<{
|
|
39
53
|
readonly role: Schema.String;
|
|
40
54
|
readonly content: Schema.NullOr<Schema.String>;
|
|
55
|
+
readonly reasoning_content: Schema.optionalKey<Schema.NullOr<Schema.String>>;
|
|
41
56
|
}>, {}>;
|
|
42
57
|
export declare class OpenAIChatResponseMessage extends OpenAIChatResponseMessage_base {
|
|
43
58
|
}
|
|
59
|
+
declare const OpenAITopLogprob_base: Schema.Class<OpenAITopLogprob, Schema.Struct<{
|
|
60
|
+
readonly token: Schema.String;
|
|
61
|
+
readonly logprob: Schema.Number;
|
|
62
|
+
}>, {}>;
|
|
63
|
+
/** One candidate token at a generated position, with its log-probability. */
|
|
64
|
+
export declare class OpenAITopLogprob extends OpenAITopLogprob_base {
|
|
65
|
+
}
|
|
66
|
+
declare const OpenAITokenLogprob_base: Schema.Class<OpenAITokenLogprob, Schema.Struct<{
|
|
67
|
+
readonly token: Schema.String;
|
|
68
|
+
readonly logprob: Schema.Number;
|
|
69
|
+
readonly top_logprobs: Schema.optionalKey<Schema.$Array<typeof OpenAITopLogprob>>;
|
|
70
|
+
}>, {}>;
|
|
71
|
+
export declare class OpenAITokenLogprob extends OpenAITokenLogprob_base {
|
|
72
|
+
}
|
|
73
|
+
declare const OpenAIChoiceLogprobs_base: Schema.Class<OpenAIChoiceLogprobs, Schema.Struct<{
|
|
74
|
+
readonly content: Schema.optionalKey<Schema.NullOr<Schema.$Array<typeof OpenAITokenLogprob>>>;
|
|
75
|
+
}>, {}>;
|
|
76
|
+
export declare class OpenAIChoiceLogprobs extends OpenAIChoiceLogprobs_base {
|
|
77
|
+
}
|
|
44
78
|
declare const OpenAIChatChoice_base: Schema.Class<OpenAIChatChoice, Schema.Struct<{
|
|
45
79
|
readonly index: Schema.withConstructorDefault<Schema.Int>;
|
|
46
80
|
readonly message: Schema.optionalKey<typeof OpenAIChatResponseMessage>;
|
|
47
81
|
readonly text: Schema.optionalKey<Schema.NullOr<Schema.String>>;
|
|
82
|
+
readonly logprobs: Schema.optionalKey<Schema.NullOr<typeof OpenAIChoiceLogprobs>>;
|
|
48
83
|
readonly finish_reason: Schema.optionalKey<Schema.NullOr<Schema.String>>;
|
|
49
84
|
}>, {}>;
|
|
50
85
|
export declare class OpenAIChatChoice extends OpenAIChatChoice_base {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAIModels.d.ts","sourceRoot":"","sources":["../../src/providers/OpenAIModels.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA
|
|
1
|
+
{"version":3,"file":"OpenAIModels.d.ts","sourceRoot":"","sources":["../../src/providers/OpenAIModels.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;;;;;;AAGvC,qBAAa,oBAAqB,SAAQ,yBAMxC;CAAG;;;;AAEL;;;;GAIG;AACH,qBAAa,wBAAyB,SAAQ,6BAI5C;CAAG;;;;;AAEL,qBAAa,oBAAqB,SAAQ,yBAKxC;CAAG;;;;;AAEL,qBAAa,iBAAkB,SAAQ,sBAGrC;CAAG;;;;;;;;;;;;;AAEL,qBAAa,2BAA4B,SAAQ,gCAa/C;CAAG;;;;;;AAEL,qBAAa,gBAAiB,SAAQ,qBAIpC;CAAG;;;;;;AAEL,qBAAa,yBAA0B,SAAQ,8BAQ7C;CAAG;;;;;AAEL,6EAA6E;AAC7E,qBAAa,gBAAiB,SAAQ,qBAGpC;CAAG;;;;;;AAEL,qBAAa,kBAAmB,SAAQ,uBAItC;CAAG;;;;AAEL,qBAAa,oBAAqB,SAAQ,yBAIxC;CAAG;;;;;;;;AAEL,qBAAa,gBAAiB,SAAQ,qBAMpC;CAAG;;;;;;;AAEL,qBAAa,4BAA6B,SAAQ,iCAOhD;CAAG;;;;;;AAEL,qBAAa,cAAe,SAAQ,mBAIlC;CAAG;;;;;AAEL,qBAAa,UAAW,SAAQ,eAG9B;CAAG;;;;;AAEL,qBAAa,sBAAuB,SAAQ,2BAK1C;CAAG;;;;;;AAEL,qBAAa,cAAe,SAAQ,mBAIlC;CAAG;;;;;;AAIL,qBAAa,0BAA2B,SAAQ,+BAQ9C;CAAG;;;;;;AAEL,qBAAa,yBAA0B,SAAQ,8BAM7C;CAAG;;;;;;;AAEL,qBAAa,qCAAsC,SAAQ,0CAOzD;CAAG;;;;;;;;;AAEL,qBAAa,oCAAqC,SAAQ,yCASxD;CAAG;;;;;AAEL,qBAAa,oBAAqB,SAAQ,yBAKxC;CAAG;;;;;;AAEL,qBAAa,qBAAsB,SAAQ,0BAMzC;CAAG;;;;;;AAIL,qBAAa,eAAgB,SAAQ,oBAMnC;CAAG"}
|
|
@@ -3,7 +3,17 @@ import * as Schema from "effect/Schema";
|
|
|
3
3
|
import { JsonSchema } from "../Models.js";
|
|
4
4
|
export class OpenAIJsonSchemaSpec extends Schema.Class("OpenAIJsonSchemaSpec")({
|
|
5
5
|
name: Schema.String,
|
|
6
|
-
schema: JsonSchema
|
|
6
|
+
schema: JsonSchema,
|
|
7
|
+
strict: Schema.optionalKey(Schema.Boolean)
|
|
8
|
+
}) {
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Chat-template switches forwarded verbatim by OpenAI-compatible local
|
|
12
|
+
* servers (LM Studio, mlx-lm). `enable_thinking: false` turns a hybrid
|
|
13
|
+
* reasoning model into a plain instruct model for the request.
|
|
14
|
+
*/
|
|
15
|
+
export class OpenAIChatTemplateKwargs extends Schema.Class("OpenAIChatTemplateKwargs")({
|
|
16
|
+
enable_thinking: Schema.optionalKey(Schema.Boolean)
|
|
7
17
|
}) {
|
|
8
18
|
}
|
|
9
19
|
export class OpenAIResponseFormat extends Schema.Class("OpenAIResponseFormat")({
|
|
@@ -23,7 +33,10 @@ export class OpenAIChatCompletionRequest extends Schema.Class("OpenAIChatComplet
|
|
|
23
33
|
max_tokens: Schema.optionalKey(Schema.Int),
|
|
24
34
|
max_completion_tokens: Schema.optionalKey(Schema.Int),
|
|
25
35
|
stream: Schema.optionalKey(Schema.Boolean),
|
|
26
|
-
response_format: Schema.optionalKey(OpenAIResponseFormat)
|
|
36
|
+
response_format: Schema.optionalKey(OpenAIResponseFormat),
|
|
37
|
+
chat_template_kwargs: Schema.optionalKey(OpenAIChatTemplateKwargs),
|
|
38
|
+
logprobs: Schema.optionalKey(Schema.Boolean),
|
|
39
|
+
top_logprobs: Schema.optionalKey(Schema.Int)
|
|
27
40
|
}) {
|
|
28
41
|
}
|
|
29
42
|
export class OpenAITokenUsage extends Schema.Class("OpenAITokenUsage")({
|
|
@@ -34,13 +47,33 @@ export class OpenAITokenUsage extends Schema.Class("OpenAITokenUsage")({
|
|
|
34
47
|
}
|
|
35
48
|
export class OpenAIChatResponseMessage extends Schema.Class("OpenAIChatResponseMessage")({
|
|
36
49
|
role: Schema.String,
|
|
37
|
-
content: Schema.NullOr(Schema.String)
|
|
50
|
+
content: Schema.NullOr(Schema.String),
|
|
51
|
+
// Local servers that split a reasoning model's output put the visible
|
|
52
|
+
// reply here when their parser mistakes it for thinking.
|
|
53
|
+
reasoning_content: Schema.optionalKey(Schema.NullOr(Schema.String))
|
|
54
|
+
}) {
|
|
55
|
+
}
|
|
56
|
+
/** One candidate token at a generated position, with its log-probability. */
|
|
57
|
+
export class OpenAITopLogprob extends Schema.Class("OpenAITopLogprob")({
|
|
58
|
+
token: Schema.String,
|
|
59
|
+
logprob: Schema.Number
|
|
60
|
+
}) {
|
|
61
|
+
}
|
|
62
|
+
export class OpenAITokenLogprob extends Schema.Class("OpenAITokenLogprob")({
|
|
63
|
+
token: Schema.String,
|
|
64
|
+
logprob: Schema.Number,
|
|
65
|
+
top_logprobs: Schema.optionalKey(Schema.Array(OpenAITopLogprob))
|
|
66
|
+
}) {
|
|
67
|
+
}
|
|
68
|
+
export class OpenAIChoiceLogprobs extends Schema.Class("OpenAIChoiceLogprobs")({
|
|
69
|
+
content: Schema.optionalKey(Schema.NullOr(Schema.Array(OpenAITokenLogprob)))
|
|
38
70
|
}) {
|
|
39
71
|
}
|
|
40
72
|
export class OpenAIChatChoice extends Schema.Class("OpenAIChatChoice")({
|
|
41
73
|
index: Schema.Int.pipe(Schema.withConstructorDefault(Effect.succeed(0))),
|
|
42
74
|
message: Schema.optionalKey(OpenAIChatResponseMessage),
|
|
43
75
|
text: Schema.optionalKey(Schema.NullOr(Schema.String)),
|
|
76
|
+
logprobs: Schema.optionalKey(Schema.NullOr(OpenAIChoiceLogprobs)),
|
|
44
77
|
finish_reason: Schema.optionalKey(Schema.NullOr(Schema.String))
|
|
45
78
|
}) {
|
|
46
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAIModels.js","sourceRoot":"","sources":["../../src/providers/OpenAIModels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,OAAO,oBAAqB,SAAQ,MAAM,CAAC,KAAK,CACpD,sBAAsB,CACvB,CAAC;IACA,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,MAAM,EAAE,UAAU;
|
|
1
|
+
{"version":3,"file":"OpenAIModels.js","sourceRoot":"","sources":["../../src/providers/OpenAIModels.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@llm4ts/core",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.7.0",
|
|
4
4
|
"description": "Effect-native LLM contracts, providers, tools, evaluation, and observability",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -27,6 +27,12 @@
|
|
|
27
27
|
"./eval/EvalSuite": "./dist/eval/EvalSuite.js",
|
|
28
28
|
"./eval/Judge": "./dist/eval/Judge.js",
|
|
29
29
|
"./HttpClient": "./dist/HttpClient.js",
|
|
30
|
+
"./judgment/FakeJudgment": "./dist/judgment/FakeJudgment.js",
|
|
31
|
+
"./judgment/Judgment": "./dist/judgment/Judgment.js",
|
|
32
|
+
"./judgment/LlmJudgment": "./dist/judgment/LlmJudgment.js",
|
|
33
|
+
"./judgment/Schemas": "./dist/judgment/Schemas.js",
|
|
34
|
+
"./judgment/TypeSafeJudgment": "./dist/judgment/TypeSafeJudgment.js",
|
|
35
|
+
"./LabelScoring": "./dist/LabelScoring.js",
|
|
30
36
|
"./LlmService": "./dist/LlmService.js",
|
|
31
37
|
"./Models": "./dist/Models.js",
|
|
32
38
|
"./observability/Metrics": "./dist/observability/Metrics.js",
|
|
@@ -52,6 +58,7 @@
|
|
|
52
58
|
"./providers/GeminiModels": "./dist/providers/GeminiModels.js",
|
|
53
59
|
"./providers/LmStudioModels": "./dist/providers/LmStudioModels.js",
|
|
54
60
|
"./providers/LmStudioProvider": "./dist/providers/LmStudioProvider.js",
|
|
61
|
+
"./providers/MlxLmProvider": "./dist/providers/MlxLmProvider.js",
|
|
55
62
|
"./providers/MockProvider": "./dist/providers/MockProvider.js",
|
|
56
63
|
"./providers/GrokCliConnector": "./dist/providers/GrokCliConnector.js",
|
|
57
64
|
"./providers/OpenAIModels": "./dist/providers/OpenAIModels.js",
|
package/src/Connector.ts
CHANGED
|
@@ -5,6 +5,7 @@ import * as Schema from "effect/Schema"
|
|
|
5
5
|
import type * as Stream from "effect/Stream"
|
|
6
6
|
import { CliSandbox } from "./ConnectorConfig.ts"
|
|
7
7
|
import { InvalidRequestError, type LlmError } from "./Errors.ts"
|
|
8
|
+
import { verbalizedScoreLabels } from "./LabelScoring.ts"
|
|
8
9
|
import type { LlmServiceShape, StructuredResult } from "./LlmService.ts"
|
|
9
10
|
import {
|
|
10
11
|
ConnectorCapabilities,
|
|
@@ -85,6 +86,10 @@ export interface ApiConnectorPrimitives {
|
|
|
85
86
|
jsonSchema: JsonSchema
|
|
86
87
|
) => Effect.Effect<StructuredResult<A>, LlmError, RD>
|
|
87
88
|
readonly isAvailable: Effect.Effect<boolean>
|
|
89
|
+
/** Native label scoring (log-probabilities); derived from structured output when absent. */
|
|
90
|
+
readonly scoreLabels?: LlmServiceShape["scoreLabels"]
|
|
91
|
+
/** Native shared-prefix sequence scoring; the judgment layer derives one when absent. */
|
|
92
|
+
readonly scoreLabelSequence?: LlmServiceShape["scoreLabelSequence"]
|
|
88
93
|
readonly capabilities?: ConnectorCapabilities
|
|
89
94
|
}
|
|
90
95
|
|
|
@@ -99,12 +104,16 @@ export const makeApiConnector = (primitives: ApiConnectorPrimitives): ApiConnect
|
|
|
99
104
|
([value]) => value
|
|
100
105
|
)
|
|
101
106
|
|
|
107
|
+
const { scoreLabelSequence, ...rest } = primitives
|
|
102
108
|
return {
|
|
103
|
-
...
|
|
109
|
+
...rest,
|
|
110
|
+
...(scoreLabelSequence === undefined ? {} : { scoreLabelSequence }),
|
|
104
111
|
kind: "Api",
|
|
105
112
|
capabilities: primitives.capabilities ?? apiConnectorCapabilities(),
|
|
106
113
|
healthCheck: timedHealthCheck(primitives.isAvailable),
|
|
107
|
-
executeStructured
|
|
114
|
+
executeStructured,
|
|
115
|
+
scoreLabels:
|
|
116
|
+
primitives.scoreLabels ?? verbalizedScoreLabels(primitives.executeStructuredWithUsage)
|
|
108
117
|
}
|
|
109
118
|
}
|
|
110
119
|
|
|
@@ -217,6 +226,7 @@ export const makeCliConnector = (primitives: CliConnectorPrimitives): CliConnect
|
|
|
217
226
|
executeStreamWithHistory: (messages) => primitives.completeStream(flattenHistory(messages)),
|
|
218
227
|
executeWithTools: (prompt, tools) => unsupportedTools(primitives.id, prompt, tools),
|
|
219
228
|
executeStructured,
|
|
220
|
-
executeStructuredWithUsage
|
|
229
|
+
executeStructuredWithUsage,
|
|
230
|
+
scoreLabels: verbalizedScoreLabels(executeStructuredWithUsage)
|
|
221
231
|
}
|
|
222
232
|
}
|
package/src/ConnectorConfig.ts
CHANGED