feat: dynamic model discovery from vercel ai gateway (#1353)
This commit is contained in:
parent
2b0b42d144
commit
b1da86062e
74 changed files with 7426 additions and 2277 deletions
|
|
@ -1,7 +1,7 @@
|
|||
import { streamObject } from "ai";
|
||||
import { z } from "zod";
|
||||
import { codePrompt, updateDocumentPrompt } from "@/lib/ai/prompts";
|
||||
import { myProvider } from "@/lib/ai/providers";
|
||||
import { getArtifactModel } from "@/lib/ai/providers";
|
||||
import { createDocumentHandler } from "@/lib/artifacts/server";
|
||||
|
||||
export const codeDocumentHandler = createDocumentHandler<"code">({
|
||||
|
|
@ -10,7 +10,7 @@ export const codeDocumentHandler = createDocumentHandler<"code">({
|
|||
let draftContent = "";
|
||||
|
||||
const { fullStream } = streamObject({
|
||||
model: myProvider.languageModel("artifact-model"),
|
||||
model: getArtifactModel(),
|
||||
system: codePrompt,
|
||||
prompt: title,
|
||||
schema: z.object({
|
||||
|
|
@ -43,7 +43,7 @@ export const codeDocumentHandler = createDocumentHandler<"code">({
|
|||
let draftContent = "";
|
||||
|
||||
const { fullStream } = streamObject({
|
||||
model: myProvider.languageModel("artifact-model"),
|
||||
model: getArtifactModel(),
|
||||
system: updateDocumentPrompt(document.content, "code"),
|
||||
prompt: description,
|
||||
schema: z.object({
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { streamObject } from "ai";
|
||||
import { z } from "zod";
|
||||
import { sheetPrompt, updateDocumentPrompt } from "@/lib/ai/prompts";
|
||||
import { myProvider } from "@/lib/ai/providers";
|
||||
import { getArtifactModel } from "@/lib/ai/providers";
|
||||
import { createDocumentHandler } from "@/lib/artifacts/server";
|
||||
|
||||
export const sheetDocumentHandler = createDocumentHandler<"sheet">({
|
||||
|
|
@ -10,7 +10,7 @@ export const sheetDocumentHandler = createDocumentHandler<"sheet">({
|
|||
let draftContent = "";
|
||||
|
||||
const { fullStream } = streamObject({
|
||||
model: myProvider.languageModel("artifact-model"),
|
||||
model: getArtifactModel(),
|
||||
system: sheetPrompt,
|
||||
prompt: title,
|
||||
schema: z.object({
|
||||
|
|
@ -49,7 +49,7 @@ export const sheetDocumentHandler = createDocumentHandler<"sheet">({
|
|||
let draftContent = "";
|
||||
|
||||
const { fullStream } = streamObject({
|
||||
model: myProvider.languageModel("artifact-model"),
|
||||
model: getArtifactModel(),
|
||||
system: updateDocumentPrompt(document.content, "sheet"),
|
||||
prompt: description,
|
||||
schema: z.object({
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { smoothStream, streamText } from "ai";
|
||||
import { updateDocumentPrompt } from "@/lib/ai/prompts";
|
||||
import { myProvider } from "@/lib/ai/providers";
|
||||
import { getArtifactModel } from "@/lib/ai/providers";
|
||||
import { createDocumentHandler } from "@/lib/artifacts/server";
|
||||
|
||||
export const textDocumentHandler = createDocumentHandler<"text">({
|
||||
|
|
@ -9,7 +9,7 @@ export const textDocumentHandler = createDocumentHandler<"text">({
|
|||
let draftContent = "";
|
||||
|
||||
const { fullStream } = streamText({
|
||||
model: myProvider.languageModel("artifact-model"),
|
||||
model: getArtifactModel(),
|
||||
system:
|
||||
"Write about the given topic. Markdown is supported. Use headings wherever appropriate.",
|
||||
experimental_transform: smoothStream({ chunking: "word" }),
|
||||
|
|
@ -38,7 +38,7 @@ export const textDocumentHandler = createDocumentHandler<"text">({
|
|||
let draftContent = "";
|
||||
|
||||
const { fullStream } = streamText({
|
||||
model: myProvider.languageModel("artifact-model"),
|
||||
model: getArtifactModel(),
|
||||
system: updateDocumentPrompt(document.content, "text"),
|
||||
experimental_transform: smoothStream({ chunking: "word" }),
|
||||
prompt: description,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue