Solución ejercicio HTML+CSS

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Informe de ventas</title>
    <link href="css/styles.css" rel="stylesheet"/>
</head>
<body>
    <h1>Informe de ventas</h1>
    <p class="azuloscuro">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
    <ul>
        <li>Ampliación oficinas</li>
        <li>Mayores comisiones</li>
        <li>Nuevos vendedores</li>
    </ul>
    <table >
        <thead>
        <tr>
            <th>Localidad</th>
            <th>Departamento</th>
            <th>Total</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td rowspan="2">Barcelona</td>
            <td>Muebles</td>
            <td>100</td>
        </tr>
        <tr>
            <td>Electrodomésticos</td>
            <td>200</td>
        </tr>
        <tr>
            <td>Tarragona</td>
            <td>Muebles</td>
            <td>50</td>
        </tr>
    </tbody>
    <tfoot>
        <tr>
            <td colspan="2">Total</td>
            <td>350</td>
        </tr>
    </tfoot>
    </table>
</body>
</html>
h1{
    color: green;
}

.azuloscuro{
    color:#010157;
}
li{
    color:red;
}

th, td {
    border-bottom: 1px solid #ddd;
  }

HTML

Tutoriales básicos:
https://html.com/
https://www.w3schools.com/html/
https://www.internetingishard.com/
https://www.tutorialrepublic.com/html-tutorial/
Free code camp

Tabla elementos:
https://allthetags.com/

Avanzado:
https://trifulcas.com/html-avanzado/
https://markodenic.com/html-tips/

Head:
https://github.com/alvaroadlf/HEAD

Layout:
https://designshack.net/articles/layouts/10-rock-solid-website-layout-examples/

Estilo de escritura:
https://jakearchibald.com/2023/against-self-closing-tags-in-html/
https://css-tricks.com/write-html-the-html-way-not-the-xhtml-way/

Cursos Inteligencia Artificial

https://www.cloudskillsboost.google/course_templates/536

https://www.edx.org/learn/artificial-intelligence/google-google-ai-for-anyone

https://www.coursera.org/learn/generative-ai-with-llms

https://www.datacamp.com/tutorial/flan-t5-tutorial

https://explore.skillbuilder.aws/learn/public/learning_plan/view/2068/generative-ai-learning-plan-for-developers

https://learning.edx.org/course/course-v1:HarvardX+CS50AI+1T2020/home

Acceder a la API de OpenAI con node

https://www.sitepoint.com/ai-javascript-research-assistant/

const { OpenAI } = require("openai");

const openai = new OpenAI({
      apiKey: "YOUR_OPENAI_API_KEY",
      dangerouslyAllowBrowser: true,
});

async function queryAIModel(question) {
  try {
    const completion = await openai.chat.completions.create({
      model: "gpt-4",
      messages: [
        { role: "system", content: "You are a helpful research assistant." },
        { role: "user", content: question }
      ],
    });
    return completion.choices[0].message.content.trim();
  } catch (error) {
    console.error("An error occurred while querying GPT-4:", error);
    return "Sorry, an error occurred. Please try again.";
  }
}

async function queryResearchAssistant() {
  const query = "What is the role of JavaScript in building AI Applications?";
  const answer = await queryAIModel(query);
  console.log(`Question: ${query}\nAnswer: ${answer}`);
}

queryResearchAssistant();