Upload documents such as resident registration, income certificates, enrollment certificates, and transcripts, and let the AI analyze your eligibility for support funds and recommend relevant programs.
- Project Name: AGI-Hackaton
- Objective: Upload documents → Extract information using Upstage API → Recommend optimal government support or scholarship programs using an AI recommendation system.
AGI-Hackaton
├── backend
│ ├── main.py
│ ├── database.py
│ ├── domain
│ │ ├── student
│ │ └── scholarship
│ ├── llm_router.py
│ ├── llm_model.py
│ └── ...
├── frontend
│ └── ...
- Resident Registration, Income Certificates → Extract general user information (name, age, income, etc.) (Planned)
- Enrollment Certificates, Transcripts → Extract academic and grade information.
- Document Parsing: Extract text from PDFs.
- InfoExtract: Structure key information (income, major, grades, etc.) from documents.
- Powered by
langchain_upstage+solar-promodels for advanced Korean document processing.
- Analyze user information and document data using trained AI models (
langchain_upstage,HuggingFaceEmbeddings, etc.). - Provide personalized recommendations for programs (scholarships, government support funds).
- Backend: FastAPI, SQLAlchemy, SQLite (async engine)
- AI Model: LangChain, HuggingFace, Upstage
- Frontend: React (TypeScript)
- Infra / DevOps: uvicorn, pip, GitHub
cd backend
python -m venv venv
.\venv\Scripts\activate # Mac/Linux: source venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --reload-
Student User
- Upload enrollment and transcript documents via the
/upload/studentendpoint → Save to DB. - Get AI recommendations via the
/recommend/recommend-programsendpoint.
- Upload enrollment and transcript documents via the
-
Final Results with Additional Input
- Use the
/recommend/final-resultendpoint to combine session data, recommended programs, and additional user input for a final response.
- Use the
POST /create-session: Generate a session using a UUID.POST /upload/scholarship: Upload scholarship documents → Save to DB.GET /recommend/recommend-programs: Recommend scholarships/support programs based on user information.POST /recommend/final-result: Provide final recommendations based on additional user input.
- Fork the repository → Create a new branch → Implement features.
- Submit a Pull Request (PR) to propose changes.
- Review the code and merge after approval.
