Landing page hero with TUI screen recording
This commit is contained in:
parent
3e8aa8f09f
commit
0b36c65b58
6 changed files with 128 additions and 48 deletions
BIN
docs/img/hero.mp4
Normal file
BIN
docs/img/hero.mp4
Normal file
Binary file not shown.
|
|
@ -1,47 +1,3 @@
|
|||
# haiku.rag
|
||||
|
||||
haiku.rag is an agentic RAG that runs locally and scales to production. Index PDFs, web pages, or whole directories. Ask questions and get cited answers. Build agents, skills, and MCP integrations on top.
|
||||
|
||||
haiku.rag is open-source first. The defaults run open models through [Ollama](https://ollama.com/) so the full pipeline works without external API keys. Any provider Pydantic AI supports works in its place.
|
||||
|
||||
Built on [LanceDB](https://lancedb.com/), [Pydantic AI](https://ai.pydantic.dev/), and [Docling](https://docling-project.github.io/docling/). Embedded database, no servers required.
|
||||
|
||||
## See it work
|
||||
|
||||
```bash
|
||||
uv pip install haiku.rag
|
||||
|
||||
ollama pull qwen3-embedding:4b
|
||||
ollama pull gpt-oss
|
||||
|
||||
haiku-rag init
|
||||
haiku-rag add-src ~/Documents/some-paper.pdf
|
||||
haiku-rag chat
|
||||
```
|
||||
|
||||
The chat TUI is one way to interact with the database. `haiku-rag ask` and `haiku-rag search` cover one-shot CLI usage. Python integrations, skills, and the MCP server work against the same database.
|
||||
|
||||
## What it does
|
||||
|
||||
**Ingest.** PDFs, DOCX, HTML, images, and 40+ formats via Docling. Add files, URLs, or whole directories. Monitor folders and reindex on change.
|
||||
|
||||
**Search.** Hybrid retrieval (vector + full-text with reciprocal rank fusion), optional cross-encoder reranking, structure-aware context expansion. Image-as-query and cross-modal retrieval when configured with a multimodal embedder.
|
||||
|
||||
**Answer.** RAG skill with citations including page numbers, section headings, and visual grounding. Vision-capable models receive figure bytes alongside chunk text. Analysis skill with a sandboxed Python interpreter for aggregation and computation across documents.
|
||||
|
||||
**Integrate.** Use it from Python, the CLI, the [MCP server](mcp.md), or as composable [skills](skills/index.md) built on haiku.skills. Skills bundle tools, prompts, and state for use inside any Pydantic AI agent.
|
||||
|
||||
**Operate.** Embedded LanceDB by default. Also runs on S3, GCS, Azure, or LanceDB Cloud. Time-travel queries via LanceDB versioning. File-monitoring mode for production deployments.
|
||||
|
||||
## Where to go next
|
||||
|
||||
- [Quickstart](tutorial.md): install, index, chat.
|
||||
- [Skills](skills/index.md): the rag and rag-analysis skills you compose into Pydantic AI agents.
|
||||
- [Python API](python.md): use haiku.rag from code.
|
||||
- [MCP server](mcp.md): expose haiku.rag to Claude Desktop or other AI assistants.
|
||||
- [Tuning](tuning.md): improve retrieval quality.
|
||||
- [Configuration](configuration/index.md): every setting.
|
||||
|
||||
## License
|
||||
|
||||
MIT. Source on [GitHub](https://github.com/ggozad/haiku.rag).
|
||||
---
|
||||
title: haiku.rag
|
||||
---
|
||||
|
|
|
|||
47
docs/overview.md
Normal file
47
docs/overview.md
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
# Overview
|
||||
|
||||
haiku.rag is an agentic RAG that runs locally and scales to production. Index PDFs, web pages, or whole directories. Ask questions and get cited answers. Build agents, skills, and MCP integrations on top.
|
||||
|
||||
haiku.rag is open-source first. The defaults run open models through [Ollama](https://ollama.com/) so the full pipeline works without external API keys. Any provider Pydantic AI supports works in its place.
|
||||
|
||||
Built on [LanceDB](https://lancedb.com/), [Pydantic AI](https://ai.pydantic.dev/), and [Docling](https://docling-project.github.io/docling/). Embedded database, no servers required.
|
||||
|
||||
## See it work
|
||||
|
||||
```bash
|
||||
uv pip install haiku.rag
|
||||
|
||||
ollama pull qwen3-embedding:4b
|
||||
ollama pull gpt-oss
|
||||
|
||||
haiku-rag init
|
||||
haiku-rag add-src ~/Documents/some-paper.pdf
|
||||
haiku-rag chat
|
||||
```
|
||||
|
||||
The chat TUI is one way to interact with the database. `haiku-rag ask` and `haiku-rag search` cover one-shot CLI usage. Python integrations, skills, and the MCP server work against the same database.
|
||||
|
||||
## What it does
|
||||
|
||||
**Ingest.** PDFs, DOCX, HTML, images, and 40+ formats via Docling. Add files, URLs, or whole directories. Monitor folders and reindex on change.
|
||||
|
||||
**Search.** Hybrid retrieval (vector + full-text with reciprocal rank fusion), optional cross-encoder reranking, structure-aware context expansion. Image-as-query and cross-modal retrieval when configured with a multimodal embedder.
|
||||
|
||||
**Answer.** RAG skill with citations including page numbers, section headings, and visual grounding. Vision-capable models receive figure bytes alongside chunk text. Analysis skill with a sandboxed Python interpreter for aggregation and computation across documents.
|
||||
|
||||
**Integrate.** Use it from Python, the CLI, the [MCP server](mcp.md), or as composable [skills](skills/index.md) built on haiku.skills. Skills bundle tools, prompts, and state for use inside any Pydantic AI agent.
|
||||
|
||||
**Operate.** Embedded LanceDB by default. Also runs on S3, GCS, Azure, or LanceDB Cloud. Time-travel queries via LanceDB versioning. File-monitoring mode for production deployments.
|
||||
|
||||
## Where to go next
|
||||
|
||||
- [Quickstart](tutorial.md): install, index, chat.
|
||||
- [Skills](skills/index.md): the rag and rag-analysis skills you compose into Pydantic AI agents.
|
||||
- [Python API](python.md): use haiku.rag from code.
|
||||
- [MCP server](mcp.md): expose haiku.rag to Claude Desktop or other AI assistants.
|
||||
- [Tuning](tuning.md): improve retrieval quality.
|
||||
- [Configuration](configuration/index.md): every setting.
|
||||
|
||||
## License
|
||||
|
||||
MIT. Source on [GitHub](https://github.com/ggozad/haiku.rag).
|
||||
|
|
@ -1 +1,53 @@
|
|||
/* haiku.rag site overrides */
|
||||
.haiku-rag-hero {
|
||||
padding: 2rem 0 2.5rem;
|
||||
}
|
||||
|
||||
.haiku-rag-hero__inner {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
gap: 2.5rem;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
@media (max-width: 60em) {
|
||||
.haiku-rag-hero__inner {
|
||||
grid-template-columns: 1fr;
|
||||
gap: 1.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
.haiku-rag-hero__title {
|
||||
font-family: var(--md-code-font, monospace);
|
||||
font-size: 4.5rem;
|
||||
font-weight: 700;
|
||||
line-height: 1;
|
||||
margin: 0 0 0.75rem;
|
||||
color: var(--md-primary-fg-color);
|
||||
letter-spacing: -0.02em;
|
||||
}
|
||||
|
||||
.haiku-rag-hero__tagline {
|
||||
font-size: 1.15rem;
|
||||
line-height: 1.5;
|
||||
color: var(--md-default-fg-color--light);
|
||||
margin: 0 0 1.5rem;
|
||||
}
|
||||
|
||||
.haiku-rag-hero__actions {
|
||||
display: flex;
|
||||
gap: 0.75rem;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.haiku-rag-hero__media img,
|
||||
.haiku-rag-hero__media video {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
border-radius: 0.5rem;
|
||||
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
|
||||
}
|
||||
|
||||
body:has(.haiku-rag-hero) .md-main {
|
||||
display: none;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,3 +9,27 @@
|
|||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:image" content="{{ config.site_url }}img/chat-qa.png">
|
||||
{% endblock %}
|
||||
|
||||
{% block hero %}
|
||||
{% if page.url == "" %}
|
||||
<section class="haiku-rag-hero">
|
||||
<div class="md-typeset md-grid">
|
||||
<div class="haiku-rag-hero__inner">
|
||||
<div class="haiku-rag-hero__text">
|
||||
<h1 class="haiku-rag-hero__title">haiku.rag</h1>
|
||||
<p class="haiku-rag-hero__tagline">Opinionated agentic RAG powered by <a href="https://lancedb.com/">LanceDB</a>, <a href="https://ai.pydantic.dev/">Pydantic AI</a>, and <a href="https://docling-project.github.io/docling/">Docling</a>. Runs locally, scales to production.</p>
|
||||
<div class="haiku-rag-hero__actions">
|
||||
<a class="md-button md-button--primary" href="tutorial/">Get started</a>
|
||||
<a class="md-button" href="overview/">Learn more</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="haiku-rag-hero__media">
|
||||
<video autoplay loop muted playsinline preload="auto" poster="img/chat-qa.png">
|
||||
<source src="img/hero.mp4" type="video/mp4">
|
||||
</video>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ extra_css = ["stylesheets/extra.css"]
|
|||
nav = [
|
||||
{ "Get started" = [
|
||||
"index.md",
|
||||
{ Overview = "overview.md" },
|
||||
{ Quickstart = "tutorial.md" },
|
||||
{ Installation = "installation.md" },
|
||||
] },
|
||||
|
|
|
|||
Loading…
Reference in a new issue