Remove blocks as model and switch automatically (#504)
This commit is contained in:
parent
58117f932f
commit
c5c85ca7e2
3 changed files with 7 additions and 11 deletions
|
|
@ -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';
|
||||||
|
|
|
||||||
|
|
@ -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}`;
|
||||||
|
|
|
||||||
|
|
@ -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',
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue