Spaces:
Running
Running
| import { get } from "svelte/store"; | |
| import { chatParams } from "../stores/chatParams"; | |
| import { messages } from "../stores/messages"; | |
| import { uiParams } from "../stores/uiParams"; | |
| import { hfClient } from "./hfClient"; | |
| import { runTypingAnimation } from "./typingAnimation"; | |
| export async function sendChatMessage(userInput: string) { | |
| const client = get(hfClient); | |
| const chat = get(chatParams); | |
| if (!client) { | |
| messages.addMessage("assistant", "Error: Please login Hugging Face."); | |
| return; | |
| } | |
| try { | |
| const response = await client.chatCompletion({ | |
| model: "openai/gpt-oss-20b", | |
| messages: [ | |
| { role: "system", content: chat.system_prompt }, | |
| { role: "user", content: userInput }, | |
| ], | |
| temperature: chat.temperature, | |
| top_p: chat.top_p, | |
| max_tokens: chat.max_tokens, | |
| }); | |
| const reply = response.choices?.[0]?.message?.content || "[No response]"; | |
| await runTypingAnimation(reply, get(uiParams).typingAnimation); | |
| messages.addMessage("assistant", reply); | |
| } catch (err) { | |
| const errorMsg = | |
| err instanceof Error ? err.message : "Unknown error occurred"; | |
| messages.addMessage("assistant", `Error: ${errorMsg}`); | |
| } | |
| } | |