completions.mjs 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
  2. import { APIResource } from "../../../resource.mjs";
  3. import { ChatCompletionRunner } from "../../../lib/ChatCompletionRunner.mjs";
  4. import { ChatCompletionStreamingRunner, } from "../../../lib/ChatCompletionStreamingRunner.mjs";
  5. import { ChatCompletionStream } from "../../../lib/ChatCompletionStream.mjs";
  6. import { parseChatCompletion, validateInputTools } from "../../../lib/parser.mjs";
  7. export { ChatCompletionStreamingRunner, } from "../../../lib/ChatCompletionStreamingRunner.mjs";
  8. export { ParsingFunction, ParsingToolFunction, } from "../../../lib/RunnableFunction.mjs";
  9. export { ChatCompletionStream } from "../../../lib/ChatCompletionStream.mjs";
  10. export { ChatCompletionRunner, } from "../../../lib/ChatCompletionRunner.mjs";
  11. export class Completions extends APIResource {
  12. parse(body, options) {
  13. validateInputTools(body.tools);
  14. return this._client.chat.completions
  15. .create(body, {
  16. ...options,
  17. headers: {
  18. ...options?.headers,
  19. 'X-Stainless-Helper-Method': 'beta.chat.completions.parse',
  20. },
  21. })
  22. ._thenUnwrap((completion) => parseChatCompletion(completion, body));
  23. }
  24. runFunctions(body, options) {
  25. if (body.stream) {
  26. return ChatCompletionStreamingRunner.runFunctions(this._client, body, options);
  27. }
  28. return ChatCompletionRunner.runFunctions(this._client, body, options);
  29. }
  30. runTools(body, options) {
  31. if (body.stream) {
  32. return ChatCompletionStreamingRunner.runTools(this._client, body, options);
  33. }
  34. return ChatCompletionRunner.runTools(this._client, body, options);
  35. }
  36. /**
  37. * Creates a chat completion stream
  38. */
  39. stream(body, options) {
  40. return ChatCompletionStream.createChatCompletion(this._client, body, options);
  41. }
  42. }
  43. //# sourceMappingURL=completions.mjs.map