@zhivex-ai/qwen 0.2.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/README.md ADDED
@@ -0,0 +1,13 @@
1
+ # @zhivex-ai/qwen
2
+
3
+ Qwen adapter for Zhivex AI SDK.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ bun add @zhivex-ai/qwen
9
+ ```
10
+
11
+ Repository and full documentation:
12
+
13
+ - <https://github.com/Zhivex/zhivex-ai-sdk>
@@ -0,0 +1,25 @@
1
+ import { type CallableProviderAdapter, type ProviderAdapter } from "@zhivex-ai/core";
2
+ export interface QwenProviderOptions {
3
+ apiKey?: string;
4
+ baseURL?: string;
5
+ fetch?: typeof globalThis.fetch;
6
+ }
7
+ export interface QwenLanguageModelOptions {
8
+ top_p?: number;
9
+ frequency_penalty?: number;
10
+ presence_penalty?: number;
11
+ stop?: string | string[];
12
+ seed?: number;
13
+ user?: string;
14
+ tool_choice?: "none" | "auto" | "required" | {
15
+ type: "function";
16
+ function: {
17
+ name: string;
18
+ };
19
+ };
20
+ [key: string]: unknown;
21
+ }
22
+ export declare const createQwen: (options?: QwenProviderOptions) => CallableProviderAdapter & ProviderAdapter & {
23
+ rawFetch: typeof globalThis.fetch;
24
+ };
25
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAQL,KAAK,uBAAuB,EAS5B,KAAK,eAAe,EAErB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACjC;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IAC9F,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAsUD,eAAO,MAAM,UAAU,GACrB,UAAS,mBAAwB,KAChC,uBAAuB,GAAG,eAAe,GAAG;IAAE,QAAQ,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;CAejF,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,301 @@
1
+ import { toJSONSchema } from "zod";
2
+ import { ConfigurationError, ProviderHTTPError, createProviderAdapter, normalizeFinishReason, streamSSE, withRetry, withTimeoutSignal } from "@zhivex-ai/core";
3
+ const capabilities = {
4
+ streaming: true,
5
+ tools: true,
6
+ structuredOutput: true,
7
+ jsonMode: true,
8
+ toolChoice: true,
9
+ parallelToolCalls: true,
10
+ vision: true,
11
+ files: false,
12
+ audioInput: false,
13
+ audioOutput: false,
14
+ embeddings: true,
15
+ reasoning: true,
16
+ webSearch: false
17
+ };
18
+ const jsonHeaders = (apiKey) => ({
19
+ "content-type": "application/json",
20
+ authorization: `Bearer ${apiKey}`
21
+ });
22
+ const parseJson = async (response) => {
23
+ if (!response.ok) {
24
+ const body = await response.text();
25
+ throw new ProviderHTTPError(`Qwen request failed with status ${response.status}.`, response.status, {
26
+ responseBody: body
27
+ });
28
+ }
29
+ return response.json();
30
+ };
31
+ const mapContentParts = (message) => {
32
+ const textParts = message.parts.filter((part) => part.type === "text");
33
+ const imageParts = message.parts.filter((part) => part.type === "image");
34
+ if (!imageParts.length) {
35
+ return textParts.map((part) => part.text).join("");
36
+ }
37
+ return [
38
+ ...textParts.map((part) => ({
39
+ type: "text",
40
+ text: part.text
41
+ })),
42
+ ...imageParts.map((part) => ({
43
+ type: "image_url",
44
+ image_url: {
45
+ url: part.image
46
+ }
47
+ }))
48
+ ];
49
+ };
50
+ const mapMessages = (messages) => messages.map((message) => {
51
+ if (message.role === "tool") {
52
+ const toolResult = message.parts.find((part) => part.type === "tool-result");
53
+ return {
54
+ role: "tool",
55
+ tool_call_id: toolResult?.type === "tool-result" ? toolResult.toolResult.toolCallId : undefined,
56
+ content: toolResult?.type === "tool-result"
57
+ ? JSON.stringify(toolResult.toolResult.isError ? toolResult.toolResult.error : toolResult.toolResult.output)
58
+ : ""
59
+ };
60
+ }
61
+ const toolCalls = message.parts
62
+ .filter((part) => part.type === "tool-call")
63
+ .map((part) => ({
64
+ id: part.toolCall.id,
65
+ type: "function",
66
+ function: {
67
+ name: part.toolCall.name,
68
+ arguments: JSON.stringify(part.toolCall.input)
69
+ }
70
+ }));
71
+ const payload = {
72
+ role: message.role,
73
+ content: mapContentParts(message)
74
+ };
75
+ if (toolCalls.length) {
76
+ payload.tool_calls = toolCalls;
77
+ }
78
+ return payload;
79
+ });
80
+ const mapTools = (tools) => tools
81
+ ? Object.values(tools).map((tool) => ({
82
+ type: "function",
83
+ function: {
84
+ name: tool.name,
85
+ description: tool.description,
86
+ parameters: toJSONSchema(tool.schema)
87
+ }
88
+ }))
89
+ : undefined;
90
+ const mapStructuredOutput = (input) => {
91
+ if (!input.structuredOutput || input.structuredOutput.mode !== "native") {
92
+ return undefined;
93
+ }
94
+ return {
95
+ type: "json_schema",
96
+ json_schema: {
97
+ name: input.structuredOutput.name ?? "response",
98
+ strict: true,
99
+ schema: toJSONSchema(input.structuredOutput.schema)
100
+ }
101
+ };
102
+ };
103
+ const parseAssistantMessage = (message) => ({
104
+ role: "assistant",
105
+ parts: [
106
+ ...(typeof message.content === "string" && message.content
107
+ ? [{ type: "text", text: message.content }]
108
+ : []),
109
+ ...((message.tool_calls ?? []).map((call) => ({
110
+ type: "tool-call",
111
+ toolCall: {
112
+ id: call.id,
113
+ name: call.function.name,
114
+ input: JSON.parse(call.function.arguments ?? "{}")
115
+ }
116
+ })) ?? [])
117
+ ]
118
+ });
119
+ class QwenLanguageModel {
120
+ modelId;
121
+ apiKey;
122
+ baseURL;
123
+ fetcher;
124
+ provider = "qwen";
125
+ capabilities = capabilities;
126
+ constructor(modelId, apiKey, baseURL, fetcher) {
127
+ this.modelId = modelId;
128
+ this.apiKey = apiKey;
129
+ this.baseURL = baseURL;
130
+ this.fetcher = fetcher;
131
+ }
132
+ async generate(input) {
133
+ const { signal, cleanup } = withTimeoutSignal(input);
134
+ try {
135
+ const response = await withRetry(() => this.fetcher(`${this.baseURL}/chat/completions`, {
136
+ method: "POST",
137
+ headers: jsonHeaders(this.apiKey),
138
+ signal,
139
+ body: JSON.stringify({
140
+ model: this.modelId,
141
+ messages: mapMessages(input.messages),
142
+ tools: mapTools(input.tools),
143
+ response_format: mapStructuredOutput(input),
144
+ temperature: input.temperature,
145
+ max_tokens: input.maxTokens,
146
+ stream: false,
147
+ ...input.providerOptions
148
+ })
149
+ }), input);
150
+ const json = await parseJson(response);
151
+ const choice = json.choices?.[0];
152
+ const message = choice?.message ?? {};
153
+ const assistantMessage = parseAssistantMessage(message);
154
+ return {
155
+ messages: [assistantMessage],
156
+ text: assistantMessage.parts
157
+ .filter((part) => part.type === "text")
158
+ .map((part) => part.text)
159
+ .join(""),
160
+ finishReason: normalizeFinishReason(choice?.finish_reason),
161
+ providerFinishReason: choice?.finish_reason,
162
+ usage: {
163
+ inputTokens: json.usage?.prompt_tokens,
164
+ outputTokens: json.usage?.completion_tokens,
165
+ totalTokens: json.usage?.total_tokens
166
+ },
167
+ rawResponse: json
168
+ };
169
+ }
170
+ finally {
171
+ cleanup();
172
+ }
173
+ }
174
+ async stream(input) {
175
+ const { signal, cleanup } = withTimeoutSignal(input);
176
+ const response = await withRetry(() => this.fetcher(`${this.baseURL}/chat/completions`, {
177
+ method: "POST",
178
+ headers: jsonHeaders(this.apiKey),
179
+ signal,
180
+ body: JSON.stringify({
181
+ model: this.modelId,
182
+ messages: mapMessages(input.messages),
183
+ tools: mapTools(input.tools),
184
+ response_format: mapStructuredOutput(input),
185
+ temperature: input.temperature,
186
+ max_tokens: input.maxTokens,
187
+ stream: true,
188
+ stream_options: { include_usage: true },
189
+ ...input.providerOptions
190
+ })
191
+ }), input);
192
+ return (async function* () {
193
+ try {
194
+ const toolBuffers = new Map();
195
+ for await (const event of streamSSE(response)) {
196
+ if (event.data === "[DONE]") {
197
+ return;
198
+ }
199
+ const json = JSON.parse(event.data);
200
+ const choice = json.choices?.[0];
201
+ const delta = choice?.delta;
202
+ if (delta?.content) {
203
+ yield { type: "text-delta", textDelta: delta.content };
204
+ }
205
+ for (const toolCall of delta?.tool_calls ?? []) {
206
+ const id = toolCall.id ?? `${toolCall.index}`;
207
+ const existing = toolBuffers.get(id) ?? {
208
+ name: toolCall.function?.name ?? "",
209
+ args: ""
210
+ };
211
+ existing.name ||= toolCall.function?.name ?? "";
212
+ existing.args += toolCall.function?.arguments ?? "";
213
+ toolBuffers.set(id, existing);
214
+ if (choice?.finish_reason === "tool_calls") {
215
+ yield {
216
+ type: "tool-call",
217
+ toolCall: {
218
+ id,
219
+ name: existing.name,
220
+ input: JSON.parse(existing.args || "{}")
221
+ }
222
+ };
223
+ }
224
+ }
225
+ if (choice?.finish_reason) {
226
+ yield {
227
+ type: "finish",
228
+ finishReason: normalizeFinishReason(choice.finish_reason),
229
+ providerFinishReason: choice.finish_reason,
230
+ usage: json.usage
231
+ ? {
232
+ inputTokens: json.usage.prompt_tokens,
233
+ outputTokens: json.usage.completion_tokens,
234
+ totalTokens: json.usage.total_tokens
235
+ }
236
+ : undefined
237
+ };
238
+ }
239
+ }
240
+ }
241
+ finally {
242
+ cleanup();
243
+ }
244
+ })();
245
+ }
246
+ }
247
+ class QwenEmbeddingModel {
248
+ modelId;
249
+ apiKey;
250
+ baseURL;
251
+ fetcher;
252
+ provider = "qwen";
253
+ capabilities = capabilities;
254
+ constructor(modelId, apiKey, baseURL, fetcher) {
255
+ this.modelId = modelId;
256
+ this.apiKey = apiKey;
257
+ this.baseURL = baseURL;
258
+ this.fetcher = fetcher;
259
+ }
260
+ async embed(input) {
261
+ const { signal, cleanup } = withTimeoutSignal(input);
262
+ try {
263
+ const response = await withRetry(() => this.fetcher(`${this.baseURL}/embeddings`, {
264
+ method: "POST",
265
+ headers: jsonHeaders(this.apiKey),
266
+ signal,
267
+ body: JSON.stringify({
268
+ model: this.modelId,
269
+ input: input.values
270
+ })
271
+ }), input);
272
+ const json = await parseJson(response);
273
+ return {
274
+ embeddings: json.data.map((entry) => entry.embedding),
275
+ usage: {
276
+ inputTokens: json.usage?.prompt_tokens,
277
+ totalTokens: json.usage?.total_tokens
278
+ },
279
+ rawResponse: json
280
+ };
281
+ }
282
+ finally {
283
+ cleanup();
284
+ }
285
+ }
286
+ }
287
+ export const createQwen = (options = {}) => {
288
+ const apiKey = options.apiKey ?? process.env.QWEN_API_KEY ?? process.env.DASHSCOPE_API_KEY;
289
+ if (!apiKey) {
290
+ throw new ConfigurationError("Missing Qwen API key.");
291
+ }
292
+ const baseURL = options.baseURL ?? "https://dashscope-intl.aliyuncs.com/compatible-mode/v1";
293
+ const fetcher = options.fetch ?? globalThis.fetch;
294
+ return createProviderAdapter({
295
+ name: "qwen",
296
+ languageModel: (modelId) => new QwenLanguageModel(modelId, apiKey, baseURL, fetcher),
297
+ embeddingModel: (modelId) => new QwenEmbeddingModel(modelId, apiKey, baseURL, fetcher),
298
+ rawFetch: fetcher
299
+ });
300
+ };
301
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "@zhivex-ai/qwen",
3
+ "version": "0.2.1",
4
+ "description": "Qwen adapter for Zhivex AI SDK.",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "main": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "engines": {
10
+ "node": ">=18.18.0",
11
+ "bun": ">=1.3.7"
12
+ },
13
+ "exports": {
14
+ ".": {
15
+ "types": "./dist/index.d.ts",
16
+ "import": "./dist/index.js"
17
+ }
18
+ },
19
+ "files": [
20
+ "dist",
21
+ "README.md"
22
+ ],
23
+ "sideEffects": false,
24
+ "repository": {
25
+ "type": "git",
26
+ "url": "git+https://github.com/Zhivex/zhivex-ai-sdk.git",
27
+ "directory": "packages/qwen"
28
+ },
29
+ "homepage": "https://github.com/Zhivex/zhivex-ai-sdk#readme",
30
+ "bugs": {
31
+ "url": "https://github.com/Zhivex/zhivex-ai-sdk/issues"
32
+ },
33
+ "keywords": [
34
+ "ai",
35
+ "sdk",
36
+ "qwen",
37
+ "llm",
38
+ "typescript"
39
+ ],
40
+ "publishConfig": {
41
+ "access": "public"
42
+ },
43
+ "dependencies": {
44
+ "@zhivex-ai/core": "^0.2.0",
45
+ "zod": "^4.3.6"
46
+ }
47
+ }