An open API service indexing awesome lists of open source software.

https://github.com/maragudk/gai-starter-kit

Get started with LLMs, FTS and vector search, RAG, and more, in Go!
https://github.com/maragudk/gai-starter-kit

ai evals fts go llm rag sqlite vector-search

Last synced: 23 days ago
JSON representation

Get started with LLMs, FTS and vector search, RAG, and more, in Go!

Awesome Lists containing this project

README

          

# Get started with LLMs, FTS and vector search, RAG, and more, in Go!

[![Docs](https://pkg.go.dev/badge/github.com/maragudk/gai-starter-kit)](https://pkg.go.dev/github.com/maragudk/gai-starter-kit)
[![CI](https://github.com/maragudk/gai-starter-kit/actions/workflows/ci.yml/badge.svg)](https://github.com/maragudk/gai-starter-kit/actions/workflows/ci.yml)
[![CD](https://github.com/maragudk/gai-starter-kit/actions/workflows/cd.yml/badge.svg)](https://github.com/maragudk/gai-starter-kit/actions/workflows/cd.yml)

Made with ✨sparkles✨ by [maragu](https://www.maragu.dev/).

Does your company depend on this project? [Contact me at markus@maragu.dk](mailto:markus@maragu.dk?Subject=Supporting%20your%20project) to discuss options for a one-time or recurring invoice to ensure its continued thriving.

## Overview

This is a template application for developers interested in building Go web applications with:

- Large Language Models (LLMs) and foundation models integration
- Document search capabilities using both full-text search (BM25) and vector search (embeddings)
- A flexible architecture supporting RAG (Retrieval Augmented Generation) and tool use

Key features:
- Local database (SQLite) for document storage and retrieval
- Local LLM support (Llama 3) for text generation
- Local embeddings model (mxbai-embed-large-v1) for vector generation
- Document CRUD endpoints with automatic chunking
- Simple and extensible Go architecture

## Roadmap

- [x] Local SQLite database with full-text search (FTS5)
- [x] Local LLM integration (Llama 3)
- [x] Local embeddings model (mxbai-embed-large-v1)
- [x] Document CRUD API with automatic chunking
- [x] Vector search implementation
- [ ] Prompt endpoint with LLM tool use capabilities
- [ ] RAG implementation for improved LLM responses
- [ ] Advanced chunking strategies
- [ ] Multi-model support

## Evals

![Evals](https://api.evals.fun/evals.svg?key=p_public_key_26be8b61563b23aef30fa88bc44b0686&branch=main)