4 ms·
What is the architecture/tech-stack used in building this? I didn't find this info neither on github readme, nor on website. I like the fact that it is written
by foundzen 2y ago
What is the architecture/tech-stack used in building this? I didn't find this info neither on github readme, nor on website.
I like the fact that it is written in Go and small enough to skim over the weekend, but after repeatedly burning my time on dozens of llm ecosystem tools, I'm careful in choosing to even explore the code myself without seeing these basic disclosures upfront. I'm sure you'd see more people adopting your tool if you can provide a high-level overview of the project's architecture (ideally in a visual manner)
- Dontizi 2y agoHey! 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