├── .cursor └── mcp.json ├── .env.example ├── .gitignore ├── .vscode └── mcp.json ├── LICENSE ├── README.md ├── assets ├── optim-rag-demo.mp4 ├── optim-rag-ico.png └── optim-rag.png ├── backend ├── .dockerignore ├── .env.example ├── .python-version ├── Dockerfile ├── README.md ├── __init__.py ├── chat_clients │ ├── __init__.py │ └── openai_client.py ├── main.py ├── mcp_server.py ├── models │ ├── __init__.py │ └── schema.py ├── pyproject.toml ├── routers │ ├── __init__.py │ ├── chat_router.py │ ├── editor_router.py │ └── session_router.py ├── utils │ ├── __init__.py │ ├── chunking.py │ ├── pdf_ocr.py │ └── qdrant_setup.py └── uv.lock ├── docker-compose.yaml └── frontend ├── .dockerignore ├── .env.example ├── .eslintrc.json ├── .gitignore ├── Dockerfile ├── README.md ├── app ├── chat │ ├── loading.tsx │ └── page.tsx ├── favicon.ico ├── fonts │ ├── GeistMonoVF.woff │ └── GeistVF.woff ├── globals.css ├── layout.tsx └── page.tsx ├── assets └── optim-rag.png ├── components.json ├── components ├── add-chunk-dialog.tsx ├── chunk-list.tsx ├── chunk-status-indicator.tsx ├── commit-changes-dialog.tsx ├── file-upload-dialog.tsx ├── markdown-editor.tsx ├── markdown-renderer.tsx └── ui │ ├── avatar.tsx │ ├── badge.tsx │ ├── button.tsx │ ├── card.tsx │ ├── collapsible.tsx │ ├── dialog.tsx │ ├── input.tsx │ ├── label.tsx │ ├── radio-group.tsx │ ├── scroll-area.tsx │ ├── select.tsx │ ├── textarea.tsx │ ├── toast.tsx │ └── toaster.tsx ├── hooks └── use-toast.ts ├── lib ├── api-session.ts ├── api.ts ├── chunk-transform.ts ├── chunk-utils.ts └── utils.ts ├── next.config.mjs ├── package-lock.json ├── package.json ├── postcss.config.mjs ├── tailwind.config.ts ├── tsconfig.json └── types └── chunk.ts /.cursor/mcp.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/.cursor/mcp.json -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/.env.example -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/.gitignore -------------------------------------------------------------------------------- /.vscode/mcp.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/.vscode/mcp.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/README.md -------------------------------------------------------------------------------- /assets/optim-rag-demo.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/assets/optim-rag-demo.mp4 -------------------------------------------------------------------------------- /assets/optim-rag-ico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/assets/optim-rag-ico.png -------------------------------------------------------------------------------- /assets/optim-rag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/assets/optim-rag.png -------------------------------------------------------------------------------- /backend/.dockerignore: -------------------------------------------------------------------------------- 1 | **/__pycache__ 2 | .venv -------------------------------------------------------------------------------- /backend/.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/backend/.env.example -------------------------------------------------------------------------------- /backend/.python-version: -------------------------------------------------------------------------------- 1 | 3.13 2 | -------------------------------------------------------------------------------- /backend/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/backend/Dockerfile -------------------------------------------------------------------------------- /backend/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/chat_clients/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/chat_clients/openai_client.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/backend/chat_clients/openai_client.py -------------------------------------------------------------------------------- /backend/main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/backend/main.py -------------------------------------------------------------------------------- /backend/mcp_server.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/backend/mcp_server.py -------------------------------------------------------------------------------- /backend/models/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/models/schema.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/backend/models/schema.py -------------------------------------------------------------------------------- /backend/pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/backend/pyproject.toml -------------------------------------------------------------------------------- /backend/routers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/routers/chat_router.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/backend/routers/chat_router.py -------------------------------------------------------------------------------- /backend/routers/editor_router.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/backend/routers/editor_router.py -------------------------------------------------------------------------------- /backend/routers/session_router.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/backend/routers/session_router.py -------------------------------------------------------------------------------- /backend/utils/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/utils/chunking.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/backend/utils/chunking.py -------------------------------------------------------------------------------- /backend/utils/pdf_ocr.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/backend/utils/pdf_ocr.py -------------------------------------------------------------------------------- /backend/utils/qdrant_setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/backend/utils/qdrant_setup.py -------------------------------------------------------------------------------- /backend/uv.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/backend/uv.lock -------------------------------------------------------------------------------- /docker-compose.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/docker-compose.yaml -------------------------------------------------------------------------------- /frontend/.dockerignore: -------------------------------------------------------------------------------- 1 | .next 2 | node_modules 3 | -------------------------------------------------------------------------------- /frontend/.env.example: -------------------------------------------------------------------------------- 1 | NEXT_PUBLIC_API_URL=http://localhost:8000/api -------------------------------------------------------------------------------- /frontend/.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/.eslintrc.json -------------------------------------------------------------------------------- /frontend/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/.gitignore -------------------------------------------------------------------------------- /frontend/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/Dockerfile -------------------------------------------------------------------------------- /frontend/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/README.md -------------------------------------------------------------------------------- /frontend/app/chat/loading.tsx: -------------------------------------------------------------------------------- 1 | export default function Loading() { 2 | return null 3 | } 4 | -------------------------------------------------------------------------------- /frontend/app/chat/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/app/chat/page.tsx -------------------------------------------------------------------------------- /frontend/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/app/favicon.ico -------------------------------------------------------------------------------- /frontend/app/fonts/GeistMonoVF.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/app/fonts/GeistMonoVF.woff -------------------------------------------------------------------------------- /frontend/app/fonts/GeistVF.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/app/fonts/GeistVF.woff -------------------------------------------------------------------------------- /frontend/app/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/app/globals.css -------------------------------------------------------------------------------- /frontend/app/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/app/layout.tsx -------------------------------------------------------------------------------- /frontend/app/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/app/page.tsx -------------------------------------------------------------------------------- /frontend/assets/optim-rag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/assets/optim-rag.png -------------------------------------------------------------------------------- /frontend/components.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/components.json -------------------------------------------------------------------------------- /frontend/components/add-chunk-dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/components/add-chunk-dialog.tsx -------------------------------------------------------------------------------- /frontend/components/chunk-list.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/components/chunk-list.tsx -------------------------------------------------------------------------------- /frontend/components/chunk-status-indicator.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/components/chunk-status-indicator.tsx -------------------------------------------------------------------------------- /frontend/components/commit-changes-dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/components/commit-changes-dialog.tsx -------------------------------------------------------------------------------- /frontend/components/file-upload-dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/components/file-upload-dialog.tsx -------------------------------------------------------------------------------- /frontend/components/markdown-editor.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/components/markdown-editor.tsx -------------------------------------------------------------------------------- /frontend/components/markdown-renderer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/components/markdown-renderer.tsx -------------------------------------------------------------------------------- /frontend/components/ui/avatar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/components/ui/avatar.tsx -------------------------------------------------------------------------------- /frontend/components/ui/badge.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/components/ui/badge.tsx -------------------------------------------------------------------------------- /frontend/components/ui/button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/components/ui/button.tsx -------------------------------------------------------------------------------- /frontend/components/ui/card.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/components/ui/card.tsx -------------------------------------------------------------------------------- /frontend/components/ui/collapsible.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/components/ui/collapsible.tsx -------------------------------------------------------------------------------- /frontend/components/ui/dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/components/ui/dialog.tsx -------------------------------------------------------------------------------- /frontend/components/ui/input.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/components/ui/input.tsx -------------------------------------------------------------------------------- /frontend/components/ui/label.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/components/ui/label.tsx -------------------------------------------------------------------------------- /frontend/components/ui/radio-group.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/components/ui/radio-group.tsx -------------------------------------------------------------------------------- /frontend/components/ui/scroll-area.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/components/ui/scroll-area.tsx -------------------------------------------------------------------------------- /frontend/components/ui/select.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/components/ui/select.tsx -------------------------------------------------------------------------------- /frontend/components/ui/textarea.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/components/ui/textarea.tsx -------------------------------------------------------------------------------- /frontend/components/ui/toast.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/components/ui/toast.tsx -------------------------------------------------------------------------------- /frontend/components/ui/toaster.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/components/ui/toaster.tsx -------------------------------------------------------------------------------- /frontend/hooks/use-toast.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/hooks/use-toast.ts -------------------------------------------------------------------------------- /frontend/lib/api-session.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/lib/api-session.ts -------------------------------------------------------------------------------- /frontend/lib/api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/lib/api.ts -------------------------------------------------------------------------------- /frontend/lib/chunk-transform.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/lib/chunk-transform.ts -------------------------------------------------------------------------------- /frontend/lib/chunk-utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/lib/chunk-utils.ts -------------------------------------------------------------------------------- /frontend/lib/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/lib/utils.ts -------------------------------------------------------------------------------- /frontend/next.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/next.config.mjs -------------------------------------------------------------------------------- /frontend/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/package-lock.json -------------------------------------------------------------------------------- /frontend/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/package.json -------------------------------------------------------------------------------- /frontend/postcss.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/postcss.config.mjs -------------------------------------------------------------------------------- /frontend/tailwind.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/tailwind.config.ts -------------------------------------------------------------------------------- /frontend/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/tsconfig.json -------------------------------------------------------------------------------- /frontend/types/chunk.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Oqura-ai/optim-rag/HEAD/frontend/types/chunk.ts --------------------------------------------------------------------------------