Text Generation
Transformers
edge-impulse
rag
retrieval-augmented-generation
faiss
qwen
documentation
tinyml
edge-ai
Instructions to use edgeimpulse/edgeimpulse-docs-rag with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use edgeimpulse/edgeimpulse-docs-rag with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="edgeimpulse/edgeimpulse-docs-rag")# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("edgeimpulse/edgeimpulse-docs-rag", dtype="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use edgeimpulse/edgeimpulse-docs-rag with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "edgeimpulse/edgeimpulse-docs-rag" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "edgeimpulse/edgeimpulse-docs-rag", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/edgeimpulse/edgeimpulse-docs-rag
- SGLang
How to use edgeimpulse/edgeimpulse-docs-rag with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "edgeimpulse/edgeimpulse-docs-rag" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "edgeimpulse/edgeimpulse-docs-rag", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "edgeimpulse/edgeimpulse-docs-rag" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "edgeimpulse/edgeimpulse-docs-rag", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use edgeimpulse/edgeimpulse-docs-rag with Docker Model Runner:
docker model run hf.co/edgeimpulse/edgeimpulse-docs-rag
| license: apache-2.0 | |
| base_model: edgeimpulse/edgeimpulse-docs-qwen-0.5b | |
| pipeline_tag: text-generation | |
| library_name: transformers | |
| tags: | |
| - edge-impulse | |
| - rag | |
| - retrieval-augmented-generation | |
| - faiss | |
| - qwen | |
| - documentation | |
| - tinyml | |
| - edge-ai | |
| # Edge Impulse Docs — RAG Assistant | |
| A retrieval-augmented assistant for the [Edge Impulse](https://edgeimpulse.com) | |
| documentation. It grounds every answer in a prebuilt vector index of the docs and | |
| generates with the small quantized model | |
| [`edgeimpulse/edgeimpulse-docs-qwen-0.5b`](https://huggingface.co/edgeimpulse/edgeimpulse-docs-qwen-0.5b), | |
| so it runs comfortably on a laptop. | |
| - **Retrieval:** FAISS (inner-product) over `data/index`, embedded with | |
| `sentence-transformers/all-MiniLM-L6-v2` (384-dim, the same model the index was | |
| built with). | |
| - **Generation:** the 0.5B GGUF, served through any OpenAI-compatible endpoint | |
| (llama.cpp `llama-server` or Ollama). No training stack required. | |
| - **Grounded + cited:** answers are constrained to the retrieved context and each | |
| response lists its source documents. | |
| This repo ships only what you need to **run** the assistant — the prebuilt index | |
| and the inference code. The raw document corpus and the index-building pipeline | |
| are not included. | |
| ## Contents | |
| | File | Purpose | | |
| | --- | --- | | |
| | `data/index/edge_impulse_docs.faiss` | FAISS inner-product index of the docs | | |
| | `data/index/chunks.pkl` | Chunk text + source metadata (aligned to the index) | | |
| | `data/index/metadata.json` | Embedding model + index parameters | | |
| | `rag.py` | Retrieval + grounded generation (CLI + importable) | | |
| | `serve.py` | Minimal Flask HTTP API (`POST /ask`) | | |
| | `requirements.txt` | Runtime dependencies | | |
| ## Quickstart | |
| **1. Install dependencies and download this repo** | |
| ```bash | |
| pip install -r requirements.txt | |
| hf download edgeimpulse/edgeimpulse-docs-rag --local-dir edgeimpulse-docs-rag | |
| cd edgeimpulse-docs-rag | |
| ``` | |
| **2. Start the generator** (pick one) | |
| llama.cpp: | |
| ```bash | |
| hf download edgeimpulse/edgeimpulse-docs-qwen-0.5b qwen-edgeai-q4_k_m.gguf --local-dir . | |
| llama-server -m qwen-edgeai-q4_k_m.gguf -c 4096 --port 8080 --jinja | |
| ``` | |
| Ollama: | |
| ```bash | |
| ollama run hf.co/edgeimpulse/edgeimpulse-docs-qwen-0.5b | |
| # then point rag.py at Ollama's OpenAI-compatible port: | |
| export RAG_API_BASE=http://127.0.0.1:11434/v1 | |
| export RAG_MODEL=hf.co/edgeimpulse/edgeimpulse-docs-qwen-0.5b | |
| ``` | |
| **3. Ask a question** | |
| ```bash | |
| python rag.py "How do I deploy a model to run on a Linux target as an .eim file?" | |
| ``` | |
| Only see what was retrieved (no generation): | |
| ```bash | |
| python rag.py "How do I create an API key?" --no-generate | |
| ``` | |
| Serve it over HTTP: | |
| ```bash | |
| python serve.py --host 0.0.0.0 --port 8000 | |
| curl -s localhost:8000/ask -H 'content-type: application/json' \ | |
| -d '{"question": "What is the data forwarder?"}' | |
| ``` | |
| ## Configuration | |
| `rag.py` reads these environment variables (all optional): | |
| | Variable | Default | Meaning | | |
| | --- | --- | --- | | |
| | `RAG_INDEX_DIR` | `data/index` | Location of the FAISS index + chunks | | |
| | `RAG_API_BASE` | `http://127.0.0.1:8080/v1` | OpenAI-compatible generation endpoint | | |
| | `RAG_MODEL` | `edgeimpulse/edgeimpulse-docs-qwen-0.5b` | Model name passed to the endpoint | | |
| ## How it works | |
| ``` | |
| question ──▶ MiniLM embed ──▶ FAISS top-k ──▶ context + question | |
| │ | |
| â–¼ | |
| edgeimpulse-docs-qwen-0.5b (llama.cpp / Ollama) | |
| │ | |
| â–¼ | |
| grounded answer + cited sources | |
| ``` | |
| The generator is a small model, so retrieval quality matters: the assistant is | |
| most accurate when the right chunk is retrieved, and it may be terse or repeat | |
| itself on out-of-scope questions. Sampling defaults (`temperature 0.3`, | |
| `repeat_penalty 1.2`) are tuned to keep it from looping. | |
| ## Related | |
| - Generator model: [`edgeimpulse/edgeimpulse-docs-qwen-0.5b`](https://huggingface.co/edgeimpulse/edgeimpulse-docs-qwen-0.5b) | |
| - API-scoped variant: [`edgeimpulse/edgeimpulse-api-docs-rag`](https://huggingface.co/edgeimpulse/edgeimpulse-api-docs-rag) | |
| ## License | |
| Apache-2.0. Documentation content belongs to Edge Impulse. | |