Skip to content

Commit

Permalink
Update readme links (#18)
Browse files Browse the repository at this point in the history
* docs: Update readme

* docs: Minor docs update

* docs: Restructure readme

* docs: Minor readme adjustment

* docs: Update badges

* docs: Add pages badge

* docs: Add pages badge

* docs: Add pages badge

* docs: Update banner size

* docs: Update banner size

* docs: Add more links

* docs: Fix heading

* api: Remove flask cors requirement

CVE-2024-6221
Refs: https://scout.docker.com/vulnerabilities/id/CVE-2024-6221/org/griesel?s=pypa&n=flask-cors
  • Loading branch information
TilmanGriesel authored Jan 2, 2025
1 parent ddc26f5 commit 4abb690
Show file tree
Hide file tree
Showing 8 changed files with 33 additions and 121 deletions.
81 changes: 26 additions & 55 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,16 @@
<p align="center"><img src="https://raw.githubusercontent.com/TilmanGriesel/chipper/refs/heads/main/docs/public/assets/banner.png" width="480" alt="Logo Chipper RAG Util"/></p>

<p align="center"><img src="https://raw.githubusercontent.com/TilmanGriesel/chipper/refs/heads/main/docs/public/assets/banner.png" width="640" alt="Logo Chipper RAG Util"/></p>
<p align="center">
<a href="https://github.com/TilmanGriesel/chipper/actions"><img src="https://img.shields.io/github/actions/workflow/status/TilmanGriesel/chipper/.github%2Fworkflows%2Fpublish-docker.yml?colorA=1F2229&colorB=5c5e70&style=for-the-badge&label=DockerHub"></a>
<a href="https://github.com/tilmangriesel/chipper/stargazers"><img src="https://img.shields.io/github/stars/tilmangriesel/chipper?colorA=1F2229&colorB=5c5e70&style=for-the-badge"></a>
<a href="https://github.com/tilmangriesel/chipper/issues"><img src="https://img.shields.io/github/issues/tilmangriesel/chipper?colorA=1F2229&colorB=5c5e70&style=for-the-badge"></a>
<a href="https://hub.docker.com/repository/docker/griesel/chipper"><img src="https://img.shields.io/docker/pulls/griesel/chipper?colorA=1F2229&colorB=5c5e70&style=for-the-badge"></a>
<a href="https://chipper.tilmangriesel.com/"><img src="https://img.shields.io/github/actions/workflow/status/TilmanGriesel/chipper/.github%2Fworkflows%2Fdocs-deploy.yml?colorA=1F2229&colorB=ffffff&style=for-the-badge&label=GitHub Pages"></a>
<a href="https://github.com/TilmanGriesel/chipper/actions"><img src="https://img.shields.io/github/actions/workflow/status/TilmanGriesel/chipper/.github%2Fworkflows%2Fpublish-docker.yml?colorA=1F2229&colorB=ffffff&style=for-the-badge&label=DockerHub"></a>
<a href="https://github.com/tilmangriesel/chipper/stargazers"><img src="https://img.shields.io/github/stars/tilmangriesel/chipper?colorA=1F2229&colorB=ffffff&style=for-the-badge"></a>
<a href="https://github.com/tilmangriesel/chipper/issues"><img src="https://img.shields.io/github/issues/tilmangriesel/chipper?colorA=1F2229&colorB=ffffff&style=for-the-badge"></a><a href="https://hub.docker.com/repository/docker/griesel/chipper"><img src="https://img.shields.io/docker/pulls/griesel/chipper?colorA=1F2229&colorB=ffffff&style=for-the-badge"></a>
</p>

**Chipper** gives you a web interface, CLI, and a hackable, simple architecture for embedding pipelines, document chunking, web scraping, and query workflows. Built with **Haystack**, **Ollama**, **Docker**, **Tailwind**, and **ElasticSearch**, it runs locally or scales as a Dockerized service.

This project started as a way to help my girlfriend with her new book. The idea was to use local RAG and LLMs to ask questions about characters and explore creative possibilities, all without sharing proprietary details or your own book with cloud services like ChatGPT. What began as a bunch of scripts is now growing into a fully dockerized service architecture.

**Quick note:** This is just a research project, so it's not built for production.

If you like what you see, leaving a star would be sweet and will help more people discover Chipper!

<p align="center"><img src="https://raw.githubusercontent.com/TilmanGriesel/chipper/refs/heads/main/docs/public/assets/chipper_demo_01.gif"alt="Chipper RAG Util Demo Browser"/></p>
If you **like what you see, leaving a star would be sweet** and will help more people discover Chipper!

## Features

Expand All @@ -28,45 +23,9 @@ If you like what you see, leaving a star would be sweet and will help more peopl

## Installation and Setup

**Note:** This part of the documentation is not completed yet. Use the **run.sh** to set up and run Chipper. Invoke without arguments to see the available options.

1. **Prerequisites**

- Docker and Docker Compose installed on your system.

1. **Quick Start**

1. Run Chipper Services

- `./run.sh up`

1. Import Testdata

- `./run.sh embed-testdata`

1. Test Embeddings
1 `./run.sh browser` or visit: http://localhost:21200
1. Ask Chipper: `Tell me a story about Chipper, the brilliant golden retriever.`

1. **Default Docker Setup:**
Visit the [Chipper project website](https://chipper.tilmangriesel.com/) for detailed setup instructions.

- In the `docker` directory, you will find a default `docker-compose.yml` file.
- For customization, create a `docker-compose.user.yml` file in the same directory. This custom file will automatically be used by the `run.sh` if it exists.

1. **Environment Configuration:**

- Each service uses a `.env` file by default.
- For personalized settings, create a `user_files` folder in the `docker` directory and place your custom configurations there. (Note: The `user_files` directory is in `.gitignore`.)

1. Available Services
- **API and WEB:**
- Located in the `services` directory.
- **Tools:**
- Found in the `tools` directory, these include helpful utilities like scraper, embedder, cli chat tools.
- **CLI Chat**
The CLI chat allows terminal-based interaction with Chipper but is less maintained than the web interface. Currently, it does not support chunk streaming.

<p align="center"><img src="https://raw.githubusercontent.com/TilmanGriesel/chipper/refs/heads/main/docs/public/assets/chipper_setup_demo_01.gif"alt="Chipper RAG Util Demo Setup"/></p>
**Note:** This is just a research project, so it's not built for production.

## Philosophy

Expand All @@ -76,25 +35,37 @@ This project wants to be more than just a technical foundation, for educators, i

Feel free to improve, fork, copy, share or expand this project. Contributions are always very welcome!

## Demo

<p align="center"><img src="https://raw.githubusercontent.com/TilmanGriesel/chipper/refs/heads/main/docs/public/assets/chipper_demo_01.gif"alt="Chipper RAG Util Demo Browser"/></p>

## Roadmap

- [x] Basic functionality
- [x] CLI
- [x] Web UI
- [x] Docker
- [x] Improved Web UI with better mobile support
- [ ] Improve linting and formatting
- [x] Improve linting and formatting
- [ ] React based web app
- [ ] CI test
- [x] Docker Hub registry images
- [ ] Smart document chunking and embedding

## Links
---

- https://hub.docker.com/repository/docker/griesel/chipper
## Special Thanks

---
A huge shoutout and heartfelt thanks to all the incredible projects that make Chipper possible:

## CLI Demo
- [Haystack](https://haystack.deepset.ai/) for providing the foundation for embedding and retrieval.
- [Ollama](https://ollama.com/) for their amazing models and project.
- [Elastic](https://www.elastic.com) and [Elasticvue](https://elasticvue.com/) for powering fast and efficient data retrieval.
- [Docker](https://docker.com) for simplifying deployment and making setup a breeze.
- [VitePress](https://vitepress.dev/), just the most lovely static site generator.

These projects are the backbone of Chipper, and their contributions inspire endless possibilities.

---

<p align="center"><img src="https://raw.githubusercontent.com/TilmanGriesel/chipper/refs/heads/main/docs/public/assets/demo_cli_01.gif"alt="Chipper RAG Util Demo CLI"/></p>
Be sure to visit the [Chipper project website](https://chipper.tilmangriesel.com/) for detailed setup instructions and more information.
3 changes: 2 additions & 1 deletion docs/.vitepress/config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@ export default defineConfig({
nav: [
{ text: 'Home', link: '/' },
{ text: 'Get Started', link: '/get-started' },
{ text: 'Demo', link: '/demo' }
{ text: 'Demo', link: '/demo' },
{ text: 'Docker Hub', link: 'https://hub.docker.com/repository/docker/griesel/chipper' }
],
socialLinks: [
{ icon: 'github', link: 'https://github.com/TilmanGriesel/chipper' }
Expand Down
59 changes: 0 additions & 59 deletions docs/get-started - Copy.md

This file was deleted.

4 changes: 2 additions & 2 deletions docs/get-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ Alright, let’s get you set up! There’s one key requirement: [Docker](https:/

Secondly, you’ll need Git, a version control tool that’s also the inspiration behind GitHub’s name. If you don’t already have Git installed, no worries:

- [this guide will help you get started](https://docs.github.com/en/get-started/getting-started-with-git).
- [This guide will help you get started](https://docs.github.com/en/get-started/getting-started-with-git)

## Step 2 - Project Setup

Expand Down Expand Up @@ -122,7 +122,7 @@ You can set the index using the `--es-index <name>` parameter, specify the embed
./tools/embed/run.sh --help
```

### Step 5 - Where to go from here?
## Step 5 - Where to go from here?

First off, if you’ve made it this far, let me unravel the mystery behind why Chipper is called Chipper the Golden Retriever. For starters, I adore golden retrievers! But there’s more to it: they love to "chip" wood, just like we need to split and chip the data we want to embed. And as for "retriever", - well ...

Expand Down
3 changes: 3 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ hero:
- theme: alt
text: Demo
link: /demo
- theme: alt
text: GitHub
link: https://github.com/TilmanGriesel/chipper

features:
- title: Prepare
Expand Down
1 change: 0 additions & 1 deletion services/api/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,5 @@ ollama-haystack
elasticsearch-haystack
flask
flask_limiter
flask_cors
python-dotenv
gunicorn
2 changes: 0 additions & 2 deletions services/api/src/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,13 @@
from core.query import QueryPipelineConfig, RAGQueryPipeline
from dotenv import load_dotenv
from flask import Flask, Response, abort, jsonify, request, stream_with_context
from flask_cors import CORS
from flask_limiter import Limiter
from flask_limiter.util import get_remote_address
from werkzeug.middleware.proxy_fix import ProxyFix

load_dotenv()

app = Flask(__name__)
CORS(app)
app.wsgi_app = ProxyFix(app.wsgi_app)

logging.basicConfig(level=logging.INFO)
Expand Down
1 change: 0 additions & 1 deletion services/web/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
flask
flask_limiter
flask_cors
python-dotenv
requests
gunicorn

0 comments on commit 4abb690

Please sign in to comment.