diff --git a/src/index.ts b/src/index.ts index c36f37379..daa24ff51 100644 --- a/src/index.ts +++ b/src/index.ts @@ -2,10 +2,10 @@ import * as Core from './core'; import * as Pagination from './pagination'; -import * as API from './resources/index'; import * as Errors from './error'; import { type Agent } from './_shims/index'; import * as Uploads from './uploads'; +import * as API from 'openai/resources/index'; export interface ClientOptions { /** @@ -213,61 +213,69 @@ export namespace OpenAI { export import CursorPageResponse = Pagination.CursorPageResponse; export import Completions = API.Completions; - export import Completion = API.Completion; - export import CompletionChoice = API.CompletionChoice; - export import CompletionUsage = API.CompletionUsage; - export import CompletionCreateParams = API.CompletionCreateParams; - export import CompletionCreateParamsNonStreaming = API.CompletionCreateParamsNonStreaming; - export import CompletionCreateParamsStreaming = API.CompletionCreateParamsStreaming; + export type Completion = API.Completion; + export type CompletionChoice = API.CompletionChoice; + export type CompletionUsage = API.CompletionUsage; + export type CompletionCreateParams = API.CompletionCreateParams; + export type CompletionCreateParamsNonStreaming = API.CompletionCreateParamsNonStreaming; + export type CompletionCreateParamsStreaming = API.CompletionCreateParamsStreaming; export import Chat = API.Chat; + export type ChatCompletion = API.ChatCompletion; + export type ChatCompletionChunk = API.ChatCompletionChunk; + export type ChatCompletionMessage = API.ChatCompletionMessage; + export type ChatCompletionMessageParam = API.ChatCompletionMessageParam; + export type ChatCompletionRole = API.ChatCompletionRole; + export type ChatCompletionCreateParams = API.ChatCompletionCreateParams; + export type ChatCompletionCreateParamsNonStreaming = API.ChatCompletionCreateParamsNonStreaming; + export type ChatCompletionCreateParamsStreaming = API.ChatCompletionCreateParamsStreaming; export import Edits = API.Edits; - export import Edit = API.Edit; - export import EditCreateParams = API.EditCreateParams; + export type Edit = API.Edit; + export type EditCreateParams = API.EditCreateParams; export import Embeddings = API.Embeddings; - export import CreateEmbeddingResponse = API.CreateEmbeddingResponse; - export import Embedding = API.Embedding; - export import EmbeddingCreateParams = API.EmbeddingCreateParams; + export type CreateEmbeddingResponse = API.CreateEmbeddingResponse; + export type Embedding = API.Embedding; + export type EmbeddingCreateParams = API.EmbeddingCreateParams; export import Files = API.Files; - export import FileContent = API.FileContent; - export import FileDeleted = API.FileDeleted; - export import FileObject = API.FileObject; + export type FileContent = API.FileContent; + export type FileDeleted = API.FileDeleted; + export type FileObject = API.FileObject; export import FileObjectsPage = API.FileObjectsPage; - export import FileCreateParams = API.FileCreateParams; + export type FileCreateParams = API.FileCreateParams; export import Images = API.Images; - export import Image = API.Image; - export import ImagesResponse = API.ImagesResponse; - export import ImageCreateVariationParams = API.ImageCreateVariationParams; - export import ImageEditParams = API.ImageEditParams; - export import ImageGenerateParams = API.ImageGenerateParams; + export type Image = API.Image; + export type ImagesResponse = API.ImagesResponse; + export type ImageCreateVariationParams = API.ImageCreateVariationParams; + export type ImageEditParams = API.ImageEditParams; + export type ImageGenerateParams = API.ImageGenerateParams; export import Audio = API.Audio; export import Moderations = API.Moderations; - export import Moderation = API.Moderation; - export import ModerationCreateResponse = API.ModerationCreateResponse; - export import ModerationCreateParams = API.ModerationCreateParams; + export type Moderation = API.Moderation; + export type ModerationCreateResponse = API.ModerationCreateResponse; + export type ModerationCreateParams = API.ModerationCreateParams; export import Models = API.Models; - export import Model = API.Model; - export import ModelDeleted = API.ModelDeleted; + export type Model = API.Model; + export type ModelDeleted = API.ModelDeleted; export import ModelsPage = API.ModelsPage; export import FineTuning = API.FineTuning; export import FineTunes = API.FineTunes; - export import FineTune = API.FineTune; - export import FineTuneEvent = API.FineTuneEvent; - export import FineTuneEventsListResponse = API.FineTuneEventsListResponse; + export type FineTune = API.FineTune; + export type FineTuneEvent = API.FineTuneEvent; + export type FineTuneEventsListResponse = API.FineTuneEventsListResponse; export import FineTunesPage = API.FineTunesPage; - export import FineTuneCreateParams = API.FineTuneCreateParams; - export import FineTuneListEventsParams = API.FineTuneListEventsParams; - export import FineTuneListEventsParamsNonStreaming = API.FineTuneListEventsParamsNonStreaming; - export import FineTuneListEventsParamsStreaming = API.FineTuneListEventsParamsStreaming; + export type FineTuneCreateParams = API.FineTuneCreateParams; + export type FineTuneListEventsParams = API.FineTuneListEventsParams; + export type FineTuneListEventsParamsNonStreaming = API.FineTuneListEventsParamsNonStreaming; + export type FineTuneListEventsParamsStreaming = API.FineTuneListEventsParamsStreaming; } export default OpenAI; diff --git a/src/pagination.ts b/src/pagination.ts index a9ffb1f47..a52b55f5b 100644 --- a/src/pagination.ts +++ b/src/pagination.ts @@ -12,15 +12,15 @@ export interface PageResponse { * Note: no pagination actually occurs yet, this is for forwards-compatibility. */ export class Page extends AbstractPage implements PageResponse { - object: string; - data: Array; + object: string; + constructor(client: APIClient, response: Response, body: PageResponse, options: FinalRequestOptions) { super(client, response, body, options); - this.object = body.object; this.data = body.data; + this.object = body.object; } getPaginatedItems(): Item[] { diff --git a/src/resources/audio/audio.ts b/src/resources/audio/audio.ts index 5061b2000..0514c0d99 100644 --- a/src/resources/audio/audio.ts +++ b/src/resources/audio/audio.ts @@ -1,21 +1,19 @@ // File generated from our OpenAPI spec by Stainless. import { APIResource } from 'openai/resource'; -import { Transcriptions } from './transcriptions'; -import { Translations } from './translations'; -import * as API from './index'; +import * as TranscriptionsAPI from 'openai/resources/audio/transcriptions'; +import * as TranslationsAPI from 'openai/resources/audio/translations'; export class Audio extends APIResource { - transcriptions: Transcriptions = new Transcriptions(this.client); - translations: Translations = new Translations(this.client); + transcriptions: TranscriptionsAPI.Transcriptions = new TranscriptionsAPI.Transcriptions(this.client); + translations: TranslationsAPI.Translations = new TranslationsAPI.Translations(this.client); } export namespace Audio { - export import Transcriptions = API.Transcriptions; - export import Transcription = API.Transcription; - export import TranscriptionCreateParams = API.TranscriptionCreateParams; - - export import Translations = API.Translations; - export import Translation = API.Translation; - export import TranslationCreateParams = API.TranslationCreateParams; + export import Transcriptions = TranscriptionsAPI.Transcriptions; + export type Transcription = TranscriptionsAPI.Transcription; + export type TranscriptionCreateParams = TranscriptionsAPI.TranscriptionCreateParams; + export import Translations = TranslationsAPI.Translations; + export type Translation = TranslationsAPI.Translation; + export type TranslationCreateParams = TranslationsAPI.TranslationCreateParams; } diff --git a/src/resources/audio/transcriptions.ts b/src/resources/audio/transcriptions.ts index 5819804bd..d34663d24 100644 --- a/src/resources/audio/transcriptions.ts +++ b/src/resources/audio/transcriptions.ts @@ -2,7 +2,7 @@ import * as Core from 'openai/core'; import { APIResource } from 'openai/resource'; -import * as API from './index'; +import * as TranscriptionsAPI from 'openai/resources/audio/transcriptions'; import { type Uploadable, multipartFormRequestOptions } from 'openai/core'; export class Transcriptions extends APIResource { @@ -62,6 +62,6 @@ export interface TranscriptionCreateParams { } export namespace Transcriptions { - export import Transcription = API.Transcription; - export import TranscriptionCreateParams = API.TranscriptionCreateParams; + export type Transcription = TranscriptionsAPI.Transcription; + export type TranscriptionCreateParams = TranscriptionsAPI.TranscriptionCreateParams; } diff --git a/src/resources/audio/translations.ts b/src/resources/audio/translations.ts index 7043c2c3b..52e3cf3a5 100644 --- a/src/resources/audio/translations.ts +++ b/src/resources/audio/translations.ts @@ -2,7 +2,7 @@ import * as Core from 'openai/core'; import { APIResource } from 'openai/resource'; -import * as API from './index'; +import * as TranslationsAPI from 'openai/resources/audio/translations'; import { type Uploadable, multipartFormRequestOptions } from 'openai/core'; export class Translations extends APIResource { @@ -55,6 +55,6 @@ export interface TranslationCreateParams { } export namespace Translations { - export import Translation = API.Translation; - export import TranslationCreateParams = API.TranslationCreateParams; + export type Translation = TranslationsAPI.Translation; + export type TranslationCreateParams = TranslationsAPI.TranslationCreateParams; } diff --git a/src/resources/chat/chat.ts b/src/resources/chat/chat.ts index 6ef43dd7a..4532dd3f0 100644 --- a/src/resources/chat/chat.ts +++ b/src/resources/chat/chat.ts @@ -1,25 +1,24 @@ // File generated from our OpenAPI spec by Stainless. import { APIResource } from 'openai/resource'; -import { Completions } from './completions'; -import * as API from './index'; +import * as CompletionsAPI from 'openai/resources/chat/completions'; export class Chat extends APIResource { - completions: Completions = new Completions(this.client); + completions: CompletionsAPI.Completions = new CompletionsAPI.Completions(this.client); } export namespace Chat { - export import Completions = API.Completions; - export import ChatCompletion = API.ChatCompletion; - export import ChatCompletionChunk = API.ChatCompletionChunk; - export import ChatCompletionMessage = API.ChatCompletionMessage; - export import ChatCompletionMessageParam = API.ChatCompletionMessageParam; - export import ChatCompletionRole = API.ChatCompletionRole; - export import CreateChatCompletionRequestMessage = API.CreateChatCompletionRequestMessage; - export import ChatCompletionCreateParams = API.ChatCompletionCreateParams; - export import CompletionCreateParams = API.CompletionCreateParams; - export import ChatCompletionCreateParamsNonStreaming = API.ChatCompletionCreateParamsNonStreaming; - export import CompletionCreateParamsNonStreaming = API.CompletionCreateParamsNonStreaming; - export import ChatCompletionCreateParamsStreaming = API.ChatCompletionCreateParamsStreaming; - export import CompletionCreateParamsStreaming = API.CompletionCreateParamsStreaming; + export import Completions = CompletionsAPI.Completions; + export type ChatCompletion = CompletionsAPI.ChatCompletion; + export type ChatCompletionChunk = CompletionsAPI.ChatCompletionChunk; + export type ChatCompletionMessage = CompletionsAPI.ChatCompletionMessage; + export type ChatCompletionMessageParam = CompletionsAPI.ChatCompletionMessageParam; + export type ChatCompletionRole = CompletionsAPI.ChatCompletionRole; + export type CreateChatCompletionRequestMessage = CompletionsAPI.CreateChatCompletionRequestMessage; + export type ChatCompletionCreateParams = CompletionsAPI.ChatCompletionCreateParams; + export type CompletionCreateParams = CompletionsAPI.CompletionCreateParams; + export type ChatCompletionCreateParamsNonStreaming = CompletionsAPI.ChatCompletionCreateParamsNonStreaming; + export type CompletionCreateParamsNonStreaming = CompletionsAPI.CompletionCreateParamsNonStreaming; + export type ChatCompletionCreateParamsStreaming = CompletionsAPI.ChatCompletionCreateParamsStreaming; + export type CompletionCreateParamsStreaming = CompletionsAPI.CompletionCreateParamsStreaming; } diff --git a/src/resources/chat/completions.ts b/src/resources/chat/completions.ts index 71479caa2..3ea6e3c77 100644 --- a/src/resources/chat/completions.ts +++ b/src/resources/chat/completions.ts @@ -3,8 +3,8 @@ import * as Core from 'openai/core'; import { APIPromise } from 'openai/core'; import { APIResource } from 'openai/resource'; -import * as Completions_ from 'openai/resources/completions'; -import * as API from './index'; +import * as ChatCompletionsAPI from 'openai/resources/chat/completions'; +import * as CompletionsAPI from 'openai/resources/completions'; import { Stream } from 'openai/streaming'; export class Completions extends APIResource { @@ -67,7 +67,7 @@ export interface ChatCompletion { /** * Usage statistics for the completion request. */ - usage?: Completions_.CompletionUsage; + usage?: CompletionsAPI.CompletionUsage; } export namespace ChatCompletion { @@ -89,7 +89,7 @@ export namespace ChatCompletion { /** * A chat completion message generated by the model. */ - message: ChatCompletionMessage; + message: ChatCompletionsAPI.ChatCompletionMessage; } } @@ -140,7 +140,7 @@ export namespace ChatCompletionChunk { * content was omitted due to a flag from our content filters, or `function_call` * if the model called a function. */ - finish_reason: 'stop' | 'length' | 'function_call' | null; + finish_reason: 'stop' | 'length' | 'function_call' | 'content_filter' | null; /** * The index of the choice in the list of choices. @@ -167,7 +167,7 @@ export namespace ChatCompletionChunk { /** * The role of the author of this message. */ - role?: ChatCompletionRole; + role?: ChatCompletionsAPI.ChatCompletionRole; } export namespace Delta { @@ -459,8 +459,9 @@ export namespace ChatCompletionCreateParams { description?: string; } - export type ChatCompletionCreateParamsNonStreaming = API.ChatCompletionCreateParamsNonStreaming; - export type ChatCompletionCreateParamsStreaming = API.ChatCompletionCreateParamsStreaming; + export type ChatCompletionCreateParamsNonStreaming = + ChatCompletionsAPI.ChatCompletionCreateParamsNonStreaming; + export type ChatCompletionCreateParamsStreaming = ChatCompletionsAPI.ChatCompletionCreateParamsStreaming; } /** @@ -503,16 +504,17 @@ export interface ChatCompletionCreateParamsStreaming extends ChatCompletionCreat export type CompletionCreateParamsStreaming = ChatCompletionCreateParamsStreaming; export namespace Completions { - export import ChatCompletion = API.ChatCompletion; - export import ChatCompletionChunk = API.ChatCompletionChunk; - export import ChatCompletionMessage = API.ChatCompletionMessage; - export import ChatCompletionMessageParam = API.ChatCompletionMessageParam; - export import ChatCompletionRole = API.ChatCompletionRole; - export import CreateChatCompletionRequestMessage = API.CreateChatCompletionRequestMessage; - export import ChatCompletionCreateParams = API.ChatCompletionCreateParams; - export import CompletionCreateParams = API.CompletionCreateParams; - export import ChatCompletionCreateParamsNonStreaming = API.ChatCompletionCreateParamsNonStreaming; - export import CompletionCreateParamsNonStreaming = API.CompletionCreateParamsNonStreaming; - export import ChatCompletionCreateParamsStreaming = API.ChatCompletionCreateParamsStreaming; - export import CompletionCreateParamsStreaming = API.CompletionCreateParamsStreaming; + export type ChatCompletion = ChatCompletionsAPI.ChatCompletion; + export type ChatCompletionChunk = ChatCompletionsAPI.ChatCompletionChunk; + export type ChatCompletionMessage = ChatCompletionsAPI.ChatCompletionMessage; + export type ChatCompletionMessageParam = ChatCompletionsAPI.ChatCompletionMessageParam; + export type ChatCompletionRole = ChatCompletionsAPI.ChatCompletionRole; + export type CreateChatCompletionRequestMessage = ChatCompletionsAPI.CreateChatCompletionRequestMessage; + export type ChatCompletionCreateParams = ChatCompletionsAPI.ChatCompletionCreateParams; + export type CompletionCreateParams = ChatCompletionsAPI.CompletionCreateParams; + export type ChatCompletionCreateParamsNonStreaming = + ChatCompletionsAPI.ChatCompletionCreateParamsNonStreaming; + export type CompletionCreateParamsNonStreaming = ChatCompletionsAPI.CompletionCreateParamsNonStreaming; + export type ChatCompletionCreateParamsStreaming = ChatCompletionsAPI.ChatCompletionCreateParamsStreaming; + export type CompletionCreateParamsStreaming = ChatCompletionsAPI.CompletionCreateParamsStreaming; } diff --git a/src/resources/completions.ts b/src/resources/completions.ts index 591384cde..014607b0f 100644 --- a/src/resources/completions.ts +++ b/src/resources/completions.ts @@ -3,7 +3,7 @@ import * as Core from 'openai/core'; import { APIPromise } from 'openai/core'; import { APIResource } from 'openai/resource'; -import * as API from './index'; +import * as CompletionsAPI from 'openai/resources/completions'; import { Stream } from 'openai/streaming'; export class Completions extends APIResource { @@ -276,8 +276,8 @@ export interface CompletionCreateParamsBase { } export namespace CompletionCreateParams { - export type CompletionCreateParamsNonStreaming = API.CompletionCreateParamsNonStreaming; - export type CompletionCreateParamsStreaming = API.CompletionCreateParamsStreaming; + export type CompletionCreateParamsNonStreaming = CompletionsAPI.CompletionCreateParamsNonStreaming; + export type CompletionCreateParamsStreaming = CompletionsAPI.CompletionCreateParamsStreaming; } export interface CompletionCreateParamsNonStreaming extends CompletionCreateParamsBase { @@ -305,10 +305,10 @@ export interface CompletionCreateParamsStreaming extends CompletionCreateParamsB } export namespace Completions { - export import Completion = API.Completion; - export import CompletionChoice = API.CompletionChoice; - export import CompletionUsage = API.CompletionUsage; - export import CompletionCreateParams = API.CompletionCreateParams; - export import CompletionCreateParamsNonStreaming = API.CompletionCreateParamsNonStreaming; - export import CompletionCreateParamsStreaming = API.CompletionCreateParamsStreaming; + export type Completion = CompletionsAPI.Completion; + export type CompletionChoice = CompletionsAPI.CompletionChoice; + export type CompletionUsage = CompletionsAPI.CompletionUsage; + export type CompletionCreateParams = CompletionsAPI.CompletionCreateParams; + export type CompletionCreateParamsNonStreaming = CompletionsAPI.CompletionCreateParamsNonStreaming; + export type CompletionCreateParamsStreaming = CompletionsAPI.CompletionCreateParamsStreaming; } diff --git a/src/resources/edits.ts b/src/resources/edits.ts index 2b6798364..a53251c3c 100644 --- a/src/resources/edits.ts +++ b/src/resources/edits.ts @@ -2,8 +2,8 @@ import * as Core from 'openai/core'; import { APIResource } from 'openai/resource'; -import * as Completions from 'openai/resources/completions'; -import * as API from './index'; +import * as EditsAPI from 'openai/resources/edits'; +import * as CompletionsAPI from 'openai/resources/completions'; export class Edits extends APIResource { /** @@ -37,7 +37,7 @@ export interface Edit { /** * Usage statistics for the completion request. */ - usage: Completions.CompletionUsage; + usage: CompletionsAPI.CompletionUsage; } export namespace Edit { @@ -104,6 +104,6 @@ export interface EditCreateParams { } export namespace Edits { - export import Edit = API.Edit; - export import EditCreateParams = API.EditCreateParams; + export type Edit = EditsAPI.Edit; + export type EditCreateParams = EditsAPI.EditCreateParams; } diff --git a/src/resources/embeddings.ts b/src/resources/embeddings.ts index 8806a8a43..4ddaf1363 100644 --- a/src/resources/embeddings.ts +++ b/src/resources/embeddings.ts @@ -2,7 +2,7 @@ import * as Core from 'openai/core'; import { APIResource } from 'openai/resource'; -import * as API from './index'; +import * as EmbeddingsAPI from 'openai/resources/embeddings'; export class Embeddings extends APIResource { /** @@ -81,7 +81,7 @@ export interface EmbeddingCreateParams { /** * Input text to embed, encoded as a string or array of tokens. To embed multiple * inputs in a single request, pass an array of strings or array of token arrays. - * Each input must not exceed the max input tokens for the model (8191 tokens for + * The input must not exceed the max input tokens for the model (8192 tokens for * `text-embedding-ada-002`) and cannot be an empty string. * [Example Python code](https://cookbook.openai.com/examples/how_to_count_tokens_with_tiktoken) * for counting tokens. @@ -106,7 +106,7 @@ export interface EmbeddingCreateParams { } export namespace Embeddings { - export import CreateEmbeddingResponse = API.CreateEmbeddingResponse; - export import Embedding = API.Embedding; - export import EmbeddingCreateParams = API.EmbeddingCreateParams; + export type CreateEmbeddingResponse = EmbeddingsAPI.CreateEmbeddingResponse; + export type Embedding = EmbeddingsAPI.Embedding; + export type EmbeddingCreateParams = EmbeddingsAPI.EmbeddingCreateParams; } diff --git a/src/resources/files.ts b/src/resources/files.ts index 62669183a..785151815 100644 --- a/src/resources/files.ts +++ b/src/resources/files.ts @@ -4,7 +4,7 @@ import * as Core from 'openai/core'; import { APIResource } from 'openai/resource'; import { sleep } from 'openai/core'; import { APIConnectionTimeoutError } from 'openai/error'; -import * as API from './index'; +import * as FilesAPI from 'openai/resources/files'; import { type Uploadable, multipartFormRequestOptions } from 'openai/core'; import { Page } from 'openai/pagination'; @@ -81,8 +81,6 @@ export class Files extends APIResource { * Note: no pagination actually occurs yet, this is for forwards-compatibility. */ export class FileObjectsPage extends Page {} -// alias so we can export it in the namespace -type _FileObjectsPage = FileObjectsPage; export type FileContent = string; @@ -161,9 +159,9 @@ export interface FileCreateParams { } export namespace Files { - export import FileContent = API.FileContent; - export import FileDeleted = API.FileDeleted; - export import FileObject = API.FileObject; - export type FileObjectsPage = _FileObjectsPage; - export import FileCreateParams = API.FileCreateParams; + export type FileContent = FilesAPI.FileContent; + export type FileDeleted = FilesAPI.FileDeleted; + export type FileObject = FilesAPI.FileObject; + export import FileObjectsPage = FilesAPI.FileObjectsPage; + export type FileCreateParams = FilesAPI.FileCreateParams; } diff --git a/src/resources/fine-tunes.ts b/src/resources/fine-tunes.ts index 682aee42b..34fbdc725 100644 --- a/src/resources/fine-tunes.ts +++ b/src/resources/fine-tunes.ts @@ -3,8 +3,8 @@ import * as Core from 'openai/core'; import { APIPromise } from 'openai/core'; import { APIResource } from 'openai/resource'; -import * as Files from 'openai/resources/files'; -import * as API from './index'; +import * as FineTunesAPI from 'openai/resources/fine-tunes'; +import * as FilesAPI from 'openai/resources/files'; import { Page } from 'openai/pagination'; import { Stream } from 'openai/streaming'; @@ -80,8 +80,6 @@ export class FineTunes extends APIResource { * Note: no pagination actually occurs yet, this is for forwards-compatibility. */ export class FineTunesPage extends Page {} -// alias so we can export it in the namespace -type _FineTunesPage = FineTunesPage; /** * The `FineTune` object represents a legacy fine-tune job that has been created @@ -128,7 +126,7 @@ export interface FineTune { /** * The compiled results files for the fine-tuning job. */ - result_files: Array; + result_files: Array; /** * The current status of the fine-tuning job, which can be either `created`, @@ -139,7 +137,7 @@ export interface FineTune { /** * The list of files used for training. */ - training_files: Array; + training_files: Array; /** * The Unix timestamp (in seconds) for when the fine-tuning job was last updated. @@ -149,7 +147,7 @@ export interface FineTune { /** * The list of files used for validation. */ - validation_files: Array; + validation_files: Array; /** * The list of events that have been observed in the lifecycle of the FineTune job. @@ -289,6 +287,11 @@ export interface FineTuneCreateParams { */ compute_classification_metrics?: boolean | null; + /** + * The hyperparameters used for the fine-tuning job. + */ + hyperparameters?: FineTuneCreateParams.Hyperparameters; + /** * The learning rate multiplier to use for training. The fine-tuning learning rate * is the original learning rate used for pretraining multiplied by this value. @@ -308,12 +311,6 @@ export interface FineTuneCreateParams { */ model?: (string & {}) | 'ada' | 'babbage' | 'curie' | 'davinci' | null; - /** - * The number of epochs to train the model for. An epoch refers to one full cycle - * through the training dataset. - */ - n_epochs?: number | null; - /** * The weight to use for loss on the prompt tokens. This controls how much the * model tries to learn to generate the prompt (as compared to the completion which @@ -353,6 +350,19 @@ export interface FineTuneCreateParams { validation_file?: string | null; } +export namespace FineTuneCreateParams { + /** + * The hyperparameters used for the fine-tuning job. + */ + export interface Hyperparameters { + /** + * The number of epochs to train the model for. An epoch refers to one full cycle + * through the training dataset. + */ + n_epochs?: 'auto' | number; + } +} + export type FineTuneListEventsParams = | FineTuneListEventsParamsNonStreaming | FineTuneListEventsParamsStreaming; @@ -371,8 +381,8 @@ export interface FineTuneListEventsParamsBase { } export namespace FineTuneListEventsParams { - export type FineTuneListEventsParamsNonStreaming = API.FineTuneListEventsParamsNonStreaming; - export type FineTuneListEventsParamsStreaming = API.FineTuneListEventsParamsStreaming; + export type FineTuneListEventsParamsNonStreaming = FineTunesAPI.FineTuneListEventsParamsNonStreaming; + export type FineTuneListEventsParamsStreaming = FineTunesAPI.FineTuneListEventsParamsStreaming; } export interface FineTuneListEventsParamsNonStreaming extends FineTuneListEventsParamsBase { @@ -402,12 +412,12 @@ export interface FineTuneListEventsParamsStreaming extends FineTuneListEventsPar } export namespace FineTunes { - export import FineTune = API.FineTune; - export import FineTuneEvent = API.FineTuneEvent; - export import FineTuneEventsListResponse = API.FineTuneEventsListResponse; - export type FineTunesPage = _FineTunesPage; - export import FineTuneCreateParams = API.FineTuneCreateParams; - export import FineTuneListEventsParams = API.FineTuneListEventsParams; - export import FineTuneListEventsParamsNonStreaming = API.FineTuneListEventsParamsNonStreaming; - export import FineTuneListEventsParamsStreaming = API.FineTuneListEventsParamsStreaming; + export type FineTune = FineTunesAPI.FineTune; + export type FineTuneEvent = FineTunesAPI.FineTuneEvent; + export type FineTuneEventsListResponse = FineTunesAPI.FineTuneEventsListResponse; + export import FineTunesPage = FineTunesAPI.FineTunesPage; + export type FineTuneCreateParams = FineTunesAPI.FineTuneCreateParams; + export type FineTuneListEventsParams = FineTunesAPI.FineTuneListEventsParams; + export type FineTuneListEventsParamsNonStreaming = FineTunesAPI.FineTuneListEventsParamsNonStreaming; + export type FineTuneListEventsParamsStreaming = FineTunesAPI.FineTuneListEventsParamsStreaming; } diff --git a/src/resources/fine-tuning/fine-tuning.ts b/src/resources/fine-tuning/fine-tuning.ts index 2e4c69f57..3ac498965 100644 --- a/src/resources/fine-tuning/fine-tuning.ts +++ b/src/resources/fine-tuning/fine-tuning.ts @@ -1,20 +1,19 @@ // File generated from our OpenAPI spec by Stainless. import { APIResource } from 'openai/resource'; -import { Jobs } from './jobs'; -import * as API from './index'; +import * as JobsAPI from 'openai/resources/fine-tuning/jobs'; export class FineTuning extends APIResource { - jobs: Jobs = new Jobs(this.client); + jobs: JobsAPI.Jobs = new JobsAPI.Jobs(this.client); } export namespace FineTuning { - export import Jobs = API.Jobs; - export import FineTuningJob = API.FineTuningJob; - export import FineTuningJobEvent = API.FineTuningJobEvent; - export import FineTuningJobsPage = API.FineTuningJobsPage; - export import FineTuningJobEventsPage = API.FineTuningJobEventsPage; - export import JobCreateParams = API.JobCreateParams; - export import JobListParams = API.JobListParams; - export import JobListEventsParams = API.JobListEventsParams; + export import Jobs = JobsAPI.Jobs; + export type FineTuningJob = JobsAPI.FineTuningJob; + export type FineTuningJobEvent = JobsAPI.FineTuningJobEvent; + export import FineTuningJobsPage = JobsAPI.FineTuningJobsPage; + export import FineTuningJobEventsPage = JobsAPI.FineTuningJobEventsPage; + export type JobCreateParams = JobsAPI.JobCreateParams; + export type JobListParams = JobsAPI.JobListParams; + export type JobListEventsParams = JobsAPI.JobListEventsParams; } diff --git a/src/resources/fine-tuning/jobs.ts b/src/resources/fine-tuning/jobs.ts index 2a46ef183..6230d7e5e 100644 --- a/src/resources/fine-tuning/jobs.ts +++ b/src/resources/fine-tuning/jobs.ts @@ -3,8 +3,8 @@ import * as Core from 'openai/core'; import { APIResource } from 'openai/resource'; import { isRequestOptions } from 'openai/core'; -import * as API from './index'; -import { CursorPage, CursorPageParams } from 'openai/pagination'; +import * as JobsAPI from 'openai/resources/fine-tuning/jobs'; +import { CursorPage, type CursorPageParams } from 'openai/pagination'; export class Jobs extends APIResource { /** @@ -81,12 +81,8 @@ export class Jobs extends APIResource { } export class FineTuningJobsPage extends CursorPage {} -// alias so we can export it in the namespace -type _FineTuningJobsPage = FineTuningJobsPage; export class FineTuningJobEventsPage extends CursorPage {} -// alias so we can export it in the namespace -type _FineTuningJobEventsPage = FineTuningJobEventsPage; /** * The `fine_tuning.job` object represents a fine-tuning job that has been created @@ -300,11 +296,11 @@ export interface JobListParams extends CursorPageParams {} export interface JobListEventsParams extends CursorPageParams {} export namespace Jobs { - export import FineTuningJob = API.FineTuningJob; - export import FineTuningJobEvent = API.FineTuningJobEvent; - export type FineTuningJobsPage = _FineTuningJobsPage; - export type FineTuningJobEventsPage = _FineTuningJobEventsPage; - export import JobCreateParams = API.JobCreateParams; - export import JobListParams = API.JobListParams; - export import JobListEventsParams = API.JobListEventsParams; + export type FineTuningJob = JobsAPI.FineTuningJob; + export type FineTuningJobEvent = JobsAPI.FineTuningJobEvent; + export import FineTuningJobsPage = JobsAPI.FineTuningJobsPage; + export import FineTuningJobEventsPage = JobsAPI.FineTuningJobEventsPage; + export type JobCreateParams = JobsAPI.JobCreateParams; + export type JobListParams = JobsAPI.JobListParams; + export type JobListEventsParams = JobsAPI.JobListEventsParams; } diff --git a/src/resources/images.ts b/src/resources/images.ts index a7a7424b2..d4b346f81 100644 --- a/src/resources/images.ts +++ b/src/resources/images.ts @@ -2,7 +2,7 @@ import * as Core from 'openai/core'; import { APIResource } from 'openai/resource'; -import * as API from './index'; +import * as ImagesAPI from 'openai/resources/images'; import { type Uploadable, multipartFormRequestOptions } from 'openai/core'; export class Images extends APIResource { @@ -163,9 +163,9 @@ export interface ImageGenerateParams { } export namespace Images { - export import Image = API.Image; - export import ImagesResponse = API.ImagesResponse; - export import ImageCreateVariationParams = API.ImageCreateVariationParams; - export import ImageEditParams = API.ImageEditParams; - export import ImageGenerateParams = API.ImageGenerateParams; + export type Image = ImagesAPI.Image; + export type ImagesResponse = ImagesAPI.ImagesResponse; + export type ImageCreateVariationParams = ImagesAPI.ImageCreateVariationParams; + export type ImageEditParams = ImagesAPI.ImageEditParams; + export type ImageGenerateParams = ImagesAPI.ImageGenerateParams; } diff --git a/src/resources/index.ts b/src/resources/index.ts index 0d9ab9935..16ea95f8b 100644 --- a/src/resources/index.ts +++ b/src/resources/index.ts @@ -1,7 +1,7 @@ // File generated from our OpenAPI spec by Stainless. +export * from './chat/index'; export { Audio } from './audio/audio'; -export { Chat } from './chat/chat'; export { Completion, CompletionChoice, diff --git a/src/resources/models.ts b/src/resources/models.ts index d1b204f3d..dd01a5d0d 100644 --- a/src/resources/models.ts +++ b/src/resources/models.ts @@ -2,7 +2,7 @@ import * as Core from 'openai/core'; import { APIResource } from 'openai/resource'; -import * as API from './index'; +import * as ModelsAPI from 'openai/resources/models'; import { Page } from 'openai/pagination'; export class Models extends APIResource { @@ -35,8 +35,6 @@ export class Models extends APIResource { * Note: no pagination actually occurs yet, this is for forwards-compatibility. */ export class ModelsPage extends Page {} -// alias so we can export it in the namespace -type _ModelsPage = ModelsPage; /** * Describes an OpenAI model offering that can be used with the API. @@ -72,7 +70,7 @@ export interface ModelDeleted { } export namespace Models { - export import Model = API.Model; - export import ModelDeleted = API.ModelDeleted; - export type ModelsPage = _ModelsPage; + export type Model = ModelsAPI.Model; + export type ModelDeleted = ModelsAPI.ModelDeleted; + export import ModelsPage = ModelsAPI.ModelsPage; } diff --git a/src/resources/moderations.ts b/src/resources/moderations.ts index 516921b84..7a3f372af 100644 --- a/src/resources/moderations.ts +++ b/src/resources/moderations.ts @@ -2,7 +2,7 @@ import * as Core from 'openai/core'; import { APIResource } from 'openai/resource'; -import * as API from './index'; +import * as ModerationsAPI from 'openai/resources/moderations'; export class Moderations extends APIResource { /** @@ -210,7 +210,7 @@ export interface ModerationCreateParams { } export namespace Moderations { - export import Moderation = API.Moderation; - export import ModerationCreateResponse = API.ModerationCreateResponse; - export import ModerationCreateParams = API.ModerationCreateParams; + export type Moderation = ModerationsAPI.Moderation; + export type ModerationCreateResponse = ModerationsAPI.ModerationCreateResponse; + export type ModerationCreateParams = ModerationsAPI.ModerationCreateParams; } diff --git a/tests/api-resources/chat/completions.test.ts b/tests/api-resources/chat/completions.test.ts index e917ca62f..0725211a8 100644 --- a/tests/api-resources/chat/completions.test.ts +++ b/tests/api-resources/chat/completions.test.ts @@ -11,7 +11,7 @@ const openai = new OpenAI({ describe('resource completions', () => { test('create: only required params', async () => { const responsePromise = openai.chat.completions.create({ - messages: [{ role: 'system', content: 'string' }], + messages: [{ content: 'string', role: 'system' }], model: 'gpt-3.5-turbo', }); const rawResponse = await responsePromise.asResponse(); @@ -27,16 +27,16 @@ describe('resource completions', () => { const response = await openai.chat.completions.create({ messages: [ { - role: 'system', content: 'string', + function_call: { arguments: 'string', name: 'string' }, name: 'string', - function_call: { name: 'string', arguments: 'string' }, + role: 'system', }, ], model: 'gpt-3.5-turbo', frequency_penalty: -2, function_call: 'none', - functions: [{ name: 'string', description: 'string', parameters: { foo: 'bar' } }], + functions: [{ description: 'string', name: 'string', parameters: { foo: 'bar' } }], logit_bias: { foo: 0 }, max_tokens: 0, n: 1, diff --git a/tests/api-resources/fine-tunes.test.ts b/tests/api-resources/fine-tunes.test.ts index 6a48a8381..1221b6bc6 100644 --- a/tests/api-resources/fine-tunes.test.ts +++ b/tests/api-resources/fine-tunes.test.ts @@ -28,9 +28,9 @@ describe('resource fineTunes', () => { classification_n_classes: 0, classification_positive_class: 'string', compute_classification_metrics: true, + hyperparameters: { n_epochs: 'auto' }, learning_rate_multiplier: 0, model: 'curie', - n_epochs: 0, prompt_loss_weight: 0, suffix: 'x', validation_file: 'file-abc123',