MCPcopy Create free account
hub / github.com/aiprodcoder/MIXAPI / buildApiPayload

Function buildApiPayload

web/src/helpers/api.js:74–113  ·  view source on GitHub ↗
(messages, systemPrompt, inputs, parameterEnabled)

Source from the content-addressed store, hash-verified

72
73// 构建API请求负载
74export const buildApiPayload = (messages, systemPrompt, inputs, parameterEnabled) => {
75 const processedMessages = messages
76 .filter(isValidMessage)
77 .map(formatMessageForAPI)
78 .filter(Boolean);
79
80 // 如果有系统提示,插入到消息开头
81 if (systemPrompt && systemPrompt.trim()) {
82 processedMessages.unshift({
83 role: MESSAGE_ROLES.SYSTEM,
84 content: systemPrompt.trim()
85 });
86 }
87
88 const payload = {
89 model: inputs.model,
90 group: inputs.group,
91 messages: processedMessages,
92 group: inputs.group,
93 stream: inputs.stream,
94 };
95
96 // 添加启用的参数
97 const parameterMappings = {
98 temperature: 'temperature',
99 top_p: 'top_p',
100 max_tokens: 'max_tokens',
101 frequency_penalty: 'frequency_penalty',
102 presence_penalty: 'presence_penalty',
103 seed: 'seed'
104 };
105
106 Object.entries(parameterMappings).forEach(([key, param]) => {
107 if (parameterEnabled[key] && inputs[param] !== undefined && inputs[param] !== null) {
108 payload[param] = inputs[param];
109 }
110 });
111
112 return payload;
113};
114
115// 处理API错误响应
116export const handleApiError = (error, response = null) => {

Callers 3

index.jsFile · 0.90
onMessageSendFunction · 0.90
useMessageEditFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected