createRequest method

  1. @override
HttpRequestModel? createRequest(
  1. AIRequestModel? aiRequestModel
)
override

Implementation

@override
HttpRequestModel? createRequest(AIRequestModel? aiRequestModel) {
  if (aiRequestModel == null) {
    return null;
  }
  return HttpRequestModel(
    method: HTTPVerb.post,
    url: aiRequestModel.url,
    authModel: aiRequestModel.apiKey == null
        ? null
        : AuthModel(
            type: APIAuthType.bearer,
            bearer: AuthBearerModel(token: aiRequestModel.apiKey!),
          ),
    body: kJsonEncoder.convert({
      "model": aiRequestModel.model,
      "messages": [
        {"role": "system", "content": aiRequestModel.systemPrompt},
        if (aiRequestModel.userPrompt.isNotEmpty) ...{
          {"role": "user", "content": aiRequestModel.userPrompt},
        } else ...{
          {"role": "user", "content": "Generate"},
        },
      ],
      ...aiRequestModel.getModelConfigMap(),
      if (aiRequestModel.stream ?? false) ...{'stream': true},
    }),
  );
}