263 lines
14 KiB
HTML
263 lines
14 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<meta name="theme-color" content="#43a047">
|
|
<meta name="color-scheme" content="light dark">
|
|
<title>Using Free LLM & Text To Speech Artificial Intelligence Service | uncloseai.com</title>
|
|
|
|
<!-- PicoCSS -->
|
|
<link rel="stylesheet" href="/css/pico.classless.min.css">
|
|
<!-- ChunkFive Font -->
|
|
<link rel="stylesheet" href="/css/chunkfive/stylesheet.css" type="text/css" charset="utf-8" />
|
|
<!-- Sidebar Theme -->
|
|
<link rel="stylesheet" href="/css/sidebar-theme.css">
|
|
|
|
<!-- Highlight.js for syntax highlighting -->
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/styles/a11y-dark.min.css" />
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/highlight.min.js"></script>
|
|
|
|
<!-- Theme Switcher Script -->
|
|
<script>
|
|
function switchTheme(theme) {
|
|
if (theme === "auto") {
|
|
document.documentElement.removeAttribute('data-theme');
|
|
} else {
|
|
document.documentElement.setAttribute('data-theme', theme);
|
|
}
|
|
|
|
// Reload Remarkbox iframe with new theme if it exists
|
|
var iframe = document.getElementById('remarkbox-iframe');
|
|
if (iframe && window.buildRbSrc) {
|
|
iframe.src = buildRbSrc();
|
|
}
|
|
}
|
|
|
|
// Disable custom styling for uncloseai.js - use PicoCSS instead
|
|
window.UNCLOSEAI_CUSTOM_STYLING = false;
|
|
</script>
|
|
|
|
<script src="https://uncloseai.com/uncloseai.js" type="module"></script>
|
|
<!--
|
|
<script defer data-domain="ai.unturf.com" src="https://analytics.unturf.com/js/plausible.js"></script>
|
|
-->
|
|
</head>
|
|
|
|
<body>
|
|
<!-- Mobile menu toggle -->
|
|
<button class="sidebar-toggle" onclick="document.querySelector('.sidebar').classList.toggle('open')">
|
|
☰
|
|
</button>
|
|
|
|
<!-- Left sidebar - Main Navigation -->
|
|
<aside class="sidebar">
|
|
<div class="table-of-contents">
|
|
<nav>
|
|
<ul>
|
|
<li><a href="/" class="active">Home</a></li>
|
|
<li><a href="/csharp-examples.html">C# Examples</a></li>
|
|
<li><a href="/dart-examples.html">Dart Examples</a></li>
|
|
<li><a href="/elixir-examples.html">Elixir Examples</a></li>
|
|
<li><a href="/go-examples.html">Go Examples</a></li>
|
|
<li><a href="/java-examples.html">Java Examples</a></li>
|
|
<li><a href="/kotlin-examples.html">Kotlin Examples</a></li>
|
|
<li><a href="/nodejs-examples.html">Node.js Examples</a></li>
|
|
<li><a href="/php-examples.html">PHP Examples</a></li>
|
|
<li><a href="/python-examples.html">Python Examples</a></li>
|
|
<li><a href="/ruby-examples.html">Ruby Examples</a></li>
|
|
<li><a href="/rust-examples.html">Rust Examples</a></li>
|
|
<li><a href="/swift-examples.html">Swift Examples</a></li>
|
|
<li><a href="/uncloseai-js.html">uncloseai.js Docs</a></li>
|
|
<li><a href="/inference.html">Inference Setup</a></li>
|
|
<li><a href="https://git.unturf.com/engineering/unturf/uncloseai.com/-/tree/master/languages" target="_blank">🔗 All Languages</a></li>
|
|
<li><a href="https://shop.unturf.com/p/8486f492-a93e-11f0-b477-02dfe05770ee/uncloseai-machine-learning-reference-guide-to-inference-clients" target="_blank">📚 Book</a></li>
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
</aside>
|
|
|
|
<!-- Main content -->
|
|
<main>
|
|
<header>
|
|
<hgroup>
|
|
<a href="https://uncloseai.com"><h1 class="unturf" style="font-family: 'ChunkFiveRegular';">uncloseai.</h1></a>
|
|
<p>Welcome to uncloseai.com - Free LLM & Text To Speech Artificial Intelligence Service</p>
|
|
</hgroup>
|
|
<nav>
|
|
<ul>
|
|
<li><a href="#" onclick="switchTheme('auto')">Auto</a></li>
|
|
<li><a href="#" onclick="switchTheme('light')">Light</a></li>
|
|
<li><a href="#" onclick="switchTheme('dark')">Dark</a></li>
|
|
</ul>
|
|
</nav>
|
|
</header>
|
|
<h2 id="introduction">Introducing uncloseai & Hermes & Qwen & TTS Speech Endpoints</h2>
|
|
<p>At <strong>uncloseai.</strong>, 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.</p>
|
|
|
|
<p><strong>Available Models:</strong></p>
|
|
<ul>
|
|
<li><a href="https://nousresearch.com/hermes3/" target="_blank">NousResearch/Hermes-3-Llama-3.1-8B</a> - General purpose conversational AI at <code>https://hermes.ai.unturf.com/v1</code></li>
|
|
<li>Qwen 3 Coder 30B - Specialized coding model at <code>https://qwen.ai.unturf.com/v1</code></li>
|
|
</ul>
|
|
|
|
<p>We intend to be a drop in replacement, you can use the existing open source OpenAI client to communicate with us.</p>
|
|
|
|
<h2 id="client-side">uncloseai.js - Client-Side AI for Everyone</h2>
|
|
|
|
<p>This page includes the <a href="/uncloseai-js.html">uncloseai.js</a> script which adds a floating "uncloseai." button in the bottom right corner. Click it to interact with Hermes AI directly from your browser.</p>
|
|
|
|
<p>This is a <strong>web client-only solution</strong> - no server required. Add AI capabilities to any static site or CDN with just one line of code.</p>
|
|
|
|
<h3 id="installation">✨ One-Line Installation</h3>
|
|
<pre><code class="html"><script src="https://uncloseai.com/uncloseai.js" type="module"></script></code></pre>
|
|
|
|
<p><a href="/uncloseai-js.html"><strong>📖 Read the full uncloseai.js documentation →</strong></a></p>
|
|
|
|
<h2 id="examples">Code Examples</h2>
|
|
|
|
<p>We provide comprehensive code examples for using the <strong>uncloseai.</strong> API with popular programming languages. Each example demonstrates both streaming and non-streaming modes with Hermes (general purpose AI) and Qwen 3 Coder (specialized coding model).</p>
|
|
|
|
<h3>Quick Start Examples:</h3>
|
|
<ul>
|
|
<li><a href="/python-examples.html"><strong>Python Examples</strong></a> - Complete examples using the OpenAI Python client library</li>
|
|
<li><a href="/nodejs-examples.html"><strong>Node.js Examples</strong></a> - Complete examples using the OpenAI Node.js client library</li>
|
|
</ul>
|
|
|
|
<h3>42 Programming Languages:</h3>
|
|
<p>We provide SDK implementations with streaming support for 42 programming languages! Browse all language examples:</p>
|
|
<p>🔗 <a href="https://git.unturf.com/engineering/unturf/uncloseai.com/-/tree/master/languages" target="_blank"><strong>View All 42 Language Examples on Git →</strong></a></p>
|
|
|
|
<p>Includes: AWK, Bash, C, C++, C#, Clojure, COBOL, Common Lisp, Crystal, D, Dart, Deno, Elixir, Erlang, F#, Fortran, Go, Groovy, Haskell, Java, JavaScript, Julia, Kotlin, Lua, Mojo*, Nim, OCaml, Odin, Perl, PHP, PowerShell, Prolog, Python, R, Ruby, Rust, Scala, Scheme, Tcl, V, VB.NET, and Zig!</p>
|
|
<p><small>* Mojo implementation is non-streaming only (Lightbug HTTP library doesn't yet support SSE streaming as of 2025-10-15)</small></p>
|
|
|
|
<h3>uncloseai. book - Machine Learning Reference Guide:</h3>
|
|
<p>📚 <a href="https://shop.unturf.com/p/8486f492-a93e-11f0-b477-02dfe05770ee/uncloseai-machine-learning-reference-guide-to-inference-clients" target="_blank"><strong>Purchase the uncloseai. book on unturf.com Shop →</strong></a></p>
|
|
<p>Comprehensive reference guide covering inference clients, streaming implementations, and best practices for all 42 programming languages.</p>
|
|
|
|
<p>All examples use the OpenAI-compatible API interface, making it easy to integrate with existing code. Simply change the <code>base_url</code> to point to our endpoints:</p>
|
|
|
|
<ul>
|
|
<li><strong>Hermes:</strong> <code>https://hermes.ai.unturf.com/v1</code></li>
|
|
<li><strong>Qwen 3 Coder:</strong> <code>https://qwen.ai.unturf.com/v1</code></li>
|
|
<li><strong>TTS:</strong> <code>https://speech.ai.unturf.com/v1</code></li>
|
|
</ul>
|
|
|
|
<h2 id="inference">How we run inference</h2>
|
|
<p>Want to contribute idle GPU time or reproduce everything in your own cluster?</p>
|
|
<p><a href="/inference.html"><strong>📖 Read the full inference setup documentation →</strong></a></p>
|
|
|
|
<h2 id="open-source">Open Source & Public Domain</h2>
|
|
|
|
<p><strong>uncloseai.</strong> is completely <strong>public domain</strong> - free as in beer, free as in freedom. AI for all, internet for all, open web for everyone.</p>
|
|
|
|
<p>📦 <strong>Source Code:</strong> <a href="https://git.unturf.com/engineering/unturf/uncloseai.com" target="_blank">https://git.unturf.com/engineering/unturf/uncloseai.com</a></p>
|
|
|
|
<p>📄 <strong>Full Documentation:</strong> See README.rst in the repository for complete technical details, architecture, and contribution guidelines.</p>
|
|
|
|
<h2 id="discussions">Questions & Comments & Discussions</h2>
|
|
|
|
Use the <a href="https://www.remarkbox.com" target="_blank">Remarkbox</a> below to tell us what you think!
|
|
|
|
<div id="remarkbox-div">
|
|
<noscript>
|
|
<iframe id=remarkbox-iframe src="https://my.remarkbox.com/embed?nojs=true" style="height:600px;width:100%;border:none!important" tabindex=0></iframe>
|
|
</noscript>
|
|
</div>
|
|
<script src="https://my.remarkbox.com/static/js/iframe-resizer/iframeResizer.min.js"></script>
|
|
<script>
|
|
var rb_owner_key = "944c8dfa-8b2b-11ef-af0e-29ab4fb285a0";
|
|
var thread_uri = window.location.href;
|
|
var thread_title = window.document.title;
|
|
var thread_fragment = window.location.hash;
|
|
|
|
function getCurrentTheme() {
|
|
// Check if data-theme is set on documentElement
|
|
var theme = document.documentElement.getAttribute('data-theme');
|
|
if (theme) {
|
|
return theme; // 'light' or 'dark'
|
|
}
|
|
// If auto, detect system preference
|
|
if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
|
|
return 'dark';
|
|
}
|
|
return 'light';
|
|
}
|
|
|
|
function buildRbSrc() {
|
|
var mode = getCurrentTheme();
|
|
return "https://my.remarkbox.com/embed" +
|
|
"?rb_owner_key=" + rb_owner_key +
|
|
"&thread_title=" + encodeURI(thread_title) +
|
|
"&thread_uri=" + encodeURIComponent(thread_uri) +
|
|
"&mode=" + mode +
|
|
thread_fragment;
|
|
}
|
|
|
|
var rb_src = buildRbSrc();
|
|
|
|
function create_remarkbox_iframe() {
|
|
var ifrm = document.createElement("iframe");
|
|
ifrm.setAttribute("id", "remarkbox-iframe");
|
|
ifrm.setAttribute("scrolling", "no");
|
|
ifrm.setAttribute("src", rb_src);
|
|
ifrm.setAttribute("frameborder", "0");
|
|
ifrm.setAttribute("tabindex", "0");
|
|
ifrm.setAttribute("title", "Remarkbox");
|
|
ifrm.style.width = "100%";
|
|
document.getElementById("remarkbox-div").appendChild(ifrm);
|
|
}
|
|
create_remarkbox_iframe();
|
|
iFrameResize(
|
|
{
|
|
checkOrigin: ["https://my.remarkbox.com"],
|
|
inPageLinks: true,
|
|
initCallback: function(e) { e.iFrameResizer.moveToAnchor(thread_fragment) }
|
|
},
|
|
document.getElementById("remarkbox-iframe")
|
|
);
|
|
</script>
|
|
|
|
<script>hljs.highlightAll();</script>
|
|
|
|
<footer>
|
|
<small>Stylesheets by <a href="https://picocss.com" target="_blank">PicoCSS</a></small>
|
|
<small>& <a href="https://highlightjs.org/" target="_blank">highlight.js</a></small>
|
|
</footer>
|
|
|
|
<script>
|
|
// Simple active link highlighting
|
|
document.querySelectorAll('.table-of-contents a').forEach(link => {
|
|
link.addEventListener('click', function() {
|
|
document.querySelectorAll('.table-of-contents a').forEach(a => a.classList.remove('active'));
|
|
this.classList.add('active');
|
|
});
|
|
});
|
|
|
|
// Highlight current section on scroll
|
|
const sections = document.querySelectorAll('h2[id], h3[id]');
|
|
const navLinks = document.querySelectorAll('.table-of-contents a');
|
|
|
|
window.addEventListener('scroll', () => {
|
|
let current = '';
|
|
sections.forEach(section => {
|
|
const sectionTop = section.offsetTop;
|
|
const sectionHeight = section.clientHeight;
|
|
if (window.scrollY >= sectionTop - 100) {
|
|
current = section.getAttribute('id');
|
|
}
|
|
});
|
|
|
|
navLinks.forEach(link => {
|
|
link.classList.remove('active');
|
|
if (link.getAttribute('href') === '#' + current) {
|
|
link.classList.add('active');
|
|
}
|
|
});
|
|
});
|
|
</script>
|
|
</main>
|
|
</body>
|
|
|
|
</html>
|