29 lines
870 B
JavaScript
29 lines
870 B
JavaScript
import Openai from 'openai';
|
|
|
|
console.log('Chat module loaded', process.env);
|
|
|
|
const openai = new Openai({
|
|
apiKey: process.env.OPENAI_API_KEY,
|
|
baseURL: process.env.OPENAI_API_BASE_URL || 'https://api.openai.com/v1',
|
|
timeout: 10000, // Set a timeout of 10 seconds
|
|
dangerouslyAllowBrowser: true, // Allow browser usage
|
|
});
|
|
|
|
export const chat = async (messages) => {
|
|
try {
|
|
const response = await openai.chat.completions.create({
|
|
model: 'Qwen/Qwen2-7B-Instruct',
|
|
messages: messages,
|
|
max_tokens: 1000,
|
|
temperature: 0.7,
|
|
});
|
|
return response.choices[0].message.content;
|
|
} catch (error) {
|
|
console.error('Error in chat completion:', error);
|
|
throw error; // Re-throw the error for further handling
|
|
}
|
|
};
|
|
|
|
// const res = await chat([{ role: 'user', content: 'Hello, how are you?' }]);
|
|
// console.log('Chat response:', res);
|