sepidnes commited on
Commit
56fda74
·
1 Parent(s): 88a62ce

Add RAG implementation with backend, frontend and aimakerspace

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. README.md +36 -5
  2. backend/main.py +1 -0
  3. backend/requirements.txt +8 -0
  4. backend/run.py +4 -0
  5. frontend/node_modules/.bin/acorn +1 -0
  6. frontend/node_modules/.bin/ansi-html +1 -0
  7. frontend/node_modules/.bin/autoprefixer +1 -0
  8. frontend/node_modules/.bin/browserslist +1 -0
  9. frontend/node_modules/.bin/css-blank-pseudo +1 -0
  10. frontend/node_modules/.bin/css-has-pseudo +1 -0
  11. frontend/node_modules/.bin/css-prefers-color-scheme +1 -0
  12. frontend/node_modules/.bin/cssesc +1 -0
  13. frontend/node_modules/.bin/detect +1 -0
  14. frontend/node_modules/.bin/detect-port +1 -0
  15. frontend/node_modules/.bin/ejs +1 -0
  16. frontend/node_modules/.bin/escodegen +1 -0
  17. frontend/node_modules/.bin/esgenerate +1 -0
  18. frontend/node_modules/.bin/eslint +1 -0
  19. frontend/node_modules/.bin/esparse +1 -0
  20. frontend/node_modules/.bin/esvalidate +1 -0
  21. frontend/node_modules/.bin/he +1 -0
  22. frontend/node_modules/.bin/html-minifier-terser +1 -0
  23. frontend/node_modules/.bin/import-local-fixture +1 -0
  24. frontend/node_modules/.bin/is-docker +1 -0
  25. frontend/node_modules/.bin/jake +1 -0
  26. frontend/node_modules/.bin/jest +1 -0
  27. frontend/node_modules/.bin/jiti +1 -0
  28. frontend/node_modules/.bin/js-yaml +1 -0
  29. frontend/node_modules/.bin/jsesc +1 -0
  30. frontend/node_modules/.bin/json5 +1 -0
  31. frontend/node_modules/.bin/loose-envify +1 -0
  32. frontend/node_modules/.bin/mime +1 -0
  33. frontend/node_modules/.bin/mkdirp +1 -0
  34. frontend/node_modules/.bin/multicast-dns +1 -0
  35. frontend/node_modules/.bin/nanoid +1 -0
  36. frontend/node_modules/.bin/node-which +1 -0
  37. frontend/node_modules/.bin/parser +1 -0
  38. frontend/node_modules/.bin/react-scripts +1 -0
  39. frontend/node_modules/.bin/regjsparser +1 -0
  40. frontend/node_modules/.bin/resolve +1 -0
  41. frontend/node_modules/.bin/rimraf +1 -0
  42. frontend/node_modules/.bin/rollup +1 -0
  43. frontend/node_modules/.bin/semver +1 -0
  44. frontend/node_modules/.bin/sucrase +1 -0
  45. frontend/node_modules/.bin/sucrase-node +1 -0
  46. frontend/node_modules/.bin/svgo +1 -0
  47. frontend/node_modules/.bin/tailwind +1 -0
  48. frontend/node_modules/.bin/tailwindcss +1 -0
  49. frontend/node_modules/.bin/terser +1 -0
  50. frontend/node_modules/.bin/tsc +1 -0
README.md CHANGED
@@ -1,11 +1,42 @@
1
  ---
2
- title: Pythonic Rag
3
- emoji: 🏢
4
- colorFrom: red
5
- colorTo: indigo
6
  sdk: docker
7
  pinned: false
8
  license: apache-2.0
9
  ---
10
 
11
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ title: RAG Question Answering System
3
+ emoji: 🤖
4
+ colorFrom: blue
5
+ colorTo: purple
6
  sdk: docker
7
  pinned: false
8
  license: apache-2.0
9
  ---
10
 
11
+ # RAG Question Answering System
12
+
13
+ This application allows users to upload documents (PDF or TXT) and ask questions about their content. It uses a Retrieval-Augmented Generation (RAG) approach to provide accurate answers based on the document content.
14
+
15
+ ## Features
16
+
17
+ - Upload PDF or TXT documents
18
+ - Ask questions about the document content
19
+ - View the context used to generate answers
20
+ - Modern, responsive user interface
21
+
22
+ ## How to Use
23
+
24
+ 1. Upload a document (PDF or TXT) using the file upload interface
25
+ 2. Wait for the document to be processed
26
+ 3. Ask questions about the document content in the chat interface
27
+ 4. View the answers and the context used to generate them
28
+
29
+ ## Technical Details
30
+
31
+ The application consists of two main components:
32
+
33
+ 1. **FastAPI Backend**: Handles file uploads, document processing, and question answering
34
+ 2. **React Frontend**: Provides a user-friendly interface for uploading documents and asking questions
35
+
36
+ ## Environment Variables
37
+
38
+ - `OPENAI_API_KEY`: Your OpenAI API key (required)
39
+
40
+ ## License
41
+
42
+ This project is licensed under the Apache 2.0 License.
backend/main.py ADDED
@@ -0,0 +1 @@
 
 
1
+
backend/requirements.txt ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ fastapi==0.110.0
2
+ uvicorn==0.27.1
3
+ python-multipart==0.0.9
4
+ numpy==2.2.2
5
+ openai==1.59.9
6
+ pydantic==2.10.1
7
+ pypdf2==3.0.1
8
+ websockets==14.2
backend/run.py ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ import uvicorn
2
+
3
+ if __name__ == "__main__":
4
+ uvicorn.run("main:app", host="0.0.0.0", port=8000, reload=True)
frontend/node_modules/.bin/acorn ADDED
@@ -0,0 +1 @@
 
 
1
+ ../acorn/bin/acorn
frontend/node_modules/.bin/ansi-html ADDED
@@ -0,0 +1 @@
 
 
1
+ ../ansi-html/bin/ansi-html
frontend/node_modules/.bin/autoprefixer ADDED
@@ -0,0 +1 @@
 
 
1
+ ../autoprefixer/bin/autoprefixer
frontend/node_modules/.bin/browserslist ADDED
@@ -0,0 +1 @@
 
 
1
+ ../browserslist/cli.js
frontend/node_modules/.bin/css-blank-pseudo ADDED
@@ -0,0 +1 @@
 
 
1
+ ../css-blank-pseudo/dist/cli.cjs
frontend/node_modules/.bin/css-has-pseudo ADDED
@@ -0,0 +1 @@
 
 
1
+ ../css-has-pseudo/dist/cli.cjs
frontend/node_modules/.bin/css-prefers-color-scheme ADDED
@@ -0,0 +1 @@
 
 
1
+ ../css-prefers-color-scheme/dist/cli.cjs
frontend/node_modules/.bin/cssesc ADDED
@@ -0,0 +1 @@
 
 
1
+ ../cssesc/bin/cssesc
frontend/node_modules/.bin/detect ADDED
@@ -0,0 +1 @@
 
 
1
+ ../detect-port-alt/bin/detect-port
frontend/node_modules/.bin/detect-port ADDED
@@ -0,0 +1 @@
 
 
1
+ ../detect-port-alt/bin/detect-port
frontend/node_modules/.bin/ejs ADDED
@@ -0,0 +1 @@
 
 
1
+ ../ejs/bin/cli.js
frontend/node_modules/.bin/escodegen ADDED
@@ -0,0 +1 @@
 
 
1
+ ../escodegen/bin/escodegen.js
frontend/node_modules/.bin/esgenerate ADDED
@@ -0,0 +1 @@
 
 
1
+ ../escodegen/bin/esgenerate.js
frontend/node_modules/.bin/eslint ADDED
@@ -0,0 +1 @@
 
 
1
+ ../eslint/bin/eslint.js
frontend/node_modules/.bin/esparse ADDED
@@ -0,0 +1 @@
 
 
1
+ ../esprima/bin/esparse.js
frontend/node_modules/.bin/esvalidate ADDED
@@ -0,0 +1 @@
 
 
1
+ ../esprima/bin/esvalidate.js
frontend/node_modules/.bin/he ADDED
@@ -0,0 +1 @@
 
 
1
+ ../he/bin/he
frontend/node_modules/.bin/html-minifier-terser ADDED
@@ -0,0 +1 @@
 
 
1
+ ../html-minifier-terser/cli.js
frontend/node_modules/.bin/import-local-fixture ADDED
@@ -0,0 +1 @@
 
 
1
+ ../import-local/fixtures/cli.js
frontend/node_modules/.bin/is-docker ADDED
@@ -0,0 +1 @@
 
 
1
+ ../is-docker/cli.js
frontend/node_modules/.bin/jake ADDED
@@ -0,0 +1 @@
 
 
1
+ ../jake/bin/cli.js
frontend/node_modules/.bin/jest ADDED
@@ -0,0 +1 @@
 
 
1
+ ../jest/bin/jest.js
frontend/node_modules/.bin/jiti ADDED
@@ -0,0 +1 @@
 
 
1
+ ../jiti/bin/jiti.js
frontend/node_modules/.bin/js-yaml ADDED
@@ -0,0 +1 @@
 
 
1
+ ../js-yaml/bin/js-yaml.js
frontend/node_modules/.bin/jsesc ADDED
@@ -0,0 +1 @@
 
 
1
+ ../jsesc/bin/jsesc
frontend/node_modules/.bin/json5 ADDED
@@ -0,0 +1 @@
 
 
1
+ ../json5/lib/cli.js
frontend/node_modules/.bin/loose-envify ADDED
@@ -0,0 +1 @@
 
 
1
+ ../loose-envify/cli.js
frontend/node_modules/.bin/mime ADDED
@@ -0,0 +1 @@
 
 
1
+ ../mime/cli.js
frontend/node_modules/.bin/mkdirp ADDED
@@ -0,0 +1 @@
 
 
1
+ ../mkdirp/bin/cmd.js
frontend/node_modules/.bin/multicast-dns ADDED
@@ -0,0 +1 @@
 
 
1
+ ../multicast-dns/cli.js
frontend/node_modules/.bin/nanoid ADDED
@@ -0,0 +1 @@
 
 
1
+ ../nanoid/bin/nanoid.cjs
frontend/node_modules/.bin/node-which ADDED
@@ -0,0 +1 @@
 
 
1
+ ../which/bin/node-which
frontend/node_modules/.bin/parser ADDED
@@ -0,0 +1 @@
 
 
1
+ ../@babel/parser/bin/babel-parser.js
frontend/node_modules/.bin/react-scripts ADDED
@@ -0,0 +1 @@
 
 
1
+ ../react-scripts/bin/react-scripts.js
frontend/node_modules/.bin/regjsparser ADDED
@@ -0,0 +1 @@
 
 
1
+ ../regjsparser/bin/parser
frontend/node_modules/.bin/resolve ADDED
@@ -0,0 +1 @@
 
 
1
+ ../resolve/bin/resolve
frontend/node_modules/.bin/rimraf ADDED
@@ -0,0 +1 @@
 
 
1
+ ../rimraf/bin.js
frontend/node_modules/.bin/rollup ADDED
@@ -0,0 +1 @@
 
 
1
+ ../rollup/dist/bin/rollup
frontend/node_modules/.bin/semver ADDED
@@ -0,0 +1 @@
 
 
1
+ ../semver/bin/semver.js
frontend/node_modules/.bin/sucrase ADDED
@@ -0,0 +1 @@
 
 
1
+ ../sucrase/bin/sucrase
frontend/node_modules/.bin/sucrase-node ADDED
@@ -0,0 +1 @@
 
 
1
+ ../sucrase/bin/sucrase-node
frontend/node_modules/.bin/svgo ADDED
@@ -0,0 +1 @@
 
 
1
+ ../svgo/bin/svgo
frontend/node_modules/.bin/tailwind ADDED
@@ -0,0 +1 @@
 
 
1
+ ../tailwindcss/lib/cli.js
frontend/node_modules/.bin/tailwindcss ADDED
@@ -0,0 +1 @@
 
 
1
+ ../tailwindcss/lib/cli.js
frontend/node_modules/.bin/terser ADDED
@@ -0,0 +1 @@
 
 
1
+ ../terser/bin/terser
frontend/node_modules/.bin/tsc ADDED
@@ -0,0 +1 @@
 
 
1
+ ../typescript/bin/tsc