AetherLexLib_JS AetherLexLib Logo

A lightweight chatbot library. (NOTE: This library needs the user to be connected online to provide results.)

Check out the example at: AetherLexLib AI Chatbot

Table of contents:

How to download??

This project is under “MIT LICENSE” so it is free and you can use it, modify it etc. but only if you included the copy of the license of the project you used.

To get the library do one of these methods:

After you’ve downloaded the .zip, extract it and add the “project_build” and “LICENSE” files to your project to start using it.

How to Use the Library??

To use the library, follow the steps below:

Step 1:

Step 2:

Step 3:

Step 4:

Step 5:

Step 6:

Example Usage:

Here’s a simple example that ties everything together:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Chatbot Example</title>
</head>
<body>
    <div id="chat-container"></div>
    <input type="text" id="user-input" placeholder="Type your message..." />
    <button id="send-button">Send</button>

    <script type="module">
        import { analyzeAndRespond } from './path/to/your/library.js';

        document.getElementById('send-button').addEventListener('click', async () => {
            const inputField = document.getElementById('user-input');
            const userInput = inputField.value;
            const response = await analyzeAndRespond(userInput);
            
            // Display the response
            const chatContainer = document.getElementById('chat-container');
            chatContainer.innerHTML += `<div>User: ${userInput}</div>`;
            chatContainer.innerHTML += `<div>AI: ${response}</div>`;
            
            inputField.value = '';  // Clear the input field
        });
    </script>
</body>
</html>

An example on how to use the engine can be found on “examples” folder, you can test it here: AetherLexLib AI Chatbot

AetherLexAPI

If you are unable to use the library via cdn or npm, you can use the AetherLexAPI directly. This is a simple API that you can use to interact with the AI.

const message = "hello";
const response = await fetch('https://aetherlexlib-js.onrender.com/api/analyze', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
    },
    body: JSON.stringify({ analyzedResult:message }),
});

if (!response.ok) {
    throw new Error(`Error: ${response.status}`);
}

const data = await response.json();
responseDiv.innerHTML = `<p>Response: ${JSON.stringify(data.processedResult)}</p>`;

Thats it! with this, you can send and recieve messages from the AI.

The body is the most important thing of sending requests and it is also the one that can cause you problems!

You need to exactly add analyzedResult: as the message key and the message as the value. If you do not do this, the AI will not respond and throw and error telling to use analyzedResult:

The response the AI will give, will be in JSON form, but for some reason if you need to just get the response as plain text and not JSON, just add this in the body element along with the analyzedResult:

body: JSON.stringify({ analyzedResult:message, isJson: false })

If isJson is false, then the API would only respond with plain text.

Example:

const response = await fetch('https://aetherlexlib-js.onrender.com/api/analyze', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
    },
    body: JSON.stringify({ analyzedResult:message, isJson: false }),
});

if (!response.ok) {
    throw new Error(`Error: ${response.status}`);
}

const data = await response.text();
responseDiv.innerHTML = `<p>Response: ${data}</p>`;

Credits