Skip to content

Commit b6cc7cf

Browse files
authored
feat: The Qwen model supports parameters such as enable_thinking and enable_search, and can invoke a rerank model.
1 parent 2b229d4 commit b6cc7cf

File tree

2 files changed

+43
-4
lines changed

2 files changed

+43
-4
lines changed

src/providers/dashscope/api.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
11
import { ProviderAPIConfig } from '../types';
22

33
export const dashscopeAPIConfig: ProviderAPIConfig = {
4-
getBaseURL: () => 'https://dashscope.aliyuncs.com/compatible-mode/v1',
4+
getBaseURL: () => 'https://dashscope.aliyuncs.com',
55
headers({ providerOptions }) {
66
const { apiKey } = providerOptions;
77
return { Authorization: `Bearer ${apiKey}` };
88
},
99
getEndpoint({ fn }) {
1010
switch (fn) {
1111
case 'chatComplete':
12-
return `/chat/completions`;
12+
return `/compatible-mode/v1/chat/completions`;
1313
case 'embed':
14-
return `/embeddings`;
14+
return `/compatible-mode/v1/embeddings`;
15+
case 'rerank':
16+
return `/api/v1/services/rerank/text-rerank/text-rerank`;
1517
default:
1618
return '';
1719
}

src/providers/dashscope/index.ts

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,45 @@ import { ProviderConfigs } from '../types';
88
import { dashscopeAPIConfig } from './api';
99

1010
export const DashScopeConfig: ProviderConfigs = {
11-
chatComplete: chatCompleteParams([], { model: 'qwen-turbo' }),
11+
chatComplete: chatCompleteParams(
12+
[],
13+
{ model: 'qwen-turbo' },
14+
{
15+
top_k: {
16+
param: 'top_k',
17+
},
18+
repetition_penalty: {
19+
param: 'repetition_penalty',
20+
},
21+
stop: {
22+
param: 'stop',
23+
},
24+
enable_search: {
25+
param: 'enable_search',
26+
},
27+
enable_thinking: {
28+
param: 'enable_thinking',
29+
},
30+
thinking_budget: {
31+
param: 'thinking_budget',
32+
},
33+
}
34+
),
1235
embed: embedParams([], { model: 'text-embedding-v1' }),
36+
rerank: {
37+
model: {
38+
param: 'model',
39+
},
40+
query: {
41+
param: 'input.query',
42+
},
43+
documents: {
44+
param: 'input.documents',
45+
},
46+
parameters: {
47+
param: 'parameters',
48+
},
49+
},
1350
api: dashscopeAPIConfig,
1451
responseTransforms: responseTransformers(DASHSCOPE, {
1552
chatComplete: true,

0 commit comments

Comments
 (0)