mirror of
https://github.com/run-llama/study-llama.git
synced 2026-06-30 21:07:53 -04:00
docs: readme
This commit is contained in:
+2
-1
@@ -11,4 +11,5 @@ wheels/
|
||||
.env
|
||||
|
||||
# Caches
|
||||
*cache/
|
||||
*cache/
|
||||
workflows.db
|
||||
@@ -1,3 +1,51 @@
|
||||
# Study-Llama
|
||||
|
||||
LlamaAgents demo with LlamaClassify and LlamaExtract to categorize study notes, extract information from them and perform some basic retrieval (with metadata filtering) over the extracted info.
|
||||
Study-Llama is a demo application for organizing, extracting, and searching study notes using LlamaAgents, LlamaClassify, and LlamaExtract. It features a Go-based web frontend and a Python backend for advanced note processing.
|
||||
|
||||
## Overview
|
||||
|
||||
- **Frontend (Go):**
|
||||
Serves the web interface, handles user authentication, file uploads, and search requests. Renders pages using HTML templates and manages static assets.
|
||||
- **Backend (Python):**
|
||||
Provides APIs for classifying notes, extracting information, storing/retrieving data, and performing metadata-filtered vector searches. Handles database operations and vector search.
|
||||
|
||||
## How It Works
|
||||
|
||||
1. **User Interaction:**
|
||||
Users access the web UI to sign in, create categories for their study notes, upload notes, and search among them.
|
||||
|
||||
2. **Frontend-to-Backend Communication:**
|
||||
The Go server receives requests from the UI and communicates with the Python backend via HTTP API calls.
|
||||
- For example, when a user uploads a note, the frontend sends the file and metadata to the backend for processing.
|
||||
- Search queries are also forwarded to the python backend for vector search.
|
||||
|
||||
3. **Backend Processing:**
|
||||
The Python backend (deployed on LlamaCloud as a LlamaAgent) handles:
|
||||
- **Classification & Extraction:**
|
||||
Uses workflows in `classify_and_extract/workflow.py` to classify notes (with LlamaClassify) and extract structured information (with LlamaExtract).
|
||||
- **Database Operations:**
|
||||
- **Files:**
|
||||
Uploaded files and their metadata (name, category, owner) are stored.
|
||||
- **Classification Rules:**
|
||||
Custom rules for categorizing notes are stored and retrieved from the database.
|
||||
- **Vector Search:**
|
||||
Extracted summaries and FAQs are indexed for semantic search and retrieval.
|
||||
|
||||
## Features
|
||||
|
||||
- Upload and categorize study notes.
|
||||
- Extract structured information from notes.
|
||||
- Search notes with metadata filters.
|
||||
- User authentication and access control.
|
||||
- Modern web UI with Go templates.
|
||||
|
||||
## Project Structure
|
||||
|
||||
- **frontend/**
|
||||
- `main.go`: Web server entry point.
|
||||
- `handlers/`: HTTP request handlers.
|
||||
- `auth/`, `files/`, `rules/`: Business logic and DB operations.
|
||||
- `static/`: Images and assets.
|
||||
- `templates/`: HTML templates.
|
||||
- **src/**
|
||||
- `study_llama/`: Python backend modules for classification, extraction, search, and database logic.
|
||||
+4
-1
@@ -33,4 +33,7 @@ build-fe: install-deps-fe
|
||||
GOARCH=arm64 GOOS=darwin go build -o ${BIN}/${BIN_NAME}-darwin-arm64 ${MAIN_PKG}
|
||||
|
||||
clean-build-fe:
|
||||
@rm -rf ${BIN}
|
||||
@rm -rf ${BIN}
|
||||
|
||||
run-fe:
|
||||
go run main.go
|
||||
Binary file not shown.
Reference in New Issue
Block a user