From c7aec7c072aaa6921a30995332a9fb61938dce9d Mon Sep 17 00:00:00 2001 From: Dimitri Kennedy Date: Wed, 31 Jan 2024 09:51:53 -0500 Subject: [PATCH] extra types (#97) --- .changeset/stale-parents-rhyme.md | 5 +++++ bun.lockb | Bin 293000 -> 274869 bytes package.json | 2 +- src/instructor.ts | 4 +++- src/types/index.ts | 7 +++---- tests/inference.test.ts | 2 +- 6 files changed, 13 insertions(+), 7 deletions(-) create mode 100644 .changeset/stale-parents-rhyme.md diff --git a/.changeset/stale-parents-rhyme.md b/.changeset/stale-parents-rhyme.md new file mode 100644 index 00000000..dd1ac9db --- /dev/null +++ b/.changeset/stale-parents-rhyme.md @@ -0,0 +1,5 @@ +--- +"@instructor-ai/instructor": patch +--- + +Fixing inference on stream types when using npm or pnpm diff --git a/bun.lockb b/bun.lockb index 6a82d55946a19735d998f3065727f54312db024b..0d79edfd0f1206f80bc26a17d8f0b728d1a9669d 100755 GIT binary patch delta 52384 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 delta 63482 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 fN6{vGgkWB)SoRJ}^T>)c$> => { if (this.isChatCompletionCreateParamsWithModel(params)) { if (params.stream) { - return this.chatCompletionStream(params) as ReturnTypeBasedOnParams

+ return this.chatCompletionStream(params) as ReturnTypeBasedOnParams< + P & { stream: true } + > } else { return this.chatCompletionStandard(params) as ReturnTypeBasedOnParams

} diff --git a/src/types/index.ts b/src/types/index.ts index 1d7166b7..32e83bd1 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -1,6 +1,5 @@ import OpenAI from "openai" -import type { ChatCompletionCreateParams } from "openai/resources/index.mjs" -import { Stream } from "openai/streaming.mjs" +import { Stream } from "openai/streaming" import { z } from "zod" import { MODE } from "@/constants/modes" @@ -27,10 +26,10 @@ export type InstructorChatCompletionParams = { } export type ChatCompletionCreateParamsWithModel = - InstructorChatCompletionParams & ChatCompletionCreateParams + InstructorChatCompletionParams & OpenAI.ChatCompletionCreateParams export type ReturnWithoutModel

= - P extends { stream: true } ? Stream + P extends { stream: true } ? OpenAI.Chat.Completions.ChatCompletion : OpenAI.Chat.Completions.ChatCompletion export type ReturnTypeBasedOnParams

= diff --git a/tests/inference.test.ts b/tests/inference.test.ts index 648828f3..5a72be18 100644 --- a/tests/inference.test.ts +++ b/tests/inference.test.ts @@ -9,7 +9,7 @@ import Instructor from "@/instructor" import { describe, expect, test } from "bun:test" import OpenAI from "openai" -import { Stream } from "openai/streaming.mjs" +import { Stream } from "openai/streaming" import { type } from "ts-inference-check" import { z } from "zod"