llm.wanjie.js
880 Bytes
import OpenAIProvider from './llm.openai.js'
export default class WanjieProvider extends OpenAIProvider {
defaultBaseUrl() {
return 'https://maas-openapi.wanjiedata.com/api/v1'
}
httpErrorInfo(_res, body, _reason) {
const response = requiredObject(body, 'response')
const error = requiredObject(response.error, 'error')
return {
message: requiredString(error.message, 'error.message'),
provider_request_id: requiredString(response.request_id, 'request_id'),
}
}
}
function requiredObject(value, field) {
if (!value || Object.getPrototypeOf(value) !== Object.prototype) {
throw new Error(`[wanjie] ${field} 必须是 object`)
}
return value
}
function requiredString(value, field) {
if (typeof value !== 'string' || value.length === 0) {
throw new Error(`[wanjie] ${field} 必须是非空字符串`)
}
return value
}