56 lines
2.6 KiB
JavaScript
56 lines
2.6 KiB
JavaScript
"use strict";
|
|
/*
|
|
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
|
|
*/
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.Chat = void 0;
|
|
const chatComplete_js_1 = require("../funcs/chatComplete.js");
|
|
const chatStream_js_1 = require("../funcs/chatStream.js");
|
|
const sdks_js_1 = require("../lib/sdks.js");
|
|
const fp_js_1 = require("../types/fp.js");
|
|
const structChat_js_1 = require("../extra/structChat.js");
|
|
// #endregion imports
|
|
class Chat extends sdks_js_1.ClientSDK {
|
|
// #region sdk-class-body
|
|
/**
|
|
* Chat Completion with the response parsed in the same format as the input requestFormat.
|
|
*
|
|
* @remarks
|
|
* The response will be parsed back to the initial Zod object passed in the requestFormat field.
|
|
*/
|
|
async parse(request, options) {
|
|
const ccr_request = (0, structChat_js_1.transformToChatCompletionRequest)(request);
|
|
const response = await (0, fp_js_1.unwrapAsync)((0, chatComplete_js_1.chatComplete)(this, ccr_request, options));
|
|
const parsed_response = (0, structChat_js_1.convertToParsedChatCompletionResponse)(response, request.responseFormat);
|
|
return parsed_response;
|
|
}
|
|
/**
|
|
* Stream chat completion with a parsed request input.
|
|
*
|
|
* @remarks
|
|
* Unlike the .parse method, this method will return a stream of events containing the JSON response. It will not be parsed back to the initial Zod object.
|
|
* If you need to parse the stream, see the examples/src/async_structured_outputs.ts file.
|
|
*/
|
|
async parseStream(request, options) {
|
|
const ccr_request = (0, structChat_js_1.transformToChatCompletionRequest)(request);
|
|
return (0, fp_js_1.unwrapAsync)((0, chatStream_js_1.chatStream)(this, ccr_request, options));
|
|
}
|
|
// #endregion sdk-class-body
|
|
/**
|
|
* Chat Completion
|
|
*/
|
|
async complete(request, options) {
|
|
return (0, fp_js_1.unwrapAsync)((0, chatComplete_js_1.chatComplete)(this, request, options));
|
|
}
|
|
/**
|
|
* Stream chat completion
|
|
*
|
|
* @remarks
|
|
* Mistral AI provides the ability to stream responses back to a client in order to allow partial results for certain requests. Tokens will be sent as data-only server-sent events as they become available, with the stream terminated by a data: [DONE] message. Otherwise, the server will hold the request open until the timeout or until completion, with the response containing the full result as JSON.
|
|
*/
|
|
async stream(request, options) {
|
|
return (0, fp_js_1.unwrapAsync)((0, chatStream_js_1.chatStream)(this, request, options));
|
|
}
|
|
}
|
|
exports.Chat = Chat;
|
|
//# sourceMappingURL=chat.js.map
|