AbstractChatCompletionRunner.d.ts 4.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import type OpenAI from "../index.js";
  2. import type { RequestOptions } from "../internal/request-options.js";
  3. import type { ChatCompletion, ChatCompletionCreateParams, ChatCompletionMessage, ChatCompletionMessageFunctionToolCall, ChatCompletionMessageParam, ParsedChatCompletion } from "../resources/chat/completions.js";
  4. import type { CompletionUsage } from "../resources/completions.js";
  5. import type { ChatCompletionToolRunnerParams } from "./ChatCompletionRunner.js";
  6. import type { ChatCompletionStreamingToolRunnerParams } from "./ChatCompletionStreamingRunner.js";
  7. import { BaseEvents, EventStream } from "./EventStream.js";
  8. import { type BaseFunctionsArgs } from "./RunnableFunction.js";
  9. export interface RunnerOptions extends RequestOptions {
  10. /** How many requests to make before canceling. Default 10. */
  11. maxChatCompletions?: number;
  12. }
  13. export declare class AbstractChatCompletionRunner<EventTypes extends AbstractChatCompletionRunnerEvents, ParsedT> extends EventStream<EventTypes> {
  14. #private;
  15. protected _chatCompletions: ParsedChatCompletion<ParsedT>[];
  16. messages: ChatCompletionMessageParam[];
  17. protected _addChatCompletion(this: AbstractChatCompletionRunner<AbstractChatCompletionRunnerEvents, ParsedT>, chatCompletion: ParsedChatCompletion<ParsedT>): ParsedChatCompletion<ParsedT>;
  18. protected _addMessage(this: AbstractChatCompletionRunner<AbstractChatCompletionRunnerEvents, ParsedT>, message: ChatCompletionMessageParam, emit?: boolean): void;
  19. /**
  20. * @returns a promise that resolves with the final ChatCompletion, or rejects
  21. * if an error occurred or the stream ended prematurely without producing a ChatCompletion.
  22. */
  23. finalChatCompletion(): Promise<ParsedChatCompletion<ParsedT>>;
  24. /**
  25. * @returns a promise that resolves with the content of the final ChatCompletionMessage, or rejects
  26. * if an error occurred or the stream ended prematurely without producing a ChatCompletionMessage.
  27. */
  28. finalContent(): Promise<string | null>;
  29. /**
  30. * @returns a promise that resolves with the the final assistant ChatCompletionMessage response,
  31. * or rejects if an error occurred or the stream ended prematurely without producing a ChatCompletionMessage.
  32. */
  33. finalMessage(): Promise<ChatCompletionMessage>;
  34. /**
  35. * @returns a promise that resolves with the content of the final FunctionCall, or rejects
  36. * if an error occurred or the stream ended prematurely without producing a ChatCompletionMessage.
  37. */
  38. finalFunctionToolCall(): Promise<ChatCompletionMessageFunctionToolCall.Function | undefined>;
  39. finalFunctionToolCallResult(): Promise<string | undefined>;
  40. totalUsage(): Promise<CompletionUsage>;
  41. allChatCompletions(): ChatCompletion[];
  42. protected _emitFinal(this: AbstractChatCompletionRunner<AbstractChatCompletionRunnerEvents, ParsedT>): void;
  43. protected _createChatCompletion(client: OpenAI, params: ChatCompletionCreateParams, options?: RequestOptions): Promise<ParsedChatCompletion<ParsedT>>;
  44. protected _runChatCompletion(client: OpenAI, params: ChatCompletionCreateParams, options?: RequestOptions): Promise<ChatCompletion>;
  45. protected _runTools<FunctionsArgs extends BaseFunctionsArgs>(client: OpenAI, params: ChatCompletionToolRunnerParams<FunctionsArgs> | ChatCompletionStreamingToolRunnerParams<FunctionsArgs>, options?: RunnerOptions): Promise<void>;
  46. }
  47. export interface AbstractChatCompletionRunnerEvents extends BaseEvents {
  48. functionToolCall: (functionCall: ChatCompletionMessageFunctionToolCall.Function) => void;
  49. message: (message: ChatCompletionMessageParam) => void;
  50. chatCompletion: (completion: ChatCompletion) => void;
  51. finalContent: (contentSnapshot: string) => void;
  52. finalMessage: (message: ChatCompletionMessageParam) => void;
  53. finalChatCompletion: (completion: ChatCompletion) => void;
  54. finalFunctionToolCall: (functionCall: ChatCompletionMessageFunctionToolCall.Function) => void;
  55. functionToolCallResult: (content: string) => void;
  56. finalFunctionToolCallResult: (content: string) => void;
  57. totalUsage: (usage: CompletionUsage) => void;
  58. }
  59. //# sourceMappingURL=AbstractChatCompletionRunner.d.ts.map