Remove blocks as model and switch automatically (#504)

This commit is contained in:
Jeremy 2024-11-08 18:12:54 +03:00 committed by GitHub
parent 58117f932f
commit c5c85ca7e2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 7 additions and 11 deletions

View file

@ -20,12 +20,6 @@ export const models: Array<Model> = [
apiIdentifier: 'gpt-4o', apiIdentifier: 'gpt-4o',
description: 'For complex, multi-step tasks', description: 'For complex, multi-step tasks',
}, },
{
id: 'gpt-4o-blocks',
label: 'GPT 4o with Blocks',
apiIdentifier: 'gpt-4o',
description: 'Collaborate with writing',
},
] as const; ] as const;
export const DEFAULT_MODEL_NAME: string = 'gpt-4o-mini'; export const DEFAULT_MODEL_NAME: string = 'gpt-4o-mini';

View file

@ -9,7 +9,6 @@ export const blocksPrompt = `
- When explicitly requested to create a document - When explicitly requested to create a document
**When NOT to use \`createDocument\`:** **When NOT to use \`createDocument\`:**
- For short content (<10 lines)
- For informational/explanatory content - For informational/explanatory content
- For conversational responses - For conversational responses
- When asked to keep it in chat - When asked to keep it in chat
@ -24,3 +23,5 @@ export const blocksPrompt = `
export const regularPrompt = export const regularPrompt =
'You are a friendly assistant! Keep your responses concise and helpful.'; 'You are a friendly assistant! Keep your responses concise and helpful.';
export const systemPrompt = `${regularPrompt}\n\n${blocksPrompt}`;

View file

@ -9,7 +9,7 @@ import { z } from 'zod';
import { customModel } from '@/ai'; import { customModel } from '@/ai';
import { models } from '@/ai/models'; import { models } from '@/ai/models';
import { blocksPrompt, regularPrompt } from '@/ai/prompts'; import { blocksPrompt, regularPrompt, systemPrompt } from '@/ai/prompts';
import { auth } from '@/app/(auth)/auth'; import { auth } from '@/app/(auth)/auth';
import { import {
deleteChatById, deleteChatById,
@ -45,6 +45,8 @@ const blocksTools: AllowedTools[] = [
const weatherTools: AllowedTools[] = ['getWeather']; const weatherTools: AllowedTools[] = ['getWeather'];
const allTools: AllowedTools[] = [...blocksTools, ...weatherTools];
export async function POST(request: Request) { export async function POST(request: Request) {
const { const {
id, id,
@ -89,11 +91,10 @@ export async function POST(request: Request) {
const result = await streamText({ const result = await streamText({
model: customModel(model.apiIdentifier), model: customModel(model.apiIdentifier),
system: modelId === 'gpt-4o-blocks' ? blocksPrompt : regularPrompt, system: systemPrompt,
messages: coreMessages, messages: coreMessages,
maxSteps: 5, maxSteps: 5,
experimental_activeTools: experimental_activeTools: allTools,
modelId === 'gpt-4o-blocks' ? blocksTools : weatherTools,
tools: { tools: {
getWeather: { getWeather: {
description: 'Get the current weather at a location', description: 'Get the current weather at a location',