Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

173
Visualizações
Espera en un bucle. (otra vez)

Este problema me parece la repetición de una pesadilla. El proyecto es entrenar un chatbot usando gpt3 y estoy experimentando con incrustaciones.

Tengo un documento y estoy tratando de crear incrustaciones para las diferentes secciones. getEmbeddings() parece devolver un valor de acuerdo con mis pruebas. Sin embargo, cuando mi ciclo finaliza, parece que no tengo una incrustación en mi sección (solo hay una... cuesta dinero hacer incrustaciones, así que solo ejecutaré el ciclo una vez hasta que funcione).

¿Qué estoy haciendo mal?

 begin(); async function begin(){ let sections = []; let inputFileName = "sourceDocument.jsonl"; let filecontents = fs.readFileSync(inputFileName,{encoding:'utf-8'}) let inputRows = [] = String(filecontents).split(/\r?\n/); for(let i = 0; i < inputRows.length; i++) { let row = inputRows[i]; if(row.trim().length == 0) continue; let dataObject = JSON.parse(row); let text = dataObject.completion; let section = new Section(); let titleend = text.indexOf("'>") //console.log(dataObject); section.title = text.substring(1,titleend); section.text = String(text).substring( (titleend + 2), (text.length - 10) ); section.embedding = await getEmbedding(section.text); sections.push(section); break; } console.log(sections[0]); } async function getEmbedding(textSample){ const embeddingModel = "text-search-davinci-doc-001"; if(DEBUGGING){ console.log(`DEBUG: getEmbedding(${textSample})`); } const OPENAI_REQEST_HEADERS = { "Content-Type":"application/json", "Authorization":`Bearer ${OPENAI_API_KEY}` } let data = { "input" : textSample, "model" : embeddingModel }; let res; await axios.post(EMBEDDINGS, data, {headers:OPENAI_REQEST_HEADERS}) .then((response) => { if(DEBUGGING) { console.log(" Embedding: " + response.data.data[0].embedding); } let embedding = response.data.data[0].embedding; return embedding; }) .catch((error) => { console.log("Error posting to OpenAI:"); console.log(error.response.data); }) }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Use async / await o use then patrón nativo de Promises, pero trate de evitar usar ambos: se vuelve confuso y ahí es donde se equivocó. Su declaración de return regresa del método then , pero no del método getEmbedding externo en sí.

Hay 2 formas de resolver esto: una es devolver el resultado de axios.post pero el otro método, un poco más fácil de leer, usa async / await en todo momento.

 async function getEmbedding(textSample){ const embeddingModel = "text-search-davinci-doc-001"; if(DEBUGGING){ console.log(`DEBUG: getEmbedding(${textSample})`); } const OPENAI_REQEST_HEADERS = { "Content-Type":"application/json", "Authorization":`Bearer ${OPENAI_API_KEY}` } let data = { "input" : textSample, "model" : embeddingModel }; try{ const response = await axios.post(EMBEDDINGS, data, {headers:OPENAI_REQEST_HEADERS}); if(DEBUGGING) { console.log(" Embedding: " + response.data.data[0].embedding); } return response.data.data[0].embedding; } catch(error){ console.log("Error posting to OpenAI:"); console.log(error.response.data); } }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda