From c9bd3ff7d24f69adddd26bc9bebdaf6d3d03e842 Mon Sep 17 00:00:00 2001 From: Russell Ballestrini Date: Sun, 12 Oct 2025 08:26:54 -0400 Subject: [PATCH] add Qwen 3 Coder model to homepage with code examples for both Hermes and Qwen endpoints --- index.html | 134 +++++++++++++++++++++- russell.ballestrini.net-1760190190808.log | 31 ----- russell.ballestrini.net-1760190380889.log | 97 ---------------- russell.ballestrini.net-1760208800499.log | 63 ---------- russell.ballestrini.net-1760209927366.log | 120 ------------------- 5 files changed, 129 insertions(+), 316 deletions(-) delete mode 100644 russell.ballestrini.net-1760190190808.log delete mode 100644 russell.ballestrini.net-1760190380889.log delete mode 100644 russell.ballestrini.net-1760208800499.log delete mode 100644 russell.ballestrini.net-1760209927366.log diff --git a/index.html b/index.html index be60686..a3f45e8 100644 --- a/index.html +++ b/index.html @@ -106,8 +106,14 @@ -

Introducing uncloseai & Hermes & TTS Speech Endpoints

-

At uncloseai., we offer free AI services powered by the NousResearch/Hermes-3-Llama-3.1-8B model and a TTS (Text-to-Speech) endpoint. Our mission is to provide accessible AI tools for everyone, embodying the principles of both free as in beer & free as in freedom. You can interact with our models without any cost, and you are encouraged to contribute and build upon the open-source code & models that we use.

+

Introducing uncloseai & Hermes & Qwen & TTS Speech Endpoints

+

At uncloseai., we offer free AI services powered by multiple AI models and a TTS (Text-to-Speech) endpoint. Our mission is to provide accessible AI tools for everyone, embodying the principles of both free as in beer & free as in freedom. You can interact with our models without any cost, and you are encouraged to contribute and build upon the open-source code & models that we use.

+ +

Available Models:

+

We intend to be a drop in replacement, you can use the existing open source OpenAI client to communicate with us.

@@ -160,12 +166,13 @@

Using the Hermes AI Model

Python Examples

Python Non-Streaming

-
# Python Fizzbuzz Example
+
+        

Using Hermes (General Purpose):

+
# Python Fizzbuzz Example with Hermes
 from openai import OpenAI
 
 client = OpenAI(base_url="https://hermes.ai.unturf.com/v1", api_key="choose-any-value")
 
-#MODEL = "NousResearch/Hermes-3-Llama-3.1-8B"
 MODEL = "adamo1139/Hermes-3-Llama-3.1-8B-FP8-Dynamic"
 
 messages = [{"role": "user", "content": "Give a Python Fizzbuzz solution in one line of code?"}]
@@ -177,11 +184,33 @@ response = client.chat.completions.create(
     max_tokens=150
 )
 
+print(response.choices[0].message.content)
+        
+ +

Using Qwen 3 Coder (Specialized for Coding):

+
# Python Fizzbuzz Example with Qwen 3 Coder
+from openai import OpenAI
+
+client = OpenAI(base_url="https://qwen.ai.unturf.com/v1", api_key="choose-any-value")
+
+MODEL = "hf.co/unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF:Q4_K_M"
+
+messages = [{"role": "user", "content": "Give a Python Fizzbuzz solution in one line of code?"}]
+
+response = client.chat.completions.create(
+    model=MODEL,
+    messages=messages,
+    temperature=0.5,
+    max_tokens=150
+)
+
 print(response.choices[0].message.content)
         

Python Streaming

-
# Streaming response in Python
+
+        

Using Hermes (General Purpose):

+
# Streaming response in Python with Hermes
 from openai import OpenAI
 
 client = OpenAI(base_url="https://hermes.ai.unturf.com/v1", api_key="choose-any-value")
@@ -200,6 +229,31 @@ response = client.chat.completions.create(
     stream=True,  # Enable streaming
 )
 
+for chunk in response:
+    if hasattr(chunk.choices[0].delta, "content"):
+        print(chunk.choices[0].delta.content, end="")
+        
+ +

Using Qwen 3 Coder (Specialized for Coding):

+
# Streaming response in Python with Qwen 3 Coder
+from openai import OpenAI
+
+client = OpenAI(base_url="https://qwen.ai.unturf.com/v1", api_key="choose-any-value")
+
+MODEL = "hf.co/unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF:Q4_K_M"
+
+messages = [
+    {"role": "user", "content": "Give a Python Fizzbuzz solution in one line of code?"}
+]
+
+response = client.chat.completions.create(
+    model=MODEL,
+    messages=messages,
+    temperature=0.5,
+    max_tokens=150,
+    stream=True,  # Enable streaming
+)
+
 for chunk in response:
     if hasattr(chunk.choices[0].delta, "content"):
         print(chunk.choices[0].delta.content, end="")
@@ -207,6 +261,8 @@ for chunk in response:
 
         

Node.js Examples

Node.js Non-Streaming

+ +

Using Hermes (General Purpose):

const OpenAI = require('openai');
 
 const client = new OpenAI({
@@ -233,10 +289,42 @@ async function getResponse() {
     }
 }
 
+getResponse();
+        
+ +

Using Qwen 3 Coder (Specialized for Coding):

+
const OpenAI = require('openai');
+
+const client = new OpenAI({
+    baseURL: "https://qwen.ai.unturf.com/v1",
+    apiKey: "dummy-api-key",
+});
+
+const MODEL = "hf.co/unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF:Q4_K_M";
+
+const messages = [{"role": "user", "content": "Give a Python Fizzbuzz solution in one line of code?"}];
+
+async function getResponse() {
+    try {
+        const response = await client.chat.completions.create({
+            model: MODEL,
+            messages: messages,
+            temperature: 0.5,
+            max_tokens: 150,
+        });
+
+        console.log(response.choices[0].message.content);
+    } catch (error) {
+        console.error("Error:", error.response ? error.response.data : error.message);
+    }
+}
+
 getResponse();
         

Node.js Streaming

+ +

Using Hermes (General Purpose):


 const OpenAI = require('openai');
 
@@ -269,6 +357,42 @@ async function streamResponse() {
     }
 }
 
+streamResponse();
+        
+ +

Using Qwen 3 Coder (Specialized for Coding):

+

+const OpenAI = require('openai');
+
+const client = new OpenAI({
+    baseURL: "https://qwen.ai.unturf.com/v1",
+    apiKey: "dummy-api-key",
+});
+
+const MODEL = "hf.co/unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF:Q4_K_M";
+
+const messages = [{"role": "user", "content": "Give a Python Fizzbuzz solution in one line of code?"}];
+
+async function streamResponse() {
+    try {
+        const stream = await client.chat.completions.create({
+            model: MODEL,
+            messages: messages,
+            temperature: 0.5,
+            max_tokens: 150,
+            stream: true,  // Enable streaming
+        });
+
+        // Use async iterator to read each chunk
+        for await (const chunk of stream) {
+            const msg = chunk.choices[0].delta.content;
+            process.stdout.write(msg);  // Print each chunk as it arrives
+        }
+    } catch (error) {
+        console.error("Error:", error.response ? error.response.data : error.message);
+    }
+}
+
 streamResponse();
         
diff --git a/russell.ballestrini.net-1760190190808.log b/russell.ballestrini.net-1760190190808.log deleted file mode 100644 index 0377388..0000000 --- a/russell.ballestrini.net-1760190190808.log +++ /dev/null @@ -1,31 +0,0 @@ -uncloseai.js:173 uncloseai.js: Modular version loaded successfully -uncloseai.js:118 uncloseai.js: window.onload event fired. -ui.js:531 uncloseai.js: Full initialization -ui.js:536 uncloseai.js: SHOW_FLOATING_BUTTON is true, calling createFloatingAIButton() -ui.js:417 uncloseai.js: createFloatingAIButton() called. -favicon.ico:1 GET https://russell.ballestrini.net/favicon.ico 404 (Not Found) -ui.js:430 uncloseai.js: uncloseai-modal-builtin.css loaded, creating floating button. -ui.js:355 uncloseai.js: createAndAppendFloatingButton() called. -ui.js:371 uncloseai.js: Created new floating button element. -ui.js:412 uncloseai.js: Appended floating button to document.body. -ui.js:450 Floating button clicked! -ui.js:459 Trying to toggle Hermes modal... -ui.js:465 Found toggleUncloseaiEmbeddedModal in local scope -ui.js:490 Calling modal function -ui.js:552 toggleUncloseaiEmbeddedModal called -ui.js:562 Modal is closed, opening it -uncloseai-embed-modal.js:360 Voices loaded: 6 voices, selected: alloy -uncloseai-embed-modal.js:267 Loading models for Hermes modal... -uncloseai-embed-modal.js:269 Models loaded: [{…}] -uncloseai-embed-modal.js:1406 Raw history from localStorage: [{…}] -uncloseai-embed-modal.js:1407 History length: 1 -models.js:284 πŸ” DEBUG: Modal dropdown value: hermes.ai.unturf.com-adamo1139/Hermes-3-Llama-3.1-8B-FP8-Dynamic -models.js:287 πŸ” DEBUG: Extracted model name: adamo1139/Hermes-3-Llama-3.1-8B-FP8-Dynamic -uncloseai-embed-modal.js:1437 Chat history synced with loaded data: 2 messages -uncloseai-embed-modal.js:1442 History to display: [{…}] -uncloseai-embed-modal.js:1445 Displaying message 0: user do a version that is perl -uncloseai-embed-modal.js:1601 Added user message to chatBox -uncloseai-embed-modal.js:267 Loading models for Hermes modal... -uncloseai-embed-modal.js:269 Models loaded: [{…}] -models.js:284 πŸ” DEBUG: Modal dropdown value: hermes.ai.unturf.com-adamo1139/Hermes-3-Llama-3.1-8B-FP8-Dynamic -models.js:287 πŸ” DEBUG: Extracted model name: adamo1139/Hermes-3-Llama-3.1-8B-FP8-Dynamic diff --git a/russell.ballestrini.net-1760190380889.log b/russell.ballestrini.net-1760190380889.log deleted file mode 100644 index bd51d2d..0000000 --- a/russell.ballestrini.net-1760190380889.log +++ /dev/null @@ -1,97 +0,0 @@ -uncloseai.js:173 uncloseai.js: Modular version loaded successfully -uncloseai.js:118 uncloseai.js: window.onload event fired. -ui.js:531 uncloseai.js: Full initialization -ui.js:536 uncloseai.js: SHOW_FLOATING_BUTTON is true, calling createFloatingAIButton() -ui.js:417 uncloseai.js: createFloatingAIButton() called. -ui.js:430 uncloseai.js: uncloseai-modal-builtin.css loaded, creating floating button. -ui.js:355 uncloseai.js: createAndAppendFloatingButton() called. -ui.js:371 uncloseai.js: Created new floating button element. -ui.js:412 uncloseai.js: Appended floating button to document.body. -ui.js:450 Floating button clicked! -ui.js:459 Trying to toggle Hermes modal... -ui.js:465 Found toggleUncloseaiEmbeddedModal in local scope -ui.js:490 Calling modal function -ui.js:552 toggleUncloseaiEmbeddedModal called -ui.js:562 Modal is closed, opening it -uncloseai-embed-modal.js:360 Voices loaded: 6 voices, selected: alloy -uncloseai-embed-modal.js:267 Loading models for Hermes modal... -models.js:57 🏠 No custom API configured, using default endpoints only -models.js:60 πŸ“‘ Fetching models from endpoints: (3)Β ['https://hermes.ai.unturf.com/v1', 'https://hermes2.ai.unturf.com/v1', 'https://qwen.ai.unturf.com/v1'] -models.js:65 πŸ” Fetching models from https://hermes.ai.unturf.com/v1... -models.js:65 πŸ” Fetching models from https://hermes2.ai.unturf.com/v1... -models.js:65 πŸ” Fetching models from https://qwen.ai.unturf.com/v1... -uncloseai-embed-modal.js:1406 Raw history from localStorage: [{…}] -uncloseai-embed-modal.js:1407 History length: 1 -uncloseai-embed-modal.js:1437 Chat history synced with loaded data: 2 messages -uncloseai-embed-modal.js:1442 History to display: [{…}] -uncloseai-embed-modal.js:1445 Displaying message 0: user do a version that is perl -uncloseai-embed-modal.js:1601 Added user message to chatBox -webwords-code-golf-minimal-implementation/:1 Access to fetch at 'https://qwen.ai.unturf.com/v1/models' from origin 'https://russell.ballestrini.net' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. -models.js:78 GET https://qwen.ai.unturf.com/v1/models net::ERR_FAILED -(anonymous) @ models.js:78 -fetchModelsFromEndpoints @ models.js:63 -fetchModelsFromEndpoints @ uncloseai-embed-modal.js:74 -await in fetchModelsFromEndpoints -loadModels @ uncloseai-embed-modal.js:268 -openUncloseaiEmbeddedModalNew @ uncloseai-embed-modal.js:1400 -await in openUncloseaiEmbeddedModalNew -toggleUncloseaiEmbeddedModal @ uncloseai-embed-modal.js:2072 -toggleUncloseaiEmbeddedModal @ ui.js:563 -floatingButton.onclick @ ui.js:491 -models.js:135 Error fetching models from https://qwen.ai.unturf.com/v1: TypeError: Failed to fetch - at models.js:78:22 - at Array.map () - at fetchModelsFromEndpoints (models.js:63:41) - at fetchModelsFromEndpoints (uncloseai-embed-modal.js:74:9) - at async loadModels (uncloseai-embed-modal.js:268:19) -(anonymous) @ models.js:135 -await in (anonymous) -fetchModelsFromEndpoints @ models.js:63 -fetchModelsFromEndpoints @ uncloseai-embed-modal.js:74 -await in fetchModelsFromEndpoints -loadModels @ uncloseai-embed-modal.js:268 -openUncloseaiEmbeddedModalNew @ uncloseai-embed-modal.js:1400 -await in openUncloseaiEmbeddedModalNew -toggleUncloseaiEmbeddedModal @ uncloseai-embed-modal.js:2072 -toggleUncloseaiEmbeddedModal @ ui.js:563 -floatingButton.onclick @ ui.js:491 -models.js:86 πŸ“¦ Raw response from https://hermes.ai.unturf.com/v1: {object: 'list', data: Array(1)} -models.js:89 βœ… Fetched 1 models from https://hermes.ai.unturf.com/v1: ['adamo1139/Hermes-3-Llama-3.1-8B-FP8-Dynamic'] -models.js:92 πŸ”§ Processing model adamo1139/Hermes-3-Llama-3.1-8B-FP8-Dynamic from hermes.ai.unturf.com -models.js:95 πŸ“Š Model adamo1139/Hermes-3-Llama-3.1-8B-FP8-Dynamic - detected maxTokens from API: 82000 -webwords-code-golf-minimal-implementation/:1 Access to fetch at 'https://hermes2.ai.unturf.com/v1/models' from origin 'https://russell.ballestrini.net' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. -models.js:78 GET https://hermes2.ai.unturf.com/v1/models net::ERR_FAILED -(anonymous) @ models.js:78 -fetchModelsFromEndpoints @ models.js:63 -fetchModelsFromEndpoints @ uncloseai-embed-modal.js:74 -await in fetchModelsFromEndpoints -loadModels @ uncloseai-embed-modal.js:268 -openUncloseaiEmbeddedModalNew @ uncloseai-embed-modal.js:1400 -await in openUncloseaiEmbeddedModalNew -toggleUncloseaiEmbeddedModal @ uncloseai-embed-modal.js:2072 -toggleUncloseaiEmbeddedModal @ ui.js:563 -floatingButton.onclick @ ui.js:491 -models.js:135 Error fetching models from https://hermes2.ai.unturf.com/v1: TypeError: Failed to fetch - at models.js:78:22 - at Array.map () - at fetchModelsFromEndpoints (models.js:63:41) - at fetchModelsFromEndpoints (uncloseai-embed-modal.js:74:9) - at async loadModels (uncloseai-embed-modal.js:268:19) -(anonymous) @ models.js:135 -await in (anonymous) -fetchModelsFromEndpoints @ models.js:63 -fetchModelsFromEndpoints @ uncloseai-embed-modal.js:74 -await in fetchModelsFromEndpoints -loadModels @ uncloseai-embed-modal.js:268 -openUncloseaiEmbeddedModalNew @ uncloseai-embed-modal.js:1400 -await in openUncloseaiEmbeddedModalNew -toggleUncloseaiEmbeddedModal @ uncloseai-embed-modal.js:2072 -toggleUncloseaiEmbeddedModal @ ui.js:563 -floatingButton.onclick @ ui.js:491 -uncloseai-embed-modal.js:269 Models loaded: [{…}] -models.js:284 πŸ” DEBUG: Modal dropdown value: hermes.ai.unturf.com-adamo1139/Hermes-3-Llama-3.1-8B-FP8-Dynamic -models.js:287 πŸ” DEBUG: Extracted model name: adamo1139/Hermes-3-Llama-3.1-8B-FP8-Dynamic -uncloseai-embed-modal.js:267 Loading models for Hermes modal... -uncloseai-embed-modal.js:269 Models loaded: [{…}] -models.js:284 πŸ” DEBUG: Modal dropdown value: hermes.ai.unturf.com-adamo1139/Hermes-3-Llama-3.1-8B-FP8-Dynamic -models.js:287 πŸ” DEBUG: Extracted model name: adamo1139/Hermes-3-Llama-3.1-8B-FP8-Dynamic diff --git a/russell.ballestrini.net-1760208800499.log b/russell.ballestrini.net-1760208800499.log deleted file mode 100644 index d2eb7b2..0000000 --- a/russell.ballestrini.net-1760208800499.log +++ /dev/null @@ -1,63 +0,0 @@ -uncloseai.js:173 uncloseai.js: Modular version loaded successfully -uncloseai.js:118 uncloseai.js: window.onload event fired. -ui.js:531 uncloseai.js: Full initialization -ui.js:536 uncloseai.js: SHOW_FLOATING_BUTTON is true, calling createFloatingAIButton() -ui.js:417 uncloseai.js: createFloatingAIButton() called. -ui.js:430 uncloseai.js: uncloseai-modal-builtin.css loaded, creating floating button. -ui.js:355 uncloseai.js: createAndAppendFloatingButton() called. -ui.js:371 uncloseai.js: Created new floating button element. -ui.js:412 uncloseai.js: Appended floating button to document.body. -ui.js:450 Floating button clicked! -ui.js:459 Trying to toggle Hermes modal... -ui.js:465 Found toggleUncloseaiEmbeddedModal in local scope -ui.js:490 Calling modal function -ui.js:552 toggleUncloseaiEmbeddedModal called -ui.js:562 Modal is closed, opening it -uncloseai-embed-modal.js:360 Voices loaded: 6 voices, selected: alloy -uncloseai-embed-modal.js:267 Loading models for Hermes modal... -models.js:57 🏠 No custom API configured, using default endpoints only -models.js:60 πŸ“‘ Fetching models from endpoints: Array(3) -models.js:65 πŸ” Fetching models from https://hermes.ai.unturf.com/v1... -models.js:65 πŸ” Fetching models from https://hermes2.ai.unturf.com/v1... -models.js:65 πŸ” Fetching models from https://qwen.ai.unturf.com/v1... -uncloseai-embed-modal.js:1406 Raw history from localStorage: Array(0) -uncloseai-embed-modal.js:1407 History length: 0 -pelican-theme-upgrade-right-sidebar-toc/:1 [DOM] Found 2 elements with non-unique id #search-box: (More info: https://goo.gl/9p2vKq) ​ ​ -config.js:156 🏠 Using DEFAULT Hermes API -models.js:318 πŸ” DEBUG: Using hardcoded fallback model -chat.js:33 Token calculation: max=8000, inputβ‰ˆ4100, buffer=2050, availableβ‰ˆ2000 -chat.js:282 Chat (custom history) using tokens: 2000 calculated: 2000 max completion: 8000 -pelican-theme-upgrade-right-sidebar-toc/:1 Access to fetch at 'https://qwen.ai.unturf.com/v1/models' from origin 'https://russell.ballestrini.net' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status. -qwen.ai.unturf.com/v1/models:1 Failed to load resource: net::ERR_FAILED -models.js:135 Error fetching models from https://qwen.ai.unturf.com/v1: TypeError: Failed to fetch - at models.js:78:22 - at Array.map () - at fetchModelsFromEndpoints (models.js:63:41) - at fetchModelsFromEndpoints (uncloseai-embed-modal.js:74:9) - at async loadModels (uncloseai-embed-modal.js:268:19) -(anonymous) @ models.js:135 -pelican-theme-upgrade-right-sidebar-toc/:1 Access to fetch at 'https://hermes2.ai.unturf.com/v1/models' from origin 'https://russell.ballestrini.net' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status. -hermes2.ai.unturf.com/v1/models:1 Failed to load resource: net::ERR_FAILED -models.js:135 Error fetching models from https://hermes2.ai.unturf.com/v1: TypeError: Failed to fetch - at models.js:78:22 - at Array.map () - at fetchModelsFromEndpoints (models.js:63:41) - at fetchModelsFromEndpoints (uncloseai-embed-modal.js:74:9) - at async loadModels (uncloseai-embed-modal.js:268:19) -(anonymous) @ models.js:135 -models.js:86 πŸ“¦ Raw response from https://hermes.ai.unturf.com/v1: Object -models.js:89 βœ… Fetched 1 models from https://hermes.ai.unturf.com/v1: Array(1) -models.js:92 πŸ”§ Processing model adamo1139/Hermes-3-Llama-3.1-8B-FP8-Dynamic from hermes.ai.unturf.com -models.js:95 πŸ“Š Model adamo1139/Hermes-3-Llama-3.1-8B-FP8-Dynamic - detected maxTokens from API: 82000 -uncloseai-embed-modal.js:269 Models loaded: Array(1) -models.js:284 πŸ” DEBUG: Modal dropdown value: hermes.ai.unturf.com-adamo1139/Hermes-3-Llama-3.1-8B-FP8-Dynamic -models.js:287 πŸ” DEBUG: Extracted model name: adamo1139/Hermes-3-Llama-3.1-8B-FP8-Dynamic -uncloseai-embed-modal.js:1901 Added intro message to chat history -uncloseai-embed-modal.js:267 Loading models for Hermes modal... -uncloseai-embed-modal.js:269 Models loaded: Array(1) -models.js:284 πŸ” DEBUG: Modal dropdown value: hermes.ai.unturf.com-adamo1139/Hermes-3-Llama-3.1-8B-FP8-Dynamic -models.js:287 πŸ” DEBUG: Extracted model name: adamo1139/Hermes-3-Llama-3.1-8B-FP8-Dynamic -uncloseai-embed-modal.js:267 Loading models for Hermes modal... -uncloseai-embed-modal.js:269 Models loaded: [{…}] -models.js:284 πŸ” DEBUG: Modal dropdown value: hermes.ai.unturf.com-adamo1139/Hermes-3-Llama-3.1-8B-FP8-Dynamic -models.js:287 πŸ” DEBUG: Extracted model name: adamo1139/Hermes-3-Llama-3.1-8B-FP8-Dynamic diff --git a/russell.ballestrini.net-1760209927366.log b/russell.ballestrini.net-1760209927366.log deleted file mode 100644 index 519b570..0000000 --- a/russell.ballestrini.net-1760209927366.log +++ /dev/null @@ -1,120 +0,0 @@ -uncloseai.js:173 uncloseai.js: Modular version loaded successfully -uncloseai.js:118 uncloseai.js: window.onload event fired. -ui.js:531 uncloseai.js: Full initialization -ui.js:536 uncloseai.js: SHOW_FLOATING_BUTTON is true, calling createFloatingAIButton() -ui.js:417 uncloseai.js: createFloatingAIButton() called. -favicon.ico:1 GET https://russell.ballestrini.net/favicon.ico 404 (Not Found) -ui.js:430 uncloseai.js: uncloseai-modal-builtin.css loaded, creating floating button. -ui.js:355 uncloseai.js: createAndAppendFloatingButton() called. -ui.js:371 uncloseai.js: Created new floating button element. -ui.js:412 uncloseai.js: Appended floating button to document.body. -ui.js:450 Floating button clicked! -ui.js:459 Trying to toggle Hermes modal... -ui.js:465 Found toggleUncloseaiEmbeddedModal in local scope -ui.js:490 Calling modal function -ui.js:552 toggleUncloseaiEmbeddedModal called -ui.js:562 Modal is closed, opening it -uncloseai-embed-modal.js:360 Voices loaded: 6 voices, selected: alloy -uncloseai-embed-modal.js:267 Loading models for Hermes modal... -pelican-theme-upgrade-right-sidebar-toc/:1 [DOM] Found 2 elements with non-unique id #search-box: (More info: https://goo.gl/9p2vKq) ​ ​ -models.js:57 🏠 No custom API configured, using default endpoints only -models.js:60 πŸ“‘ Fetching models from endpoints: (3)Β ['https://hermes.ai.unturf.com/v1', 'https://hermes2.ai.unturf.com/v1', 'https://qwen.ai.unturf.com/v1'] -models.js:65 πŸ” Fetching models from https://hermes.ai.unturf.com/v1... -models.js:65 πŸ” Fetching models from https://hermes2.ai.unturf.com/v1... -models.js:65 πŸ” Fetching models from https://qwen.ai.unturf.com/v1... -uncloseai-embed-modal.js:1406 Raw history from localStorage: [{…}] -uncloseai-embed-modal.js:1407 History length: 1 -uncloseai-embed-modal.js:1437 Chat history synced with loaded data: 2 messages -uncloseai-embed-modal.js:1442 History to display: [{…}] -uncloseai-embed-modal.js:1445 Displaying message 0: assistant Hello! Welcome to Russell Ballestrini's page about -uncloseai-embed-modal.js:1800 Added AI message to chatBox with TTS buttons -pelican-theme-upgrade-right-sidebar-toc/:1 Access to fetch at 'https://hermes.ai.unturf.com/v1/models' from origin 'https://russell.ballestrini.net' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed. Have the server send the header with a valid value. -models.js:78 GET https://hermes.ai.unturf.com/v1/models net::ERR_FAILED -(anonymous) @ models.js:78 -fetchModelsFromEndpoints @ models.js:63 -fetchModelsFromEndpoints @ uncloseai-embed-modal.js:74 -await in fetchModelsFromEndpoints -loadModels @ uncloseai-embed-modal.js:268 -openUncloseaiEmbeddedModalNew @ uncloseai-embed-modal.js:1400 -await in openUncloseaiEmbeddedModalNew -toggleUncloseaiEmbeddedModal @ uncloseai-embed-modal.js:2072 -toggleUncloseaiEmbeddedModal @ ui.js:563 -floatingButton.onclick @ ui.js:491 -models.js:135 Error fetching models from https://hermes.ai.unturf.com/v1: TypeError: Failed to fetch - at models.js:78:22 - at Array.map () - at fetchModelsFromEndpoints (models.js:63:41) - at fetchModelsFromEndpoints (uncloseai-embed-modal.js:74:9) - at async loadModels (uncloseai-embed-modal.js:268:19) -(anonymous) @ models.js:135 -await in (anonymous) -fetchModelsFromEndpoints @ models.js:63 -fetchModelsFromEndpoints @ uncloseai-embed-modal.js:74 -await in fetchModelsFromEndpoints -loadModels @ uncloseai-embed-modal.js:268 -openUncloseaiEmbeddedModalNew @ uncloseai-embed-modal.js:1400 -await in openUncloseaiEmbeddedModalNew -toggleUncloseaiEmbeddedModal @ uncloseai-embed-modal.js:2072 -toggleUncloseaiEmbeddedModal @ ui.js:563 -floatingButton.onclick @ ui.js:491 -pelican-theme-upgrade-right-sidebar-toc/:1 Access to fetch at 'https://qwen.ai.unturf.com/v1/models' from origin 'https://russell.ballestrini.net' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed. Have the server send the header with a valid value. -models.js:78 GET https://qwen.ai.unturf.com/v1/models net::ERR_FAILED -(anonymous) @ models.js:78 -fetchModelsFromEndpoints @ models.js:63 -fetchModelsFromEndpoints @ uncloseai-embed-modal.js:74 -await in fetchModelsFromEndpoints -loadModels @ uncloseai-embed-modal.js:268 -openUncloseaiEmbeddedModalNew @ uncloseai-embed-modal.js:1400 -await in openUncloseaiEmbeddedModalNew -toggleUncloseaiEmbeddedModal @ uncloseai-embed-modal.js:2072 -toggleUncloseaiEmbeddedModal @ ui.js:563 -floatingButton.onclick @ ui.js:491 -models.js:135 Error fetching models from https://qwen.ai.unturf.com/v1: TypeError: Failed to fetch - at models.js:78:22 - at Array.map () - at fetchModelsFromEndpoints (models.js:63:41) - at fetchModelsFromEndpoints (uncloseai-embed-modal.js:74:9) - at async loadModels (uncloseai-embed-modal.js:268:19) -(anonymous) @ models.js:135 -await in (anonymous) -fetchModelsFromEndpoints @ models.js:63 -fetchModelsFromEndpoints @ uncloseai-embed-modal.js:74 -await in fetchModelsFromEndpoints -loadModels @ uncloseai-embed-modal.js:268 -openUncloseaiEmbeddedModalNew @ uncloseai-embed-modal.js:1400 -await in openUncloseaiEmbeddedModalNew -toggleUncloseaiEmbeddedModal @ uncloseai-embed-modal.js:2072 -toggleUncloseaiEmbeddedModal @ ui.js:563 -floatingButton.onclick @ ui.js:491 -pelican-theme-upgrade-right-sidebar-toc/:1 Access to fetch at 'https://hermes2.ai.unturf.com/v1/models' from origin 'https://russell.ballestrini.net' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status. -models.js:78 GET https://hermes2.ai.unturf.com/v1/models net::ERR_FAILED -(anonymous) @ models.js:78 -fetchModelsFromEndpoints @ models.js:63 -fetchModelsFromEndpoints @ uncloseai-embed-modal.js:74 -await in fetchModelsFromEndpoints -loadModels @ uncloseai-embed-modal.js:268 -openUncloseaiEmbeddedModalNew @ uncloseai-embed-modal.js:1400 -await in openUncloseaiEmbeddedModalNew -toggleUncloseaiEmbeddedModal @ uncloseai-embed-modal.js:2072 -toggleUncloseaiEmbeddedModal @ ui.js:563 -floatingButton.onclick @ ui.js:491 -models.js:135 Error fetching models from https://hermes2.ai.unturf.com/v1: TypeError: Failed to fetch - at models.js:78:22 - at Array.map () - at fetchModelsFromEndpoints (models.js:63:41) - at fetchModelsFromEndpoints (uncloseai-embed-modal.js:74:9) - at async loadModels (uncloseai-embed-modal.js:268:19) -(anonymous) @ models.js:135 -await in (anonymous) -fetchModelsFromEndpoints @ models.js:63 -fetchModelsFromEndpoints @ uncloseai-embed-modal.js:74 -await in fetchModelsFromEndpoints -loadModels @ uncloseai-embed-modal.js:268 -openUncloseaiEmbeddedModalNew @ uncloseai-embed-modal.js:1400 -await in openUncloseaiEmbeddedModalNew -toggleUncloseaiEmbeddedModal @ uncloseai-embed-modal.js:2072 -toggleUncloseaiEmbeddedModal @ ui.js:563 -floatingButton.onclick @ ui.js:491 -uncloseai-embed-modal.js:269 Models loaded: [] -uncloseai-embed-modal.js:267 Loading models for Hermes modal... -uncloseai-embed-modal.js:269 Models loaded: []