rkuo-danswer 24184024bb
Bugfix/dependency updates (#4482)
* bump fastapi and starlette

* bumping llama index and nltk and associated deps

* bump to fix python-multipart

* bump aiohttp

* update package lock for examples/widget

* bump black

* sentencesplitter has changed namespaces

* fix reorder import check, fix missing passlib

* update package-lock.json

* black formatter updated

* reformatted again

* change to black compatible reorder

* change to black compatible reorder-python-imports fork

* fix pytest dependency

* black format again

* we don't need cdk.txt. update packages to be consistent across all packages

---------

Co-authored-by: Richard Kuo (Onyx) <rkuo@onyx.app>
Co-authored-by: Richard Kuo <rkuo@rkuo.com>
2025-04-10 08:23:02 +00:00
..
2024-12-13 09:56:10 -08:00
2024-12-13 09:56:10 -08:00
2024-07-19 20:14:52 -07:00
2024-07-19 20:14:52 -07:00
2024-07-19 20:14:52 -07:00
2025-04-10 08:23:02 +00:00
2024-07-19 20:14:52 -07:00
2024-12-13 09:56:10 -08:00
2024-07-19 20:14:52 -07:00
2024-07-19 20:14:52 -07:00

Onyx Chat Bot Widget

Note: The widget requires a Onyx API key, which is a paid (cloud/enterprise) feature.

This is a code example for how you can use Onyx's APIs to build a chat bot widget for a website! The main code to look at can be found in src/app/widget/Widget.tsx.

Getting Started

To get the widget working on your webpage, follow these steps:

1. Install Dependencies

Ensure you have the necessary dependencies installed. From the examples/widget/README.md file:

npm i

2. Set Environment Variables

Make sure to set the environment variables NEXT_PUBLIC_API_URL and NEXT_PUBLIC_API_KEY in a .env file at the root of your project:

NEXT_PUBLIC_API_URL=
NEXT_PUBLIC_API_KEY=

3. Run the Development Server

Start the development server to see the widget in action.

npm run dev

Open http://localhost:3000 with your browser to see the result.

4. Integrate the Widget

To integrate the widget into your webpage, you can use the ChatWidget component. Heres an example of how to include it in a page component:

import ChatWidget from "path/to/ChatWidget";
function MyPage() {
  return (
    <div>
      <h1>My Webpage</h1>
      <ChatWidget />
    </div>
  );
}
export default MyPage;

5. Deploy

Once you are satisfied with the widget, you can build and start the application for production:

npm run build
npm run start

Custom Styling and Configuration

If you need to customize the widget, you can modify the ChatWidget component in the examples/widget/src/app/widget/Widget.tsx file.

By following these steps, you should be able to get the chat widget working on your webpage.

If you want to get fancier, then take a peek at the Chat implementation within Onyx itself here.