import { JsonInput, Tabs, Textarea } from "@mantine/core"; import { trpc } from "../../trpc/client"; import { create } from "zustand"; import type { Message as UIMessage } from "ai"; import type { OtherParameters, Store } from "./types.js"; const defaultSystemPrompt = `You are a helpful assistant that answers questions based on the provided context. If you don't know the answer, just say that you don't know, don't try to make up an answer.`; const defaultParameters = { temperature: 0.5, max_tokens: 100, } as OtherParameters; const useStore = create()((set) => ({ messages: [], message: "", systemPrompt: defaultSystemPrompt, parameters: defaultParameters, loading: false, setMessages: (messages) => set({ messages }), setMessage: (message) => set({ message }), setSystemPrompt: (systemPrompt) => set({ systemPrompt }), setParameters: (parameters) => set({ parameters }), setLoading: (loading) => set({ loading }), })); export default function ChatPage() { const messages = useStore((state) => state.messages); const message = useStore((state) => state.message); const systemPrompt = useStore((state) => state.systemPrompt); const parameters = useStore((state) => state.parameters); const loading = useStore((state) => state.loading); const setMessages = useStore((state) => state.setMessages); const setMessage = useStore((state) => state.setMessage); const setSystemPrompt = useStore((state) => state.setSystemPrompt); const setParameters = useStore((state) => state.setParameters); const setLoading = useStore((state) => state.setLoading); return ( Message System Prompt Parameters