Learning-Assistant-Server logo

Learning-Assistant-Server

by ktwome

This server is a learning assistant that helps users learn by analyzing PDF documents. It provides features like PDF to Markdown conversion and question answering based on Retrieval-Augmented Generation (RAG).

View on GitHub

Last updated: N/A

What is Learning-Assistant-Server?

The Learning Assistant Server is a backend service designed to aid users in their learning process. It focuses on processing PDF documents, converting them to Markdown, and enabling question answering based on the content of the documents.

How to use Learning-Assistant-Server?

Currently, the server provides an API for uploading PDF files and converting them to Markdown. The frontend, built with Vue, allows users to upload PDFs and view the converted Markdown output. Future features will include a chat interface for asking questions and a problem generation API.

Key features of Learning-Assistant-Server

  • PDF to Markdown conversion

  • Retrieval-Augmented Generation (RAG) for question answering

  • Problem generation based on difficulty level

  • FastAPI backend

  • Vue frontend

Use cases of Learning-Assistant-Server

  • Students studying from PDF textbooks

  • Researchers analyzing PDF documents

  • Educators creating learning materials

  • Individuals seeking to learn from PDF resources

  • Automated question generation for quizzes and tests

FAQ from Learning-Assistant-Server

What file types are supported?

Currently, only PDF files are supported for upload and conversion.

How accurate is the PDF to Markdown conversion?

The conversion aims to extract text accurately, but formatting may vary. Future improvements will focus on preserving formatting and structure.

What is RAG and how does it work?

RAG (Retrieval-Augmented Generation) is a technique used to answer questions based on the content of the uploaded PDF. It retrieves relevant information from the document and uses it to generate an answer.

Is there a limit to the size of PDF files that can be uploaded?

There may be limitations on file size depending on server resources. Please refer to the documentation for specific limits.

How can I contribute to the project?

Contributions are welcome! Please refer to the repository's contribution guidelines for more information.