mirror of
https://github.com/katanemo/plano.git
synced 2026-05-15 11:02:39 +02:00
Salmanap/chrome extension routing (#511)
* first commit of the chatGPT selector * stashing changes as checkpoint * pending changes for chrome extension * commiting a working version * converting conversation into messages object * working version of the extension * working version with fixed styling and better tested * fixed the issue that the drop down was too small, and fixed the issue where the route was not displayed on the screen * updating folder with README.md * fixes for default model, and to update the manifest.json file * made changes to the dark mode. improved styles * fix installation bug * added dark mode * fixed default model selection * fixed the scrolling issue * Update README.md * updated content.js to update the labels even when default model * fixed readme * upddated the title of the packag * removing the unnecessary permissions --------- Co-authored-by: Salman Paracha <salmanparacha@MacBook-Pro-329.local> Co-authored-by: cotran <cotran2@utexas.edu> Co-authored-by: Shuguang Chen <54548843+nehcgs@users.noreply.github.com>
This commit is contained in:
parent
5fb7ce576c
commit
c0748718f1
17 changed files with 19806 additions and 0 deletions
116
demos/use_cases/chatgpt-preference-model-selector/README.md
Normal file
116
demos/use_cases/chatgpt-preference-model-selector/README.md
Normal file
|
|
@ -0,0 +1,116 @@
|
|||
# 🗝️ RouteGPT (Beta)
|
||||
|
||||
**RouteGPT** is a dynamic model selector Chrome extension for ChatGPT. It intercepts your prompts, detects the user's intent, and automatically routes requests to the most appropriate model — based on preferences you define. Powered by the lightweight [Arch-Router](https://huggingface.co/katanemo/Arch-Router-1.5B.gguf), it makes multi-model usage seamless.
|
||||
|
||||
Think of it this way: changing models manually is like shifting gears on your bike every few pedals. RouteGPT automates that for you — so you can focus on the ride, not the mechanics.
|
||||
|
||||
---
|
||||
|
||||
## 📁 Project Name
|
||||
|
||||
Folder: `chatgpt-preference-model-selector`
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Features
|
||||
|
||||
* 🧠 Preference-based routing (e.g., "code generation" → GPT-4, "travel help" → Gemini)
|
||||
* 🤖 Local inference using [Ollama](https://ollama.com)
|
||||
* 📙 Chrome extension interface for setting route preferences
|
||||
* ⚡ Runs with [Arch-Router-1.5B.gguf](https://huggingface.co/katanemo/Arch-Router-1.5B.gguf)
|
||||
|
||||
---
|
||||
|
||||
## 📦 Installation
|
||||
|
||||
### 1. Clone and install dependencies
|
||||
|
||||
```
|
||||
git clone https://github.com/katanemo/archgw/
|
||||
cd demos/use_cases/chatgpt-preference-model-selector
|
||||
```
|
||||
|
||||
### 2. Build the extension
|
||||
|
||||
```
|
||||
npm install
|
||||
npm run build
|
||||
```
|
||||
|
||||
This will create a `build/` directory that contains the unpacked Chrome extension.
|
||||
|
||||
---
|
||||
|
||||
## 🧠 Set Up Arch-Router in Ollama
|
||||
|
||||
Ensure [Ollama](https://ollama.com/download) is installed and running.
|
||||
|
||||
Then pull the Arch-Router model:
|
||||
|
||||
```
|
||||
ollama pull hf.co/katanemo/Arch-Router-1.5B.gguf:Q4_K_M
|
||||
```
|
||||
|
||||
### 🌐 Allow Chrome to Access Ollama
|
||||
|
||||
Start Ollama with appropriate network settings:
|
||||
|
||||
```
|
||||
OLLAMA_ORIGINS=* ollama serve
|
||||
```
|
||||
|
||||
This:
|
||||
* Sets CORS to allow requests from Chrome
|
||||
|
||||
---
|
||||
|
||||
## 📩 Load the Extension into Chrome
|
||||
|
||||
1. Open `chrome://extensions`
|
||||
2. Enable **Developer mode** (top-right toggle)
|
||||
3. Click **"Load unpacked"**
|
||||
4. Select the `build` folder inside `chatgpt-preference-model-selector`
|
||||
|
||||
Once loaded, RouteGPT will begin intercepting and routing your ChatGPT messages based on the preferences you define.
|
||||
|
||||
---
|
||||
|
||||
## ⚙️ Configure Routing Preferences
|
||||
|
||||
1. In ChatGPT, click the model dropdown.
|
||||
2. A RouteGPT modal will appear.
|
||||
3. Define your routing logic using natural language (e.g., `brainstorm startup ideas → gpt-4`, `summarize news articles → claude`).
|
||||
4. Save your preferences. Routing begins immediately.
|
||||
|
||||
---
|
||||
|
||||
## 💸 Profit
|
||||
|
||||
RouteGPT helps you:
|
||||
|
||||
* Use expensive models only when needed
|
||||
* Automatically shift to cheaper, faster, or more capable models based on task type
|
||||
* Streamline multi-model workflows without extra clicks
|
||||
|
||||
---
|
||||
|
||||
## 🧪 Troubleshooting
|
||||
|
||||
* Make sure Ollama is reachable at `http://localhost:11434`
|
||||
* If routing doesn’t seem to trigger, check DevTools console logs for `[ModelSelector]`
|
||||
* Reload the extension and refresh the ChatGPT tab after updating preferences
|
||||
|
||||
---
|
||||
|
||||
## 🧱 Built With
|
||||
|
||||
* 🧠 [Arch-Router (1.5B)](https://huggingface.co/katanemo/Arch-Router-1.5B.gguf)
|
||||
* 📙 Chrome Extensions API
|
||||
* 🛠️ Ollama
|
||||
* ⚛️ React + TypeScript
|
||||
|
||||
---
|
||||
|
||||
## 📜 License
|
||||
|
||||
Apache 2.0 © Katanemo Labs, Inc.
|
||||
Loading…
Add table
Add a link
Reference in a new issue