Update examples section
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
# Local Chat With Websites
|
||||
|
||||
Welcome to the Local Web Chatbot! This is a direct fork of [Jacob Lee' fully local PDF chatbot](https://github.com/jacoblee93/fully-local-pdf-chatbot) replacing the chat with PDF functionality with chat with website support powered by [Firecrawl](https://www.firecrawl.dev/). It is a simple chatbot that allows you to ask questions about a website by embedding it and running queries against the vector store using a local LLM and embeddings.
|
||||
|
||||
## 🦙 Ollama
|
||||
|
||||
You can run more powerful, general models outside the browser using [Ollama's desktop app](https://ollama.ai). Users will need to download and set up then run the following commands to allow the site access to a locally running Mistral instance:
|
||||
|
||||
### Mac/Linux
|
||||
|
||||
```bash
|
||||
$ OLLAMA_ORIGINS=https://webml-demo.vercel.app OLLAMA_HOST=127.0.0.1:11435 ollama serve
|
||||
```
|
||||
|
||||
Then, in another terminal window:
|
||||
|
||||
```bash
|
||||
$ OLLAMA_HOST=127.0.0.1:11435 ollama pull mistral
|
||||
```
|
||||
|
||||
### Windows
|
||||
|
||||
```cmd
|
||||
$ set OLLAMA_ORIGINS=https://webml-demo.vercel.app
|
||||
set OLLAMA_HOST=127.0.0.1:11435
|
||||
ollama serve
|
||||
```
|
||||
|
||||
Then, in another terminal window:
|
||||
|
||||
```cmd
|
||||
$ set OLLAMA_HOST=127.0.0.1:11435
|
||||
ollama pull mistral
|
||||
```
|
||||
|
||||
## 🔥 Firecrawl
|
||||
|
||||
Additionally, you will need a Firecrawl API key for website embedding. Signing up for [Firecrawl](https://www.firecrawl.dev/) is easy and you get 500 credits free. Enter your API key into the box below the URL in the embedding form.
|
||||
|
||||
## ⚡ Stack
|
||||
|
||||
It uses the following:
|
||||
|
||||
- [Voy](https://github.com/tantaraio/voy) as the vector store, fully WASM in the browser.
|
||||
- [Ollama](https://ollama.ai/).
|
||||
- [LangChain.js](https://js.langchain.com) to call the models, perform retrieval, and generally orchestrate all the pieces.
|
||||
- [Transformers.js](https://huggingface.co/docs/transformers.js/index) to run open source [Nomic](https://www.nomic.ai/) embeddings in the browser.
|
||||
- For higher-quality embeddings, switch to `"nomic-ai/nomic-embed-text-v1"` in `app/worker.ts`.
|
||||
- [Firecrawl](https://www.firecrawl.dev/) to scrape the webpages and deliver them in markdown format.
|
||||
|
||||
## 🔱 Forking
|
||||
|
||||
To run/deploy this yourself, simply fork this repo and install the required dependencies with `yarn`.
|
||||
|
||||
There are no required environment variables, but you can optionally set up [LangSmith tracing](https://smith.langchain.com/) while developing locally to help debug the prompts and the chain. Copy the `.env.example` file into a `.env.local` file:
|
||||
|
||||
```ini
|
||||
# No environment variables required!
|
||||
|
||||
# LangSmith tracing from the web worker.
|
||||
# WARNING: FOR DEVELOPMENT ONLY. DO NOT DEPLOY A LIVE VERSION WITH THESE
|
||||
# VARIABLES SET AS YOU WILL LEAK YOUR LANGCHAIN API KEY.
|
||||
NEXT_PUBLIC_LANGCHAIN_TRACING_V2="true"
|
||||
NEXT_PUBLIC_LANGCHAIN_API_KEY=
|
||||
NEXT_PUBLIC_LANGCHAIN_PROJECT=
|
||||
```
|
||||
|
||||
Just make sure you don't set this in production, as your LangChain API key will be public on the frontend!
|
||||
|
||||
## 🙏 Thank you!
|
||||
|
||||
Huge thanks to Jacob Lee and the other contributors of the repo for making this happen! Be sure to give him a follow on Twitter [@Hacubu](https://x.com/hacubu)!
|
||||
Reference in New Issue
Block a user