openai
Version:
The official TypeScript library for the OpenAI API
107 lines (102 loc) • 4.39 kB
text/typescript
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
import * as Core from "../../../core";
import { APIResource } from "../../../resource";
import { ChatCompletionRunner, ChatCompletionFunctionRunnerParams } from "../../../lib/ChatCompletionRunner";
export { ChatCompletionRunner, ChatCompletionFunctionRunnerParams } from "../../../lib/ChatCompletionRunner";
import {
ChatCompletionStreamingRunner,
ChatCompletionStreamingFunctionRunnerParams,
} from "../../../lib/ChatCompletionStreamingRunner";
export {
ChatCompletionStreamingRunner,
ChatCompletionStreamingFunctionRunnerParams,
} from "../../../lib/ChatCompletionStreamingRunner";
import { BaseFunctionsArgs } from "../../../lib/RunnableFunction";
export {
RunnableFunction,
RunnableFunctions,
RunnableFunctionWithParse,
RunnableFunctionWithoutParse,
ParsingFunction,
ParsingToolFunction,
} from "../../../lib/RunnableFunction";
import { ChatCompletionToolRunnerParams } from "../../../lib/ChatCompletionRunner";
export { ChatCompletionToolRunnerParams } from "../../../lib/ChatCompletionRunner";
import { ChatCompletionStreamingToolRunnerParams } from "../../../lib/ChatCompletionStreamingRunner";
export { ChatCompletionStreamingToolRunnerParams } from "../../../lib/ChatCompletionStreamingRunner";
import { ChatCompletionStream, type ChatCompletionStreamParams } from "../../../lib/ChatCompletionStream";
export { ChatCompletionStream, type ChatCompletionStreamParams } from "../../../lib/ChatCompletionStream";
export class Completions extends APIResource {
/**
* @deprecated - use `runTools` instead.
*/
runFunctions<FunctionsArgs extends BaseFunctionsArgs>(
body: ChatCompletionFunctionRunnerParams<FunctionsArgs>,
options?: Core.RequestOptions,
): ChatCompletionRunner;
runFunctions<FunctionsArgs extends BaseFunctionsArgs>(
body: ChatCompletionStreamingFunctionRunnerParams<FunctionsArgs>,
options?: Core.RequestOptions,
): ChatCompletionStreamingRunner;
runFunctions<FunctionsArgs extends BaseFunctionsArgs>(
body:
| ChatCompletionFunctionRunnerParams<FunctionsArgs>
| ChatCompletionStreamingFunctionRunnerParams<FunctionsArgs>,
options?: Core.RequestOptions,
): ChatCompletionRunner | ChatCompletionStreamingRunner {
if (body.stream) {
return ChatCompletionStreamingRunner.runFunctions(
this._client.chat.completions,
body as ChatCompletionStreamingFunctionRunnerParams<FunctionsArgs>,
options,
);
}
return ChatCompletionRunner.runFunctions(
this._client.chat.completions,
body as ChatCompletionFunctionRunnerParams<FunctionsArgs>,
options,
);
}
/**
* A convenience helper for using tool calls with the /chat/completions endpoint
* which automatically calls the JavaScript functions you provide and sends their
* results back to the /chat/completions endpoint, looping as long as the model
* requests function calls.
*
* For more details and examples, see
* [the docs](https://github.com/openai/openai-node#automated-function-calls)
*/
runTools<FunctionsArgs extends BaseFunctionsArgs>(
body: ChatCompletionToolRunnerParams<FunctionsArgs>,
options?: Core.RequestOptions,
): ChatCompletionRunner;
runTools<FunctionsArgs extends BaseFunctionsArgs>(
body: ChatCompletionStreamingToolRunnerParams<FunctionsArgs>,
options?: Core.RequestOptions,
): ChatCompletionStreamingRunner;
runTools<FunctionsArgs extends BaseFunctionsArgs>(
body:
| ChatCompletionToolRunnerParams<FunctionsArgs>
| ChatCompletionStreamingToolRunnerParams<FunctionsArgs>,
options?: Core.RequestOptions,
): ChatCompletionRunner | ChatCompletionStreamingRunner {
if (body.stream) {
return ChatCompletionStreamingRunner.runTools(
this._client.chat.completions,
body as ChatCompletionStreamingToolRunnerParams<FunctionsArgs>,
options,
);
}
return ChatCompletionRunner.runTools(
this._client.chat.completions,
body as ChatCompletionToolRunnerParams<FunctionsArgs>,
options,
);
}
/**
* Creates a chat completion stream
*/
stream(body: ChatCompletionStreamParams, options?: Core.RequestOptions): ChatCompletionStream {
return ChatCompletionStream.createChatCompletion(this._client.chat.completions, body, options);
}
}