3 ms·
Hey! Yes, that's something I was planning to do—a complete documentation on the code, its architecture, and the entire stack to allow others to develop alongsid
by Dontizi 2y ago
Hey! Yes, that's something I was planning to do—a complete documentation on the code, its architecture, and the entire stack to allow others to develop alongside me. I just deployed a functional version, and soon, the website will have documentation with its architecture and a visualization of the entire code.
but for now here is the stack used:
Core Language: Go (chosen for performance, cross-platform compatibility, and single binary distribution)
CLI Framework: Cobra (for command-line interface structure)
LLM Integration: Ollama API (for embeddings and completions)
Storage: Local filesystem-based storage (JSON files for simplicity and portability)
Vector Search: Custom implementation of cosine similarity for embedding retrieval
- dcreater 2y agoWhy not use an established open source vector db like pg_vector etc? I imagine your implementation is not going to be as performant
- Xiol32 2y agoDefeats the point of the single binary installation if you have to set up dependencies.
- andai 2y agorlama requires a python install (and several dependencies via pip) to extract text. https://github.com/DonTizi/rlama/blob/main/internal/service/document_loader.go#L448 https://github.com/DonTizi/rlama/blob/main/internal/service/...
- mentalgear 2y agoI recommend using this hybrid vector/full text search engine that works across many runtimes: https://github.com/oramasearch/orama https://github.com/oramasearch/orama
- PhilippGille 2y agoHi, if you want to keep using a Go embedded/in-process vector store, but with some additional features, you can check out my project https://github.com/philippgille/chromem-go https://github.com/philippgille/chromem-go