1
0
Fork 0
tsgames/src/games/storywriter/utils/prompt.ts

50 lines
1.2 KiB
TypeScript

import LLM from "./llm";
import type { AppState } from "../contexts/state";
namespace Prompt {
const tools: LLM.Tool[] = [
{
type: 'function',
function: {
name: 'test',
description: 'A simple test function',
parameters: {
type: 'object',
properties: {
message: {
type: 'string',
description: 'The test message',
},
},
required: ['message'],
},
},
},
];
export function compilePrompt(state: AppState, newMessages: LLM.ChatMessage[] = []): LLM.ChatCompletionRequest | null {
const { currentStory, model } = state;
if (!currentStory || !model) {
return null;
}
const messages: LLM.ChatMessage[] = [
// TODO system prompt
// TODO part of story
...currentStory.chatMessages,
];
messages.push(...newMessages);
return {
model,
messages,
tools,
// TODO banned_tokens
};
}
}
export default Prompt;