NLUX JS
Conversational AI UI Library For ChatGPT And Other LLMs ✨💬
NLUX (for Natural Language User Experience) is an open-source Javascript library that makes it simple to integrate
powerful large language models (LLMs) like ChatGPT into your web app or website. With just a few lines of code, you
can add conversational AI capabilities and interact with your favourite LLM.
Key Features 🌟
- Build AI Chat Interfaces In Minutes - High quality conversational AI interfaces with just a few lines of code.
- Flexible LLM Adapters - Provided adapters for
ChatGPT
and HuggingFace
, and an API to create
your own adapter. - Streaming LLM Output - Streamed the chat response to the UI as it's being generated.
- Syntax Highlighting - Color and highlight code snippets in the response. Copy and paste code into your
editor.
- Personalize The Conversation - Providing context using system message, and instruct the LLM how to behave.
- Zero Dependencies - Lightweight codebase, with zero-dependencies except for LLM front-end libraries.
Vanilla JS 🟨 vs React JS ⚛️
This package @nlux/core
is the Vanilla JS version of NLUX.
If you're looking for the React JS version, please check
the @nlux/react
package.
Get Started With NLUX and ChatGPT 🚀
To get started with NLUX JS and ChatGPT, install the @nlux/core
and @nlux/openai
packages:
npm install @nlux/core @nlux/openai
Configure the OpenAI adapter with your API key:
(You can get an API key from your
OpenAI dashboard)
import {createAiChat} from '@nlux/core';
import {createAdapter} from '@nlux/openai';
const chatGptAdapter = createAdapter()
.withApiKey('YOUR_OPEN_AI_API_KEY')
.withSystemMessage(
'Act as a Nobel Prize in Physics winner who is ' +
'helping a PHD student in their research. Write short answers. Be funny!'
);
Then render the AiChat
component into your web page:
const aiChat = createAiChat()
.withAdapter(chatGptAdapter)
.withConversationOptions({
scrollWhenGenerating: true,
})
.withPromptBoxOptions({placeholder: 'Ask me anything about nuclear physics!'});
aiChat.mount(document.getElementById('root'));
You should also include the NLUX theme CSS file in your HTML page.
And The Result Is ✨
A fully functional chatbot UI that can advise you on nuclear physics, coding, and even tell you a joke or two!
Theme File and CSS 🎨
You should include a theme CSS file into your HTML page.
You can download and host the Kensington Theme
CSS file
from @nlux/themes
or use the
CDN hosted version from below:
<link rel="stylesheet" href="https://themes.nlux.ai/v0.8.0/kensington.css"/>
This CDN is provided for demo purposes only and it's not scalable.
Please download and host the theme files on your own for production use.
Docs Website 📖
Please visit docs.nlux.ai for the full documentation and examples.