Estoy tratando de enviar una solicitud a través de js en mi html para que openai lo analice y envíe una respuesta, pero si en el js pongo lo siguiente:
const { Configuration, OpenAIApi } = require("openai"); const configuration = new Configuration({ apiKey: "sk-0000000000000ZXXXXXXXXXXXXXX", }); const openai = new OpenAIApi(configuration); async function test() { console("test") const response = await openai.createCompletion("text-davinci-002", { prompt: "hello", temperature: 0.7, max_tokens: 64, top_p: 1, frequency_penalty: 0, presence_penalty: 0, }); console.log(response) } test();devuelve la consola estos errores
Uncaught ReferenceError: require is not defined at buttons.js:94:38He intentado instalarlo con node.js y funciona bien, pero no sé cómo hacerlo funcionar en mi propio html.
Me tomó un poco de tiempo darme cuenta de esto.
Use el javascript como lo haría normalmente. El código registrará la respuesta en la consola. Puede cambiar eso para usar la respuesta de alguna otra manera en su código.
Ejemplos probados y de trabajo (puede ajustar estos ejemplos para satisfacer sus necesidades):
Aviso habitual:
let open_ai_response; openai_test(); async function openai_test() { var url = "https://api.openai.com/v1/engines/text-davinci-002/completions"; var xhr = new XMLHttpRequest(); xhr.open("POST", url); xhr.setRequestHeader("Content-Type", "application/json"); xhr.setRequestHeader("Authorization", "Bearer YOUR_OPEN_AI_KEY_GOES_HERE"); xhr.onreadystatechange = function () { if (xhr.readyState === 4) { console.log(xhr.status); console.log(xhr.responseText); open_ai_response = xhr.responseText; console.log(open_ai_response); }}; var data = `{ "prompt": "YOUR TEXT HERE.", "temperature": 0.7, "max_tokens": 256, "top_p": 1, "frequency_penalty": 0.75, "presence_penalty": 0 }`; xhr.send(data); }Uso de variables para el indicador:
let open_ai_response; openai_test(); async function openai_test() { var prompt_text = "YOUR TEXT HERE." var prompt_text2 = "MORE TEXT HERE." var url = "https://api.openai.com/v1/engines/text-davinci-002/completions"; var xhr = new XMLHttpRequest(); xhr.open("POST", url); xhr.setRequestHeader("Content-Type", "application/json"); xhr.setRequestHeader("Authorization", "Bearer YOUR_OPEN_AI_KEY_GOES_HERE"); xhr.onreadystatechange = function () { if (xhr.readyState === 4) { console.log(xhr.status); console.log(xhr.responseText); open_ai_response = xhr.responseText; console.log(open_ai_response); }}; var data = `{ "prompt": "${prompt_text + prompt_text2}", "temperature": 0.7, "max_tokens": 256, "top_p": 1, "frequency_penalty": 0.75, "presence_penalty": 0 }`; xhr.send(data); }