GithubHelp home page GithubHelp logo

saakolch / web-llm-chat Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mlc-ai/web-llm-chat

0.0 0.0 0.0 29.73 MB

Chat with AI large language models running natively in your browser. Enjoy private, server-free, seamless AI conversations.

Home Page: https://chat.webllm.ai/

License: Apache License 2.0

Shell 0.73% JavaScript 0.88% TypeScript 82.24% CSS 2.24% Dockerfile 0.25% SCSS 13.67%

web-llm-chat's Introduction

WebLLM Chat

Related Repository: WebLLM Web App Deployed on GitHub Pages Join Discord

Private AI Conversations, Fully In-Browser.

Chat Now

webllmchat.webm

Overview

WebLLM Chat is a private AI chat interface that combines WebLLM with a user-friendly design, leveraging WebGPU to run large language models (LLMs) natively in your browser. Enjoy an unprecedented, private, and accessible AI conversation experience.

Key Features

  • Browser-Native AI: Experience cutting-edge language models running natively within your web browser with WebGPU acceleration, eliminating the need for server-side processing or cloud dependencies.
  • Ganranteed Privacy: With the AI model running locally on your hardware and all data processing happening within your browser, your data and conversations never leave your computer, ensuring your privacy.
  • Offline Accessibility: WebLLM Chat can be used entirely offline after the initial setup and download, allowing you to engage with AI-powered conversations without an active internet connection.
  • User-Friendly Interface: Enjoy the intuitive and feature-rich user interface, complete with markdown support, dark mode, and a responsive design optimized for various screen sizes.
  • Custom Models: Connect to any custom language model on you local environment through MLC-LLM. For detail, check the Use Custom Models section.
  • Open Source and Customizable: Build and customize your own AI-powered applications with our open-source framework.

WebLLM Chat is a pioneering initiative that combines the robust backend capabilities of WebLLM with the user-friendly interface of NextChat. As a part of the broader MLC.ai family, this project contributes to our mission of democratizing AI technology by making powerful tools accessible directly to end-users. By integrating with NextChat, WebLLM Chat not only enhances the chatting experience but also broadens the scope for deployment of self-hosted and customizable language models.

Built-in Models

WebLLM Chat natively supports WebLLM build-in models. You can find the full list here.

Use Custom Models

WebLLM Chat supports custom language models through MLC-LLM. Follow the following steps to use custom models on your local environment:

  1. (Optional) Compile the model into MLC format by following the instructions.

  2. Host REST API through MLC-LLM by following the instructions.

  3. Go to WebLLM Chat, select "Settings" in the side bar, then select "MLC-LLM REST API (Advanced)" as "Model Type" and type the REST API endpoint URL from step 2.

Development

# 1. install nodejs and yarn first
# 2. config local env vars in `.env.local`
# 3. run
yarn install
yarn dev

Deployment

Build

You can build the application as a Next.js build using yarn build or as a static site using yarn export. For more information, check Next.js documentation;

Docker

docker build -t webllm_chat .
docker run -d -p 3000:3000 webllm_chat

You can start service behind a proxy:

docker build -t webllm_chat .
docker run -d -p 3000:3000 \
   -e PROXY_URL=http://localhost:7890 \
   webllm_chat

If your proxy needs password, use:

-e PROXY_URL="http://127.0.0.1:7890 user pass"

Community and Contributions

WebLLM Chat thrives on community involvement. We are committed to fostering an inclusive and innovative community where developers and AI enthusiasts can collaborate, contribute, and push the boundaries of what's possible in AI technology. Join us on Discord to connect with fellow developers and contribute to the project.

Acknowledgements

WebLLM Chat is a companion project of WebLLM and it is built upon the remarkable work of NextChat. We extend our sincere gratitude to the developers and contributors of these projects for their invaluable efforts in advancing the field of browser-based AI and creating user-friendly chat interfaces.

Further more, this project is only possible thanks to the shoulders of open-source ecosystems that we stand on. We want to thank the Apache TVM community and developers of the TVM Unity effort. The open-source ML community members made these models publicly available. PyTorch and Hugging Face communities make these models accessible. We would like to thank the teams behind Vicuna, SentencePiece, LLaMA, Alpaca. We also would like to thank the WebAssembly, Emscripten, and WebGPU communities. Finally, thanks to Dawn and WebGPU developers.

web-llm-chat's People

Contributors

actions-user avatar algorithm5838 avatar aprilnea avatar clarencedan avatar cyhhao avatar dean-yzg avatar dependabot[bot] avatar eltociear avatar fengzai6 avatar fred-bf avatar fredliang44 avatar fyl080801 avatar gan-xing avatar h0llyw00dzz avatar imldy avatar leedom92 avatar leo4life2 avatar mrrdrr avatar neet-nestor avatar parad1se98 avatar pbrambi avatar quark-zju avatar rubujam avatar rugermccarthy avatar sungaomeng avatar tscherrie avatar xiaotianxt avatar yancode avatar yidadaa avatar yorunning avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.