UNPKG

@ai-stack/payloadcms

Version:

<p align="center"> <img alt="Payload AI Plugin" src="assets/payload-ai-intro.gif" width="100%" /> </p>

91 lines (90 loc) 3.13 kB
import { anthropic } from '@ai-sdk/anthropic'; import { streamText } from 'ai'; import { defaultSystemPrompt } from '../../prompts.js'; import { generateRichText } from './generateRichText.js'; const MODEL_KEY = 'ANTH-C'; export const AnthropicConfig = { models: [ { id: `${MODEL_KEY}-text`, name: 'Anthropic Claude', fields: [ 'text', 'textarea' ], handler: (prompt, options)=>{ const streamTextResult = streamText({ model: anthropic(options.model), onError: (error)=>{ console.error(`${MODEL_KEY}-text: `, error); }, prompt, system: options.system || defaultSystemPrompt }); return streamTextResult.toDataStreamResponse(); }, output: 'text', settings: { name: `${MODEL_KEY}-text-settings`, type: 'group', admin: { condition (data) { return data['model-id'] === `${MODEL_KEY}-text`; } }, fields: [ { name: 'model', type: 'select', defaultValue: 'claude-3-5-sonnet-latest', label: 'Model', options: [ 'claude-3-opus-latest', 'claude-3-5-haiku-latest', 'claude-3-5-sonnet-latest', 'claude-3-7-sonnet-latest' ] } ], label: 'Anthropic Claude Settings' } }, { id: `${MODEL_KEY}-object`, name: 'Anthropic Claude', fields: [ 'richText' ], handler: (text, options)=>{ return generateRichText(text, options); }, output: 'text', settings: { name: `${MODEL_KEY}-object-settings`, type: 'group', admin: { condition (data) { return data['model-id'] === `${MODEL_KEY}-object`; } }, fields: [ { name: 'model', type: 'select', defaultValue: 'claude-3-5-sonnet-latest', label: 'Model', options: [ 'claude-3-opus-latest', 'claude-3-5-haiku-latest', 'claude-3-5-sonnet-latest', 'claude-3-7-sonnet-latest' ] } ], label: 'Anthropic Claude Settings' } } ], provider: 'Anthropic' }; //# sourceMappingURL=index.js.map