@zhivex-ai/qwen 0.6.1 → 0.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/README.md +90 -0
- package/dist/index.d.ts +58 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +684 -12
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -8,6 +8,96 @@ Qwen adapter for Zhivex AI SDK.
|
|
|
8
8
|
bun add @zhivex-ai/qwen
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
+
## Hosted tools
|
|
12
|
+
|
|
13
|
+
Qwen uses the DashScope-compatible Responses API by default. The adapter exposes helpers for Qwen built-in hosted tools and remote MCP:
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
import { generateText } from "@zhivex-ai/sdk";
|
|
17
|
+
import {
|
|
18
|
+
createQwen,
|
|
19
|
+
qwenCodeInterpreterTool,
|
|
20
|
+
qwenFileSearchTool,
|
|
21
|
+
qwenMcpTool,
|
|
22
|
+
qwenWebExtractorTool,
|
|
23
|
+
qwenWebSearchTool
|
|
24
|
+
} from "@zhivex-ai/qwen";
|
|
25
|
+
|
|
26
|
+
const qwen = createQwen({
|
|
27
|
+
apiKey: process.env.DASHSCOPE_API_KEY
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
const result = await generateText({
|
|
31
|
+
model: qwen("qwen-plus"),
|
|
32
|
+
prompt: "Search current docs, extract the relevant page, and validate a calculation.",
|
|
33
|
+
tools: {
|
|
34
|
+
search: qwenWebSearchTool(),
|
|
35
|
+
extract: qwenWebExtractorTool(),
|
|
36
|
+
code: qwenCodeInterpreterTool(),
|
|
37
|
+
files: qwenFileSearchTool({ vector_store_ids: ["store_1"] }),
|
|
38
|
+
maps: qwenMcpTool({
|
|
39
|
+
server_label: "amap-maps",
|
|
40
|
+
server_protocol: "sse",
|
|
41
|
+
server_url: "https://dashscope-intl.aliyuncs.com/api/v1/mcps/amap-maps/sse",
|
|
42
|
+
headers: { Authorization: `Bearer ${process.env.DASHSCOPE_API_KEY}` }
|
|
43
|
+
})
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
console.log(result.text);
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Use `providerOptions: { apiMode: "chat" }` only for legacy Chat Completions compatibility. Hosted Qwen tools are Responses-only.
|
|
51
|
+
|
|
52
|
+
## Qwen Cloud clients
|
|
53
|
+
|
|
54
|
+
The package also exposes broader Qwen Cloud surfaces through the shared SDK helpers:
|
|
55
|
+
|
|
56
|
+
```ts
|
|
57
|
+
import {
|
|
58
|
+
createBatch,
|
|
59
|
+
generateImage,
|
|
60
|
+
generateSpeech,
|
|
61
|
+
transcribeAudio,
|
|
62
|
+
uploadFile
|
|
63
|
+
} from "@zhivex-ai/sdk";
|
|
64
|
+
import { createQwen } from "@zhivex-ai/qwen";
|
|
65
|
+
|
|
66
|
+
const qwen = createQwen({
|
|
67
|
+
apiKey: process.env.DASHSCOPE_API_KEY
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
const file = await uploadFile({
|
|
71
|
+
provider: qwen,
|
|
72
|
+
data: new Uint8Array([1, 2, 3]),
|
|
73
|
+
mediaType: "text/plain",
|
|
74
|
+
filename: "notes.txt"
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
await createBatch({
|
|
78
|
+
provider: qwen,
|
|
79
|
+
modelId: "qwen-plus",
|
|
80
|
+
fileName: file.name
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
await transcribeAudio({
|
|
84
|
+
model: qwen.transcriptionModel("qwen-audio-asr"),
|
|
85
|
+
audio: { data: new Uint8Array([1, 2, 3]), mediaType: "audio/wav" }
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
await generateSpeech({
|
|
89
|
+
model: qwen.speechModel("qwen-tts"),
|
|
90
|
+
input: "Hello from Qwen."
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
await generateImage({
|
|
94
|
+
model: qwen.imageGenerationModel("wanx2.1-t2i-turbo"),
|
|
95
|
+
prompt: "A clean product icon"
|
|
96
|
+
});
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
For provider-specific surfaces without a shared cross-provider contract, use `qwen.rerankModel()`, `qwen.multimodalEmbeddingModel()`, and `qwen.tasks`.
|
|
100
|
+
|
|
11
101
|
Repository and full documentation:
|
|
12
102
|
|
|
13
103
|
- <https://github.com/Zhivex/zhivex-ai-sdk>
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,19 @@
|
|
|
1
|
-
import { type CallableProviderAdapter, type JsonValue, type ProviderAdapter } from "@zhivex-ai/core";
|
|
1
|
+
import { type CallableProviderAdapter, type EmbeddingModel, type JsonValue, type PredictionOperation, type ProviderAdapter, type RealtimeConnectionFactory } from "@zhivex-ai/core";
|
|
2
2
|
export interface QwenProviderOptions {
|
|
3
3
|
apiKey?: string;
|
|
4
4
|
baseURL?: string;
|
|
5
|
+
taskBaseURL?: string;
|
|
6
|
+
realtimeURL?: string;
|
|
7
|
+
realtimeConnectionFactory?: RealtimeConnectionFactory;
|
|
5
8
|
fetch?: typeof globalThis.fetch;
|
|
6
9
|
}
|
|
7
10
|
export interface QwenLanguageModelOptions {
|
|
8
11
|
apiMode?: "responses" | "chat";
|
|
12
|
+
conversation?: string;
|
|
13
|
+
instructions?: string;
|
|
14
|
+
"x-dashscope-session-cache"?: "enable" | "disable";
|
|
15
|
+
enable_thinking?: boolean;
|
|
16
|
+
thinking_budget?: number;
|
|
9
17
|
top_p?: number;
|
|
10
18
|
frequency_penalty?: number;
|
|
11
19
|
presence_penalty?: number;
|
|
@@ -20,10 +28,58 @@ export interface QwenLanguageModelOptions {
|
|
|
20
28
|
};
|
|
21
29
|
[key: string]: unknown;
|
|
22
30
|
}
|
|
23
|
-
export
|
|
31
|
+
export interface QwenRerankInput {
|
|
32
|
+
query: string;
|
|
33
|
+
documents: string[];
|
|
34
|
+
topN?: number;
|
|
35
|
+
providerOptions?: Record<string, unknown>;
|
|
36
|
+
abortSignal?: AbortSignal;
|
|
37
|
+
timeoutMs?: number;
|
|
38
|
+
maxRetries?: number;
|
|
39
|
+
retryBackoffMs?: number;
|
|
40
|
+
}
|
|
41
|
+
export interface QwenRerankResult {
|
|
42
|
+
results: Array<{
|
|
43
|
+
index: number;
|
|
44
|
+
document: string;
|
|
45
|
+
relevanceScore: number;
|
|
46
|
+
providerMetadata?: Record<string, unknown>;
|
|
47
|
+
}>;
|
|
48
|
+
rawResponse?: unknown;
|
|
49
|
+
}
|
|
50
|
+
export interface QwenRerankModel {
|
|
51
|
+
readonly provider: "qwen";
|
|
52
|
+
readonly modelId: string;
|
|
53
|
+
rerank(input: QwenRerankInput): Promise<QwenRerankResult>;
|
|
54
|
+
}
|
|
55
|
+
export interface QwenTasksClient {
|
|
56
|
+
get(input: {
|
|
57
|
+
name: string;
|
|
58
|
+
abortSignal?: AbortSignal;
|
|
59
|
+
timeoutMs?: number;
|
|
60
|
+
maxRetries?: number;
|
|
61
|
+
retryBackoffMs?: number;
|
|
62
|
+
}): Promise<PredictionOperation>;
|
|
63
|
+
cancel(input: {
|
|
64
|
+
name: string;
|
|
65
|
+
abortSignal?: AbortSignal;
|
|
66
|
+
timeoutMs?: number;
|
|
67
|
+
maxRetries?: number;
|
|
68
|
+
retryBackoffMs?: number;
|
|
69
|
+
}): Promise<PredictionOperation>;
|
|
70
|
+
}
|
|
71
|
+
export type QwenProvider = CallableProviderAdapter & ProviderAdapter & {
|
|
24
72
|
rawFetch: typeof globalThis.fetch;
|
|
73
|
+
rerankModel(modelId: string): QwenRerankModel;
|
|
74
|
+
multimodalEmbeddingModel(modelId: string): EmbeddingModel;
|
|
75
|
+
tasks: QwenTasksClient;
|
|
25
76
|
};
|
|
77
|
+
export declare const createQwen: (options?: QwenProviderOptions) => QwenProvider;
|
|
26
78
|
export declare const qwenWebSearchTool: (config?: Record<string, unknown>) => import("@zhivex-ai/core").HostedToolDefinition<JsonValue>;
|
|
27
79
|
export declare const qwenWebExtractorTool: (config?: Record<string, unknown>) => import("@zhivex-ai/core").HostedToolDefinition<JsonValue>;
|
|
28
80
|
export declare const qwenCodeInterpreterTool: (config?: Record<string, unknown>) => import("@zhivex-ai/core").HostedToolDefinition<JsonValue>;
|
|
81
|
+
export declare const qwenFileSearchTool: (config?: Record<string, unknown>) => import("@zhivex-ai/core").HostedToolDefinition<JsonValue>;
|
|
82
|
+
export declare const qwenMcpTool: (config: Record<string, unknown>) => import("@zhivex-ai/core").HostedToolDefinition<JsonValue>;
|
|
83
|
+
export declare const qwenWebSearchImageTool: (config?: Record<string, unknown>) => import("@zhivex-ai/core").HostedToolDefinition<JsonValue>;
|
|
84
|
+
export declare const qwenImageSearchTool: (config?: Record<string, unknown>) => import("@zhivex-ai/core").HostedToolDefinition<JsonValue>;
|
|
29
85
|
//# sourceMappingURL=index.d.ts.map
|
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,EAuBL,KAAK,uBAAuB,EAE5B,KAAK,cAAc,EAmBnB,KAAK,SAAS,EAOd,KAAK,mBAAmB,EACxB,KAAK,eAAe,EAEpB,KAAK,yBAAyB,EAa/B,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;IACtD,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACjC;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2BAA2B,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IACnD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,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;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IACxH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,WAAW,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACxJ,MAAM,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,WAAW,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAC5J;AAED,MAAM,MAAM,YAAY,GAAG,uBAAuB,GAChD,eAAe,GAAG;IAChB,QAAQ,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAClC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAAC;IAC9C,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAAC;IAC1D,KAAK,EAAE,eAAe,CAAC;CACxB,CAAC;AAi/CJ,eAAO,MAAM,UAAU,GACrB,UAAS,mBAAwB,KAChC,YA4BF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,8DAOlE,CAAC;AAEL,eAAO,MAAM,oBAAoB,GAAI,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,8DAOrE,CAAC;AAEL,eAAO,MAAM,uBAAuB,GAAI,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,8DAOxE,CAAC;AAEL,eAAO,MAAM,kBAAkB,GAAI,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,8DAOnE,CAAC;AAEL,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,8DAOvD,CAAC;AAEL,eAAO,MAAM,sBAAsB,GAAI,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,8DAOvE,CAAC;AAEL,eAAO,MAAM,mBAAmB,GAAI,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,8DAOpE,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { toJSONSchema } from "zod";
|
|
2
|
-
import { ConfigurationError, ProviderHTTPError, UnsupportedFeatureError, createProviderAdapter, hostedTool, isCallableToolDefinition, normalizeFinishReason, providerDataPart, streamSSE, withRetry, withTimeoutSignal } from "@zhivex-ai/core";
|
|
2
|
+
import { CallbackRealtimeSession, ConfigurationError, ProviderHTTPError, UnsupportedFeatureError, createProviderAdapter, hostedTool, openWebSocketConnection, isCallableToolDefinition, normalizeFinishReason, providerDataPart, streamSSE, withRetry, withTimeoutSignal } from "@zhivex-ai/core";
|
|
3
3
|
const capabilities = {
|
|
4
4
|
streaming: true,
|
|
5
5
|
tools: true,
|
|
@@ -19,8 +19,8 @@ const capabilities = {
|
|
|
19
19
|
toolChoiceNone: true,
|
|
20
20
|
approvalRequests: false,
|
|
21
21
|
hostedWebSearch: true,
|
|
22
|
-
hostedFileSearch:
|
|
23
|
-
remoteMcp:
|
|
22
|
+
hostedFileSearch: true,
|
|
23
|
+
remoteMcp: true,
|
|
24
24
|
computerUse: false,
|
|
25
25
|
codeExecution: true,
|
|
26
26
|
webExtraction: true,
|
|
@@ -53,7 +53,95 @@ const embeddingCapabilities = {
|
|
|
53
53
|
toolsets: false
|
|
54
54
|
}
|
|
55
55
|
};
|
|
56
|
-
const
|
|
56
|
+
const qwenTaskBaseURLFrom = (baseURL) => {
|
|
57
|
+
const url = new URL(baseURL);
|
|
58
|
+
return `${url.protocol}//${url.host}/api/v1`;
|
|
59
|
+
};
|
|
60
|
+
const toUint8Array = async (data) => {
|
|
61
|
+
if (data instanceof Uint8Array) {
|
|
62
|
+
return data;
|
|
63
|
+
}
|
|
64
|
+
if (data instanceof ArrayBuffer) {
|
|
65
|
+
return new Uint8Array(data);
|
|
66
|
+
}
|
|
67
|
+
if (typeof Blob !== "undefined" && data instanceof Blob) {
|
|
68
|
+
return new Uint8Array(await data.arrayBuffer());
|
|
69
|
+
}
|
|
70
|
+
return Uint8Array.from(Buffer.from(String(data), "base64"));
|
|
71
|
+
};
|
|
72
|
+
const toBase64 = async (data) => typeof data === "string" ? data : Buffer.from(await toUint8Array(data)).toString("base64");
|
|
73
|
+
const createFile = async (data, mediaType, filename) => {
|
|
74
|
+
const bytes = await toUint8Array(data);
|
|
75
|
+
return new File([bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength)], filename, { type: mediaType });
|
|
76
|
+
};
|
|
77
|
+
const appendQuery = (url, query) => {
|
|
78
|
+
const parsed = new URL(url);
|
|
79
|
+
for (const [key, value] of Object.entries(query)) {
|
|
80
|
+
if (value !== undefined) {
|
|
81
|
+
parsed.searchParams.set(key, String(value));
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return parsed.toString();
|
|
85
|
+
};
|
|
86
|
+
const providerHeaders = (apiKey, providerOptions) => {
|
|
87
|
+
const headers = jsonHeaders(apiKey);
|
|
88
|
+
const sessionCache = providerOptions?.["x-dashscope-session-cache"];
|
|
89
|
+
if (sessionCache === "enable" || sessionCache === "disable") {
|
|
90
|
+
headers["x-dashscope-session-cache"] = sessionCache;
|
|
91
|
+
}
|
|
92
|
+
return headers;
|
|
93
|
+
};
|
|
94
|
+
const stripHeaderOptions = (providerOptions) => {
|
|
95
|
+
const next = { ...(providerOptions ?? {}) };
|
|
96
|
+
delete next["x-dashscope-session-cache"];
|
|
97
|
+
return next;
|
|
98
|
+
};
|
|
99
|
+
const modelFamily = (modelId) => modelId.toLowerCase();
|
|
100
|
+
const supportsQwenReasoning = (modelId) => /^(qwen-(plus|turbo|max|flash)|qwq|qwen3|qwen3\.)/i.test(modelId);
|
|
101
|
+
const supportsQwenVision = (modelId) => {
|
|
102
|
+
const model = modelFamily(modelId);
|
|
103
|
+
return model.includes("vl") || model.includes("omni") || model.includes("vision") || /^qwen3\./.test(model);
|
|
104
|
+
};
|
|
105
|
+
const supportsQwenTools = (modelId) => !modelFamily(modelId).includes("embedding");
|
|
106
|
+
const qwenLanguageCapabilities = (modelId) => ({
|
|
107
|
+
...capabilities,
|
|
108
|
+
vision: supportsQwenVision(modelId),
|
|
109
|
+
tools: supportsQwenTools(modelId),
|
|
110
|
+
structuredOutput: supportsQwenTools(modelId),
|
|
111
|
+
jsonMode: supportsQwenTools(modelId),
|
|
112
|
+
toolChoice: supportsQwenTools(modelId),
|
|
113
|
+
parallelToolCalls: supportsQwenTools(modelId),
|
|
114
|
+
reasoning: supportsQwenReasoning(modelId)
|
|
115
|
+
});
|
|
116
|
+
const transcriptionCapabilities = {
|
|
117
|
+
...embeddingCapabilities,
|
|
118
|
+
audioInput: true
|
|
119
|
+
};
|
|
120
|
+
const speechCapabilities = {
|
|
121
|
+
...embeddingCapabilities,
|
|
122
|
+
audioOutput: true
|
|
123
|
+
};
|
|
124
|
+
const imageGenerationCapabilities = {
|
|
125
|
+
...embeddingCapabilities,
|
|
126
|
+
imageGeneration: true
|
|
127
|
+
};
|
|
128
|
+
const videoGenerationCapabilities = {
|
|
129
|
+
...embeddingCapabilities,
|
|
130
|
+
videoGeneration: true
|
|
131
|
+
};
|
|
132
|
+
const realtimeCapabilities = {
|
|
133
|
+
...capabilities,
|
|
134
|
+
audioInput: true,
|
|
135
|
+
audioOutput: true,
|
|
136
|
+
realtime: {
|
|
137
|
+
sessions: true,
|
|
138
|
+
audioInput: true,
|
|
139
|
+
audioOutput: true,
|
|
140
|
+
imageInput: true,
|
|
141
|
+
tools: true,
|
|
142
|
+
browserTokens: false
|
|
143
|
+
}
|
|
144
|
+
};
|
|
57
145
|
const reasoningContentFromMessage = (message) => message.parts
|
|
58
146
|
.filter((part) => {
|
|
59
147
|
if (part.type !== "provider-data" || part.provider !== "qwen") {
|
|
@@ -482,10 +570,7 @@ class QwenLanguageModel {
|
|
|
482
570
|
this.apiKey = apiKey;
|
|
483
571
|
this.baseURL = baseURL;
|
|
484
572
|
this.fetcher = fetcher;
|
|
485
|
-
this.capabilities =
|
|
486
|
-
...capabilities,
|
|
487
|
-
reasoning: supportsQwenReasoning(modelId)
|
|
488
|
-
};
|
|
573
|
+
this.capabilities = qwenLanguageCapabilities(modelId);
|
|
489
574
|
}
|
|
490
575
|
async generate(input) {
|
|
491
576
|
const { signal, cleanup } = withTimeoutSignal(input);
|
|
@@ -495,23 +580,25 @@ class QwenLanguageModel {
|
|
|
495
580
|
try {
|
|
496
581
|
if (apiMode === "responses") {
|
|
497
582
|
const previousResponse = getProviderResponseId(input.messages);
|
|
583
|
+
const responseProviderOptions = stripHeaderOptions(providerOptions);
|
|
498
584
|
const messages = previousResponse && previousResponse.index < input.messages.length - 1
|
|
499
585
|
? input.messages.slice(previousResponse.index + 1)
|
|
500
586
|
: input.messages;
|
|
501
587
|
const response = await withRetry(() => this.fetcher(`${this.baseURL}/responses`, {
|
|
502
588
|
method: "POST",
|
|
503
|
-
headers:
|
|
589
|
+
headers: providerHeaders(this.apiKey, providerOptions),
|
|
504
590
|
signal,
|
|
505
591
|
body: JSON.stringify({
|
|
506
592
|
model: this.modelId,
|
|
507
593
|
...(previousResponse ? { previous_response_id: previousResponse.responseId } : {}),
|
|
508
594
|
...(messages.length ? { input: toResponsesInput(messages) } : {}),
|
|
595
|
+
...(input.structuredOutput?.mode === "native" ? { response_format: mapStructuredOutput(input) } : {}),
|
|
509
596
|
tools: mapResponsesTools(input.tools),
|
|
510
597
|
tool_choice: mapToolChoice(input.toolChoice),
|
|
511
598
|
temperature: input.temperature,
|
|
512
599
|
max_output_tokens: input.maxTokens,
|
|
513
600
|
...mapReasoning(input),
|
|
514
|
-
...
|
|
601
|
+
...responseProviderOptions,
|
|
515
602
|
stream: false
|
|
516
603
|
})
|
|
517
604
|
}), input);
|
|
@@ -581,19 +668,21 @@ class QwenLanguageModel {
|
|
|
581
668
|
const apiMode = providerOptions.apiMode ?? "responses";
|
|
582
669
|
delete providerOptions.apiMode;
|
|
583
670
|
if (apiMode === "responses") {
|
|
671
|
+
const responseProviderOptions = stripHeaderOptions(providerOptions);
|
|
584
672
|
const response = await withRetry(() => this.fetcher(`${this.baseURL}/responses`, {
|
|
585
673
|
method: "POST",
|
|
586
|
-
headers:
|
|
674
|
+
headers: providerHeaders(this.apiKey, providerOptions),
|
|
587
675
|
signal,
|
|
588
676
|
body: JSON.stringify({
|
|
589
677
|
model: this.modelId,
|
|
590
678
|
input: toResponsesInput(input.messages),
|
|
679
|
+
...(input.structuredOutput?.mode === "native" ? { response_format: mapStructuredOutput(input) } : {}),
|
|
591
680
|
tools: mapResponsesTools(input.tools),
|
|
592
681
|
tool_choice: mapToolChoice(input.toolChoice),
|
|
593
682
|
temperature: input.temperature,
|
|
594
683
|
max_output_tokens: input.maxTokens,
|
|
595
684
|
...mapReasoning(input),
|
|
596
|
-
...
|
|
685
|
+
...responseProviderOptions,
|
|
597
686
|
stream: true
|
|
598
687
|
})
|
|
599
688
|
}), input);
|
|
@@ -729,17 +818,572 @@ class QwenEmbeddingModel {
|
|
|
729
818
|
}
|
|
730
819
|
}
|
|
731
820
|
}
|
|
821
|
+
const normalizeUploadedFile = (json) => ({
|
|
822
|
+
name: json.id ?? json.name ?? json.file_id ?? "",
|
|
823
|
+
uri: json.url ?? json.uri,
|
|
824
|
+
mimeType: json.mime_type ?? json.mimeType ?? json.content_type,
|
|
825
|
+
sizeBytes: json.bytes ?? json.size_bytes ?? json.sizeBytes,
|
|
826
|
+
state: json.status ?? json.state,
|
|
827
|
+
displayName: json.filename ?? json.display_name ?? json.displayName,
|
|
828
|
+
rawResponse: json,
|
|
829
|
+
providerMetadata: json
|
|
830
|
+
});
|
|
831
|
+
const normalizeFileSearchStore = (json) => ({
|
|
832
|
+
name: json.id ?? json.name ?? "",
|
|
833
|
+
displayName: json.name ?? json.display_name ?? json.displayName,
|
|
834
|
+
createTime: json.created_at ? String(json.created_at) : json.createTime,
|
|
835
|
+
updateTime: json.updated_at ? String(json.updated_at) : json.updateTime,
|
|
836
|
+
rawResponse: json,
|
|
837
|
+
providerMetadata: json
|
|
838
|
+
});
|
|
839
|
+
const normalizeBatchJob = (json) => ({
|
|
840
|
+
name: json.id ?? json.name ?? "",
|
|
841
|
+
model: json.model,
|
|
842
|
+
state: json.status ?? json.state,
|
|
843
|
+
done: ["completed", "failed", "cancelled", "expired"].includes(String(json.status ?? json.state ?? "").toLowerCase()),
|
|
844
|
+
createTime: json.created_at ? String(json.created_at) : json.createTime,
|
|
845
|
+
updateTime: json.updated_at ? String(json.updated_at) : json.updateTime,
|
|
846
|
+
rawResponse: json,
|
|
847
|
+
providerMetadata: json
|
|
848
|
+
});
|
|
849
|
+
const normalizeOperation = (json) => ({
|
|
850
|
+
name: json.task_id ?? json.id ?? json.name ?? "",
|
|
851
|
+
done: json.output?.task_status ? ["SUCCEEDED", "FAILED", "CANCELED"].includes(json.output.task_status) : json.done,
|
|
852
|
+
response: json.output ?? json.response,
|
|
853
|
+
error: json.error,
|
|
854
|
+
metadata: json.usage ?? json.metadata,
|
|
855
|
+
rawResponse: json
|
|
856
|
+
});
|
|
857
|
+
class QwenFilesClient {
|
|
858
|
+
apiKey;
|
|
859
|
+
baseURL;
|
|
860
|
+
fetcher;
|
|
861
|
+
constructor(apiKey, baseURL, fetcher) {
|
|
862
|
+
this.apiKey = apiKey;
|
|
863
|
+
this.baseURL = baseURL;
|
|
864
|
+
this.fetcher = fetcher;
|
|
865
|
+
}
|
|
866
|
+
async upload(input) {
|
|
867
|
+
const { signal, cleanup } = withTimeoutSignal(input);
|
|
868
|
+
const form = new FormData();
|
|
869
|
+
form.set("file", await createFile(input.data, input.mediaType, input.filename ?? input.displayName ?? input.name ?? "file"));
|
|
870
|
+
form.set("purpose", String(input.providerOptions?.purpose ?? "file-extract"));
|
|
871
|
+
for (const [key, value] of Object.entries(input.providerOptions ?? {})) {
|
|
872
|
+
if (key !== "purpose") {
|
|
873
|
+
form.set(key, typeof value === "string" ? value : JSON.stringify(value));
|
|
874
|
+
}
|
|
875
|
+
}
|
|
876
|
+
try {
|
|
877
|
+
const response = await withRetry(() => this.fetcher(`${this.baseURL}/files`, { method: "POST", headers: { authorization: `Bearer ${this.apiKey}` }, signal, body: form }), input);
|
|
878
|
+
return normalizeUploadedFile(await parseJson(response));
|
|
879
|
+
}
|
|
880
|
+
finally {
|
|
881
|
+
cleanup();
|
|
882
|
+
}
|
|
883
|
+
}
|
|
884
|
+
async get(input) {
|
|
885
|
+
const { signal, cleanup } = withTimeoutSignal(input);
|
|
886
|
+
try {
|
|
887
|
+
const response = await withRetry(() => this.fetcher(`${this.baseURL}/files/${input.name}`, { method: "GET", headers: jsonHeaders(this.apiKey), signal }), input);
|
|
888
|
+
return normalizeUploadedFile(await parseJson(response));
|
|
889
|
+
}
|
|
890
|
+
finally {
|
|
891
|
+
cleanup();
|
|
892
|
+
}
|
|
893
|
+
}
|
|
894
|
+
async list(input = {}) {
|
|
895
|
+
const { signal, cleanup } = withTimeoutSignal(input);
|
|
896
|
+
try {
|
|
897
|
+
const response = await withRetry(() => this.fetcher(appendQuery(`${this.baseURL}/files`, { limit: input.pageSize, after: input.pageToken }), { method: "GET", headers: jsonHeaders(this.apiKey), signal }), input);
|
|
898
|
+
const json = await parseJson(response);
|
|
899
|
+
return {
|
|
900
|
+
files: (json.data ?? json.files ?? []).map(normalizeUploadedFile),
|
|
901
|
+
nextPageToken: json.next ?? json.nextPageToken,
|
|
902
|
+
rawResponse: json
|
|
903
|
+
};
|
|
904
|
+
}
|
|
905
|
+
finally {
|
|
906
|
+
cleanup();
|
|
907
|
+
}
|
|
908
|
+
}
|
|
909
|
+
async delete(input) {
|
|
910
|
+
const { signal, cleanup } = withTimeoutSignal(input);
|
|
911
|
+
try {
|
|
912
|
+
const response = await withRetry(() => this.fetcher(`${this.baseURL}/files/${input.name}`, { method: "DELETE", headers: jsonHeaders(this.apiKey), signal }), input);
|
|
913
|
+
const json = await parseJson(response);
|
|
914
|
+
return { name: input.name, rawResponse: json };
|
|
915
|
+
}
|
|
916
|
+
finally {
|
|
917
|
+
cleanup();
|
|
918
|
+
}
|
|
919
|
+
}
|
|
920
|
+
}
|
|
921
|
+
class QwenFileSearchStoresClient {
|
|
922
|
+
apiKey;
|
|
923
|
+
baseURL;
|
|
924
|
+
fetcher;
|
|
925
|
+
constructor(apiKey, baseURL, fetcher) {
|
|
926
|
+
this.apiKey = apiKey;
|
|
927
|
+
this.baseURL = baseURL;
|
|
928
|
+
this.fetcher = fetcher;
|
|
929
|
+
}
|
|
930
|
+
async create(input = {}) {
|
|
931
|
+
const { signal, cleanup } = withTimeoutSignal(input);
|
|
932
|
+
try {
|
|
933
|
+
const response = await withRetry(() => this.fetcher(`${this.baseURL}/file_search_stores`, {
|
|
934
|
+
method: "POST",
|
|
935
|
+
headers: jsonHeaders(this.apiKey),
|
|
936
|
+
signal,
|
|
937
|
+
body: JSON.stringify({ name: input.displayName, ...input.providerOptions })
|
|
938
|
+
}), input);
|
|
939
|
+
return normalizeFileSearchStore(await parseJson(response));
|
|
940
|
+
}
|
|
941
|
+
finally {
|
|
942
|
+
cleanup();
|
|
943
|
+
}
|
|
944
|
+
}
|
|
945
|
+
async upload(input) {
|
|
946
|
+
const files = new QwenFilesClient(this.apiKey, this.baseURL, this.fetcher);
|
|
947
|
+
const file = await files.upload(input);
|
|
948
|
+
return this.importFile({ ...input, fileName: file.name });
|
|
949
|
+
}
|
|
950
|
+
async importFile(input) {
|
|
951
|
+
const { signal, cleanup } = withTimeoutSignal(input);
|
|
952
|
+
try {
|
|
953
|
+
const response = await withRetry(() => this.fetcher(`${this.baseURL}/file_search_stores/${input.storeName}/files`, {
|
|
954
|
+
method: "POST",
|
|
955
|
+
headers: jsonHeaders(this.apiKey),
|
|
956
|
+
signal,
|
|
957
|
+
body: JSON.stringify({ file_id: input.fileName, ...input.providerOptions })
|
|
958
|
+
}), input);
|
|
959
|
+
return normalizeOperation(await parseJson(response));
|
|
960
|
+
}
|
|
961
|
+
finally {
|
|
962
|
+
cleanup();
|
|
963
|
+
}
|
|
964
|
+
}
|
|
965
|
+
async get(input) {
|
|
966
|
+
const { signal, cleanup } = withTimeoutSignal(input);
|
|
967
|
+
try {
|
|
968
|
+
const response = await withRetry(() => this.fetcher(`${this.baseURL}/file_search_stores/${input.name}`, { method: "GET", headers: jsonHeaders(this.apiKey), signal }), input);
|
|
969
|
+
return normalizeFileSearchStore(await parseJson(response));
|
|
970
|
+
}
|
|
971
|
+
finally {
|
|
972
|
+
cleanup();
|
|
973
|
+
}
|
|
974
|
+
}
|
|
975
|
+
async list(input = {}) {
|
|
976
|
+
const { signal, cleanup } = withTimeoutSignal(input);
|
|
977
|
+
try {
|
|
978
|
+
const response = await withRetry(() => this.fetcher(appendQuery(`${this.baseURL}/file_search_stores`, { limit: input.pageSize, after: input.pageToken }), { method: "GET", headers: jsonHeaders(this.apiKey), signal }), input);
|
|
979
|
+
const json = await parseJson(response);
|
|
980
|
+
return {
|
|
981
|
+
stores: (json.data ?? json.file_search_stores ?? json.fileSearchStores ?? []).map(normalizeFileSearchStore),
|
|
982
|
+
nextPageToken: json.next ?? json.nextPageToken,
|
|
983
|
+
rawResponse: json
|
|
984
|
+
};
|
|
985
|
+
}
|
|
986
|
+
finally {
|
|
987
|
+
cleanup();
|
|
988
|
+
}
|
|
989
|
+
}
|
|
990
|
+
async delete(input) {
|
|
991
|
+
const { signal, cleanup } = withTimeoutSignal(input);
|
|
992
|
+
try {
|
|
993
|
+
const response = await withRetry(() => this.fetcher(`${this.baseURL}/file_search_stores/${input.name}`, { method: "DELETE", headers: jsonHeaders(this.apiKey), signal }), input);
|
|
994
|
+
const json = await parseJson(response);
|
|
995
|
+
return { name: input.name, rawResponse: json };
|
|
996
|
+
}
|
|
997
|
+
finally {
|
|
998
|
+
cleanup();
|
|
999
|
+
}
|
|
1000
|
+
}
|
|
1001
|
+
}
|
|
1002
|
+
class QwenBatchesClient {
|
|
1003
|
+
apiKey;
|
|
1004
|
+
baseURL;
|
|
1005
|
+
fetcher;
|
|
1006
|
+
constructor(apiKey, baseURL, fetcher) {
|
|
1007
|
+
this.apiKey = apiKey;
|
|
1008
|
+
this.baseURL = baseURL;
|
|
1009
|
+
this.fetcher = fetcher;
|
|
1010
|
+
}
|
|
1011
|
+
async create(input) {
|
|
1012
|
+
const { signal, cleanup } = withTimeoutSignal(input);
|
|
1013
|
+
try {
|
|
1014
|
+
const response = await withRetry(() => this.fetcher(`${this.baseURL}/batches`, {
|
|
1015
|
+
method: "POST",
|
|
1016
|
+
headers: jsonHeaders(this.apiKey),
|
|
1017
|
+
signal,
|
|
1018
|
+
body: JSON.stringify({
|
|
1019
|
+
input_file_id: input.fileName,
|
|
1020
|
+
endpoint: input.providerOptions?.endpoint ?? "/v1/chat/completions",
|
|
1021
|
+
completion_window: input.providerOptions?.completion_window ?? "24h",
|
|
1022
|
+
metadata: input.displayName ? { displayName: input.displayName } : undefined,
|
|
1023
|
+
model: input.modelId,
|
|
1024
|
+
requests: input.requests,
|
|
1025
|
+
...input.providerOptions
|
|
1026
|
+
})
|
|
1027
|
+
}), input);
|
|
1028
|
+
return normalizeBatchJob(await parseJson(response));
|
|
1029
|
+
}
|
|
1030
|
+
finally {
|
|
1031
|
+
cleanup();
|
|
1032
|
+
}
|
|
1033
|
+
}
|
|
1034
|
+
async get(input) {
|
|
1035
|
+
const { signal, cleanup } = withTimeoutSignal(input);
|
|
1036
|
+
try {
|
|
1037
|
+
const response = await withRetry(() => this.fetcher(`${this.baseURL}/batches/${input.name}`, { method: "GET", headers: jsonHeaders(this.apiKey), signal }), input);
|
|
1038
|
+
return normalizeBatchJob(await parseJson(response));
|
|
1039
|
+
}
|
|
1040
|
+
finally {
|
|
1041
|
+
cleanup();
|
|
1042
|
+
}
|
|
1043
|
+
}
|
|
1044
|
+
async list(input = {}) {
|
|
1045
|
+
const { signal, cleanup } = withTimeoutSignal(input);
|
|
1046
|
+
try {
|
|
1047
|
+
const response = await withRetry(() => this.fetcher(appendQuery(`${this.baseURL}/batches`, { limit: input.pageSize, after: input.pageToken }), { method: "GET", headers: jsonHeaders(this.apiKey), signal }), input);
|
|
1048
|
+
const json = await parseJson(response);
|
|
1049
|
+
return { batches: (json.data ?? json.batches ?? []).map(normalizeBatchJob), nextPageToken: json.next ?? json.nextPageToken, rawResponse: json };
|
|
1050
|
+
}
|
|
1051
|
+
finally {
|
|
1052
|
+
cleanup();
|
|
1053
|
+
}
|
|
1054
|
+
}
|
|
1055
|
+
async cancel(input) {
|
|
1056
|
+
const { signal, cleanup } = withTimeoutSignal(input);
|
|
1057
|
+
try {
|
|
1058
|
+
const response = await withRetry(() => this.fetcher(`${this.baseURL}/batches/${input.name}/cancel`, { method: "POST", headers: jsonHeaders(this.apiKey), signal }), input);
|
|
1059
|
+
return normalizeBatchJob(await parseJson(response));
|
|
1060
|
+
}
|
|
1061
|
+
finally {
|
|
1062
|
+
cleanup();
|
|
1063
|
+
}
|
|
1064
|
+
}
|
|
1065
|
+
async delete(input) {
|
|
1066
|
+
const { signal, cleanup } = withTimeoutSignal(input);
|
|
1067
|
+
try {
|
|
1068
|
+
const response = await withRetry(() => this.fetcher(`${this.baseURL}/batches/${input.name}`, { method: "DELETE", headers: jsonHeaders(this.apiKey), signal }), input);
|
|
1069
|
+
const json = await parseJson(response);
|
|
1070
|
+
return { name: input.name, rawResponse: json };
|
|
1071
|
+
}
|
|
1072
|
+
finally {
|
|
1073
|
+
cleanup();
|
|
1074
|
+
}
|
|
1075
|
+
}
|
|
1076
|
+
}
|
|
1077
|
+
class QwenTranscriptionModel {
|
|
1078
|
+
modelId;
|
|
1079
|
+
apiKey;
|
|
1080
|
+
baseURL;
|
|
1081
|
+
fetcher;
|
|
1082
|
+
provider = "qwen";
|
|
1083
|
+
capabilities = transcriptionCapabilities;
|
|
1084
|
+
constructor(modelId, apiKey, baseURL, fetcher) {
|
|
1085
|
+
this.modelId = modelId;
|
|
1086
|
+
this.apiKey = apiKey;
|
|
1087
|
+
this.baseURL = baseURL;
|
|
1088
|
+
this.fetcher = fetcher;
|
|
1089
|
+
}
|
|
1090
|
+
async transcribe(input) {
|
|
1091
|
+
const { signal, cleanup } = withTimeoutSignal(input);
|
|
1092
|
+
const form = new FormData();
|
|
1093
|
+
form.set("model", this.modelId);
|
|
1094
|
+
form.set("file", await createFile(input.audio.data, input.audio.mediaType, input.audio.filename ?? "audio"));
|
|
1095
|
+
if (input.prompt)
|
|
1096
|
+
form.set("prompt", input.prompt);
|
|
1097
|
+
if (input.language)
|
|
1098
|
+
form.set("language", input.language);
|
|
1099
|
+
for (const [key, value] of Object.entries(input.providerOptions ?? {})) {
|
|
1100
|
+
form.set(key, typeof value === "string" ? value : JSON.stringify(value));
|
|
1101
|
+
}
|
|
1102
|
+
try {
|
|
1103
|
+
const response = await withRetry(() => this.fetcher(`${this.baseURL}/audio/transcriptions`, { method: "POST", headers: { authorization: `Bearer ${this.apiKey}` }, signal, body: form }), input);
|
|
1104
|
+
const json = await parseJson(response);
|
|
1105
|
+
return { text: json.text ?? json.output?.text ?? "", rawResponse: json };
|
|
1106
|
+
}
|
|
1107
|
+
finally {
|
|
1108
|
+
cleanup();
|
|
1109
|
+
}
|
|
1110
|
+
}
|
|
1111
|
+
}
|
|
1112
|
+
class QwenSpeechModel {
|
|
1113
|
+
modelId;
|
|
1114
|
+
apiKey;
|
|
1115
|
+
baseURL;
|
|
1116
|
+
fetcher;
|
|
1117
|
+
provider = "qwen";
|
|
1118
|
+
capabilities = speechCapabilities;
|
|
1119
|
+
constructor(modelId, apiKey, baseURL, fetcher) {
|
|
1120
|
+
this.modelId = modelId;
|
|
1121
|
+
this.apiKey = apiKey;
|
|
1122
|
+
this.baseURL = baseURL;
|
|
1123
|
+
this.fetcher = fetcher;
|
|
1124
|
+
}
|
|
1125
|
+
async generateSpeech(input) {
|
|
1126
|
+
const { signal, cleanup } = withTimeoutSignal(input);
|
|
1127
|
+
try {
|
|
1128
|
+
const response = await withRetry(() => this.fetcher(`${this.baseURL}/audio/speech`, {
|
|
1129
|
+
method: "POST",
|
|
1130
|
+
headers: jsonHeaders(this.apiKey),
|
|
1131
|
+
signal,
|
|
1132
|
+
body: JSON.stringify({ model: this.modelId, input: input.input, voice: input.voice ?? "Chelsie", ...input.providerOptions })
|
|
1133
|
+
}), input);
|
|
1134
|
+
if (response.headers.get("content-type")?.includes("application/json")) {
|
|
1135
|
+
const json = await parseJson(response);
|
|
1136
|
+
const audio = json.audio?.data ?? json.output?.audio?.data ?? "";
|
|
1137
|
+
return { audio: Uint8Array.from(Buffer.from(audio, "base64")), mediaType: json.audio?.media_type ?? json.output?.audio?.media_type ?? "audio/mpeg", rawResponse: json };
|
|
1138
|
+
}
|
|
1139
|
+
return { audio: new Uint8Array(await response.arrayBuffer()), mediaType: response.headers.get("content-type") ?? "audio/mpeg" };
|
|
1140
|
+
}
|
|
1141
|
+
finally {
|
|
1142
|
+
cleanup();
|
|
1143
|
+
}
|
|
1144
|
+
}
|
|
1145
|
+
}
|
|
1146
|
+
const normalizeGeneratedMedia = (item, fallbackMimeType) => ({
|
|
1147
|
+
uri: item.url ?? item.uri,
|
|
1148
|
+
data: item.b64_json || item.base64 ? Uint8Array.from(Buffer.from(item.b64_json ?? item.base64, "base64")) : undefined,
|
|
1149
|
+
mediaType: item.mime_type ?? item.mediaType ?? fallbackMimeType,
|
|
1150
|
+
text: item.revised_prompt ?? item.text,
|
|
1151
|
+
providerMetadata: item
|
|
1152
|
+
});
|
|
1153
|
+
class QwenImageGenerationModel {
|
|
1154
|
+
modelId;
|
|
1155
|
+
apiKey;
|
|
1156
|
+
baseURL;
|
|
1157
|
+
taskBaseURL;
|
|
1158
|
+
fetcher;
|
|
1159
|
+
provider = "qwen";
|
|
1160
|
+
capabilities = imageGenerationCapabilities;
|
|
1161
|
+
constructor(modelId, apiKey, baseURL, taskBaseURL, fetcher) {
|
|
1162
|
+
this.modelId = modelId;
|
|
1163
|
+
this.apiKey = apiKey;
|
|
1164
|
+
this.baseURL = baseURL;
|
|
1165
|
+
this.taskBaseURL = taskBaseURL;
|
|
1166
|
+
this.fetcher = fetcher;
|
|
1167
|
+
}
|
|
1168
|
+
async generateImage(input) {
|
|
1169
|
+
const { signal, cleanup } = withTimeoutSignal(input);
|
|
1170
|
+
const endpoint = String(input.providerOptions?.endpoint ?? `${this.baseURL}/images/generations`);
|
|
1171
|
+
try {
|
|
1172
|
+
const response = await withRetry(() => this.fetcher(endpoint, {
|
|
1173
|
+
method: "POST",
|
|
1174
|
+
headers: jsonHeaders(this.apiKey),
|
|
1175
|
+
signal,
|
|
1176
|
+
body: JSON.stringify({
|
|
1177
|
+
model: this.modelId,
|
|
1178
|
+
prompt: input.prompt,
|
|
1179
|
+
n: input.count,
|
|
1180
|
+
size: input.size,
|
|
1181
|
+
negative_prompt: input.negativePrompt,
|
|
1182
|
+
response_format: input.providerOptions?.response_format,
|
|
1183
|
+
input_image: input.images?.[0]?.uri,
|
|
1184
|
+
...input.providerOptions
|
|
1185
|
+
})
|
|
1186
|
+
}), input);
|
|
1187
|
+
const json = await parseJson(response);
|
|
1188
|
+
const data = json.data ?? json.output?.results ?? json.output?.images ?? [];
|
|
1189
|
+
return {
|
|
1190
|
+
images: data.map((item) => normalizeGeneratedMedia(item, input.outputMimeType ?? "image/png")),
|
|
1191
|
+
text: json.output?.text,
|
|
1192
|
+
rawResponse: json
|
|
1193
|
+
};
|
|
1194
|
+
}
|
|
1195
|
+
finally {
|
|
1196
|
+
cleanup();
|
|
1197
|
+
}
|
|
1198
|
+
}
|
|
1199
|
+
}
|
|
1200
|
+
class QwenVideoGenerationModel {
|
|
1201
|
+
modelId;
|
|
1202
|
+
apiKey;
|
|
1203
|
+
taskBaseURL;
|
|
1204
|
+
fetcher;
|
|
1205
|
+
provider = "qwen";
|
|
1206
|
+
capabilities = videoGenerationCapabilities;
|
|
1207
|
+
constructor(modelId, apiKey, taskBaseURL, fetcher) {
|
|
1208
|
+
this.modelId = modelId;
|
|
1209
|
+
this.apiKey = apiKey;
|
|
1210
|
+
this.taskBaseURL = taskBaseURL;
|
|
1211
|
+
this.fetcher = fetcher;
|
|
1212
|
+
}
|
|
1213
|
+
async generateVideo(input) {
|
|
1214
|
+
const { signal, cleanup } = withTimeoutSignal(input);
|
|
1215
|
+
try {
|
|
1216
|
+
const response = await withRetry(() => this.fetcher(`${this.taskBaseURL}/services/aigc/video-generation/generation`, {
|
|
1217
|
+
method: "POST",
|
|
1218
|
+
headers: { ...jsonHeaders(this.apiKey), "X-DashScope-Async": "enable" },
|
|
1219
|
+
signal,
|
|
1220
|
+
body: JSON.stringify({
|
|
1221
|
+
model: this.modelId,
|
|
1222
|
+
input: { prompt: input.prompt, img_url: input.image?.uri, negative_prompt: input.negativePrompt },
|
|
1223
|
+
parameters: { size: input.aspectRatio, duration: input.durationSeconds, n: input.count, output_storage_uri: input.outputStorageUri },
|
|
1224
|
+
...input.providerOptions
|
|
1225
|
+
})
|
|
1226
|
+
}), input);
|
|
1227
|
+
const json = await parseJson(response);
|
|
1228
|
+
const items = json.output?.results ?? json.output?.videos ?? [];
|
|
1229
|
+
return {
|
|
1230
|
+
videos: items.map((item) => normalizeGeneratedMedia(item, "video/mp4")),
|
|
1231
|
+
operationName: json.output?.task_id ?? json.task_id,
|
|
1232
|
+
rawResponse: json
|
|
1233
|
+
};
|
|
1234
|
+
}
|
|
1235
|
+
finally {
|
|
1236
|
+
cleanup();
|
|
1237
|
+
}
|
|
1238
|
+
}
|
|
1239
|
+
}
|
|
1240
|
+
class QwenRerankModelImpl {
|
|
1241
|
+
modelId;
|
|
1242
|
+
apiKey;
|
|
1243
|
+
baseURL;
|
|
1244
|
+
fetcher;
|
|
1245
|
+
provider = "qwen";
|
|
1246
|
+
constructor(modelId, apiKey, baseURL, fetcher) {
|
|
1247
|
+
this.modelId = modelId;
|
|
1248
|
+
this.apiKey = apiKey;
|
|
1249
|
+
this.baseURL = baseURL;
|
|
1250
|
+
this.fetcher = fetcher;
|
|
1251
|
+
}
|
|
1252
|
+
async rerank(input) {
|
|
1253
|
+
const { signal, cleanup } = withTimeoutSignal(input);
|
|
1254
|
+
try {
|
|
1255
|
+
const response = await withRetry(() => this.fetcher(`${this.baseURL}/rerank`, {
|
|
1256
|
+
method: "POST",
|
|
1257
|
+
headers: jsonHeaders(this.apiKey),
|
|
1258
|
+
signal,
|
|
1259
|
+
body: JSON.stringify({ model: this.modelId, query: input.query, documents: input.documents, top_n: input.topN, ...input.providerOptions })
|
|
1260
|
+
}), input);
|
|
1261
|
+
const json = await parseJson(response);
|
|
1262
|
+
return {
|
|
1263
|
+
results: (json.results ?? json.output?.results ?? []).map((entry) => ({
|
|
1264
|
+
index: entry.index,
|
|
1265
|
+
document: input.documents[entry.index] ?? entry.document?.text ?? "",
|
|
1266
|
+
relevanceScore: entry.relevance_score ?? entry.score ?? 0,
|
|
1267
|
+
providerMetadata: entry
|
|
1268
|
+
})),
|
|
1269
|
+
rawResponse: json
|
|
1270
|
+
};
|
|
1271
|
+
}
|
|
1272
|
+
finally {
|
|
1273
|
+
cleanup();
|
|
1274
|
+
}
|
|
1275
|
+
}
|
|
1276
|
+
}
|
|
1277
|
+
class QwenTasksClientImpl {
|
|
1278
|
+
apiKey;
|
|
1279
|
+
taskBaseURL;
|
|
1280
|
+
fetcher;
|
|
1281
|
+
constructor(apiKey, taskBaseURL, fetcher) {
|
|
1282
|
+
this.apiKey = apiKey;
|
|
1283
|
+
this.taskBaseURL = taskBaseURL;
|
|
1284
|
+
this.fetcher = fetcher;
|
|
1285
|
+
}
|
|
1286
|
+
async get(input) {
|
|
1287
|
+
const { signal, cleanup } = withTimeoutSignal(input);
|
|
1288
|
+
try {
|
|
1289
|
+
const response = await withRetry(() => this.fetcher(`${this.taskBaseURL}/tasks/${input.name}`, { method: "GET", headers: jsonHeaders(this.apiKey), signal }), input);
|
|
1290
|
+
return normalizeOperation(await parseJson(response));
|
|
1291
|
+
}
|
|
1292
|
+
finally {
|
|
1293
|
+
cleanup();
|
|
1294
|
+
}
|
|
1295
|
+
}
|
|
1296
|
+
async cancel(input) {
|
|
1297
|
+
const { signal, cleanup } = withTimeoutSignal(input);
|
|
1298
|
+
try {
|
|
1299
|
+
const response = await withRetry(() => this.fetcher(`${this.taskBaseURL}/tasks/${input.name}/cancel`, { method: "POST", headers: jsonHeaders(this.apiKey), signal }), input);
|
|
1300
|
+
return normalizeOperation(await parseJson(response));
|
|
1301
|
+
}
|
|
1302
|
+
finally {
|
|
1303
|
+
cleanup();
|
|
1304
|
+
}
|
|
1305
|
+
}
|
|
1306
|
+
}
|
|
1307
|
+
const parseRealtimeEvent = (payload) => {
|
|
1308
|
+
const type = String(payload.type ?? "");
|
|
1309
|
+
if (type.includes("text.delta") && typeof payload.delta === "string") {
|
|
1310
|
+
return [{ type: "realtime-text-delta", textDelta: payload.delta, providerMetadata: payload }];
|
|
1311
|
+
}
|
|
1312
|
+
if (type.includes("audio.delta") && typeof payload.delta === "string") {
|
|
1313
|
+
return [{ type: "realtime-audio-output", audio: Uint8Array.from(Buffer.from(payload.delta, "base64")), mediaType: "audio/pcm", providerMetadata: payload }];
|
|
1314
|
+
}
|
|
1315
|
+
if (type.includes("transcript") && typeof payload.text === "string") {
|
|
1316
|
+
return [{ type: "realtime-transcript", text: payload.text, role: type.includes("input") ? "user" : "assistant", isFinal: type.includes("done"), providerMetadata: payload }];
|
|
1317
|
+
}
|
|
1318
|
+
if (type.includes("completed") || type.includes("done")) {
|
|
1319
|
+
return [{ type: "realtime-response-complete", providerMetadata: payload }];
|
|
1320
|
+
}
|
|
1321
|
+
if (type.includes("error")) {
|
|
1322
|
+
return [{ type: "realtime-error", message: String(payload.error ?? payload.message ?? "Qwen realtime error"), providerMetadata: payload }];
|
|
1323
|
+
}
|
|
1324
|
+
return [];
|
|
1325
|
+
};
|
|
1326
|
+
class QwenRealtimeModel {
|
|
1327
|
+
modelId;
|
|
1328
|
+
apiKey;
|
|
1329
|
+
realtimeURL;
|
|
1330
|
+
connectionFactory;
|
|
1331
|
+
provider = "qwen";
|
|
1332
|
+
capabilities = realtimeCapabilities;
|
|
1333
|
+
constructor(modelId, apiKey, realtimeURL, connectionFactory) {
|
|
1334
|
+
this.modelId = modelId;
|
|
1335
|
+
this.apiKey = apiKey;
|
|
1336
|
+
this.realtimeURL = realtimeURL;
|
|
1337
|
+
this.connectionFactory = connectionFactory;
|
|
1338
|
+
}
|
|
1339
|
+
async connect(config = {}, options) {
|
|
1340
|
+
const url = appendQuery(this.realtimeURL, { model: this.modelId });
|
|
1341
|
+
const connection = await (this.connectionFactory ?? openWebSocketConnection)(url, { authorization: `Bearer ${this.apiKey}` }, options);
|
|
1342
|
+
const session = new CallbackRealtimeSession({
|
|
1343
|
+
provider: this.provider,
|
|
1344
|
+
modelId: this.modelId,
|
|
1345
|
+
capabilities: this.capabilities,
|
|
1346
|
+
config,
|
|
1347
|
+
connection,
|
|
1348
|
+
callbacks: {
|
|
1349
|
+
parseEvent: parseRealtimeEvent,
|
|
1350
|
+
buildInitialPayloads: (value) => [{ type: "session.update", session: { instructions: value.instructions, voice: value.voice, ...value.providerOptions } }],
|
|
1351
|
+
buildAudioPayloads: (frame) => [{ type: "input_audio_buffer.append", audio: typeof frame.data === "string" ? frame.data : Buffer.from(frame.data).toString("base64") }],
|
|
1352
|
+
buildMediaPayloads: (frame) => [{ type: "input_media.append", media_type: frame.mediaType, data: typeof frame.data === "string" ? frame.data : Buffer.from(frame.data).toString("base64") }],
|
|
1353
|
+
buildTextPayloads: (text) => [{ type: "conversation.item.create", item: { type: "message", role: "user", content: [{ type: "input_text", text }] } }, { type: "response.create" }],
|
|
1354
|
+
buildToolResultPayloads: (result) => [{ type: "conversation.item.create", item: { type: "function_call_output", call_id: result.toolCallId, output: JSON.stringify(result.isError ? result.error : result.output ?? null) } }],
|
|
1355
|
+
buildUpdatePayloads: (value) => [{ type: "session.update", session: { instructions: value.instructions, voice: value.voice, ...value.providerOptions } }],
|
|
1356
|
+
buildClosePayloads: () => [{ type: "session.close" }]
|
|
1357
|
+
}
|
|
1358
|
+
});
|
|
1359
|
+
await session.initialize();
|
|
1360
|
+
return session;
|
|
1361
|
+
}
|
|
1362
|
+
}
|
|
732
1363
|
export const createQwen = (options = {}) => {
|
|
733
1364
|
const apiKey = options.apiKey ?? process.env.QWEN_API_KEY ?? process.env.DASHSCOPE_API_KEY;
|
|
734
1365
|
if (!apiKey) {
|
|
735
1366
|
throw new ConfigurationError("Missing Qwen API key.");
|
|
736
1367
|
}
|
|
737
1368
|
const baseURL = options.baseURL ?? "https://dashscope-intl.aliyuncs.com/compatible-mode/v1";
|
|
1369
|
+
const taskBaseURL = options.taskBaseURL ?? qwenTaskBaseURLFrom(baseURL);
|
|
1370
|
+
const realtimeURL = options.realtimeURL ?? "wss://dashscope-intl.aliyuncs.com/compatible-mode/v1/realtime";
|
|
738
1371
|
const fetcher = options.fetch ?? globalThis.fetch;
|
|
739
1372
|
return createProviderAdapter({
|
|
740
1373
|
name: "qwen",
|
|
741
1374
|
languageModel: (modelId) => new QwenLanguageModel(modelId, apiKey, baseURL, fetcher),
|
|
742
1375
|
embeddingModel: (modelId) => new QwenEmbeddingModel(modelId, apiKey, baseURL, fetcher),
|
|
1376
|
+
transcriptionModel: (modelId) => new QwenTranscriptionModel(modelId, apiKey, baseURL, fetcher),
|
|
1377
|
+
speechModel: (modelId) => new QwenSpeechModel(modelId, apiKey, baseURL, fetcher),
|
|
1378
|
+
imageGenerationModel: (modelId) => new QwenImageGenerationModel(modelId, apiKey, baseURL, taskBaseURL, fetcher),
|
|
1379
|
+
videoGenerationModel: (modelId) => new QwenVideoGenerationModel(modelId, apiKey, taskBaseURL, fetcher),
|
|
1380
|
+
realtimeModel: (modelId) => new QwenRealtimeModel(modelId, apiKey, realtimeURL, options.realtimeConnectionFactory),
|
|
1381
|
+
files: new QwenFilesClient(apiKey, baseURL, fetcher),
|
|
1382
|
+
fileSearchStores: new QwenFileSearchStoresClient(apiKey, baseURL, fetcher),
|
|
1383
|
+
batches: new QwenBatchesClient(apiKey, baseURL, fetcher),
|
|
1384
|
+
rerankModel: (modelId) => new QwenRerankModelImpl(modelId, apiKey, baseURL, fetcher),
|
|
1385
|
+
multimodalEmbeddingModel: (modelId) => new QwenEmbeddingModel(modelId, apiKey, baseURL, fetcher),
|
|
1386
|
+
tasks: new QwenTasksClientImpl(apiKey, taskBaseURL, fetcher),
|
|
743
1387
|
rawFetch: fetcher
|
|
744
1388
|
});
|
|
745
1389
|
};
|
|
@@ -764,4 +1408,32 @@ export const qwenCodeInterpreterTool = (config = {}) => hostedTool({
|
|
|
764
1408
|
toolClass: "code-execution",
|
|
765
1409
|
config: config
|
|
766
1410
|
});
|
|
1411
|
+
export const qwenFileSearchTool = (config = {}) => hostedTool({
|
|
1412
|
+
name: "file_search",
|
|
1413
|
+
provider: "qwen",
|
|
1414
|
+
type: "file_search",
|
|
1415
|
+
toolClass: "file-search",
|
|
1416
|
+
config: config
|
|
1417
|
+
});
|
|
1418
|
+
export const qwenMcpTool = (config) => hostedTool({
|
|
1419
|
+
name: typeof config.server_label === "string" ? config.server_label : "mcp",
|
|
1420
|
+
provider: "qwen",
|
|
1421
|
+
type: "mcp",
|
|
1422
|
+
toolClass: "remote-mcp",
|
|
1423
|
+
config: config
|
|
1424
|
+
});
|
|
1425
|
+
export const qwenWebSearchImageTool = (config = {}) => hostedTool({
|
|
1426
|
+
name: "web_search_image",
|
|
1427
|
+
provider: "qwen",
|
|
1428
|
+
type: "web_search_image",
|
|
1429
|
+
toolClass: "custom",
|
|
1430
|
+
config: config
|
|
1431
|
+
});
|
|
1432
|
+
export const qwenImageSearchTool = (config = {}) => hostedTool({
|
|
1433
|
+
name: "image_search",
|
|
1434
|
+
provider: "qwen",
|
|
1435
|
+
type: "image_search",
|
|
1436
|
+
toolClass: "custom",
|
|
1437
|
+
config: config
|
|
1438
|
+
});
|
|
767
1439
|
//# 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/qwen",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Qwen 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": "^0.
|
|
44
|
+
"@zhivex-ai/core": "^0.10.0",
|
|
45
45
|
"zod": "^4.3.6"
|
|
46
46
|
}
|
|
47
47
|
}
|