const { OpenAI } = require('openai'); const { OpenAIAssistantsCodeInterpreterStreamingClass } = require("./OpenAIAssistantsCodeInterpreterStreamingClass"); const { readline } = require("./ReadLineWrapper"); async function main() { // Which assistant, which thread? const ASSISTANT_ID = process.env.ASSISTANT_ID ?? ""; const threadId = process.argv[2] || null; // NOTE: Never deploy your API Key in client-side environments like browsers or mobile apps // SEE: https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety // Get the required environment variables const AZURE_OPENAI_API_KEY = process.env.AZURE_OPENAI_API_KEY ?? ""; const AZURE_OPENAI_API_VERSION = process.env.AZURE_OPENAI_API_VERSION ?? ""; const AZURE_OPENAI_ENDPOINT = process.env.AZURE_OPENAI_ENDPOINT ?? ""; const AZURE_OPENAI_BASE_URL = `${AZURE_OPENAI_ENDPOINT.replace(/\/+$/, '')}/openai`; // Check if the required environment variables are set const azureOk = AZURE_OPENAI_API_KEY != null && !AZURE_OPENAI_API_KEY.startsWith(' { role = role.charAt(0).toUpperCase() + role.slice(1); process.stdout.write(`${role}: ${content}`); }); } // Loop until the user types 'exit' while (true) { // Get user input const input = await readline.question('User: '); if (input === 'exit' || input === '') break; // Get the Assistant's response process.stdout.write('\nAssistant: '); await assistant.getResponse(input, (content) => { process.stdout.write(content); }); process.stdout.write('\n\n'); } console.log(`Bye! (threadId: ${assistant.thread.id})`); process.exit(); } main().catch((err) => { console.error("The sample encountered an error:", err); process.exit(1); }); module.exports = { main };