Skip to content

Latest commit

Β 

History

History
138 lines (114 loc) Β· 5.19 KB

File metadata and controls

138 lines (114 loc) Β· 5.19 KB

πŸ“’ Notice:
All teams submitting their project must create a README.md file following this guideline.
Please make sure to replace all placeholder texts (e.g., [Project Title], [Describe feature]) with actual content.

πŸ› οΈ FORMula - THE Form Filling Agent For You

πŸ“Œ Overview

This project was developed as part of the AGI Agent Application Hackathon. It aims to solve the common pain point of filling out complex forms and documents, especially when users are unsure of how to write them or what information is valid.

πŸš€ Key Features

  • βœ… Chatbot Service:
    • Q&A on domain-related topics.
    • Integrated web search.
    • Conversation history storage.
  • βœ… PDF Document Validation:
    • Extract document information and compare with internal data.
    • Real-time information retrieval (via web search).
    • Other fixes.
  • βœ… Domain Knowledge: Trade & Customs Assistant:
    • Check for regulatory compliance.
    • Inspection for hazardous substances/food additives.
    • Provide analysis of all fields and what are missing.

🧩 Tech Stack

  • Frontend: Streamlit
  • Backend: FastAPI
  • Database:
  • Others: Docker, LangChain, GPT-4o Search Preview, Solar Pro, Upstage Document Parsing API, Upstage Embeddings API, Upstage Information Extract API

πŸ—οΈ Project Structure

πŸ“ agi_hackathon-team_ODE/
β”œβ”€β”€ Chatbot/                   # Chatbot backend server
β”‚   β”œβ”€β”€ main.py                # FastAPI
β”‚   β”œβ”€β”€ requirements.txt       
β”‚   β”œβ”€β”€ .env                   # Chatbot(fastapi) .env keys
β”‚   β”œβ”€β”€ vector_db/             # Vector DB storage
β”‚   β”œβ”€β”€ data/                  # Data storage
β”‚   └── base_knowledge_memory.json  # Basic knowledge memory
β”‚
β”œβ”€β”€ Streamlit/                 # Frontend
β”‚   β”œβ”€β”€ main.py                # Streamlit web interface
β”‚   β”œβ”€β”€ pdf_form.py            
β”‚   β”œβ”€β”€ sidebar.py             
β”‚   β”œβ”€β”€ utils.py               
β”‚   β”œβ”€β”€ requirements.txt       
β”‚   β”œβ”€β”€ .env                   # Frontend(streamlit-app) .env keys
β”‚   β”œβ”€β”€ data/                  # Data storage
β”‚   └── .streamlit/            # Streamlit configuration
β”‚
β”œβ”€β”€ PDFValidator/              # PDF document validation backend
β”‚   β”œβ”€β”€ main.py                # FastAPI
β”‚   β”œβ”€β”€ requirements.txt       
β”‚   β”œβ”€β”€ .env                   # pdfvalidator .env keys
β”‚   β”œβ”€β”€ data/                  # Data storage
β”‚   └── memory.json            # Memory storage
β”‚
β”œβ”€β”€ Database/                  # Main data storage
β”‚   β”œβ”€β”€ Merged/                # Merged data
β”‚   β”œβ”€β”€ Embedding/             # Embedding data
β”‚   └── Connection/            # Database connection
β”‚
β”œβ”€β”€ .devcontainer/             
β”œβ”€β”€ docker-compose.yaml        # Docker Compose configuration
└── README.md                  # README

πŸ”§ Setup & Installation

# Clone the repository
git clone https://github.com/bindingflare/agi_hackathon-team_ODE.git
cd agi_hackathon-team_ODE
# Copy zip file to ./Database (Keep file structure intact!)
# Set API Keys (.env)
./Chatbot/.env
UPSTAGE_API_KEY = "your_api_key"
UPSTAGE_EMBEDDING_KEY = "your_api_key"

./PDFValidator/.env
UPSTAGE_API_KEY = "your_api_key"

./Streamlit/.env
UPSTAGE_API_KEY = "your_api_key"
OPENAI_API_KEY = "your_api_key"
# Run with Docker Compose
docker-compose up -d
# Access Streamlit UI
http://localhost:8501

πŸ“ Dataset & References

πŸ™Œ Team Members

Name Role Github
λ°©μ€€ν˜„ Team Lead @bindingflare
μ†μž¬ν›ˆ Backend, Chatbot @wognsths
이재영 Modelling @sleepylee02
윀희찬 Backend, Modelling @quant-jason
김정인 Front-End @jungin7612

⏰ Development Period

  • Last updated: 2025-04-04

πŸ“„ License

This project is licensed under the MIT license.
See the LICENSE file for more details.

πŸ’¬ Additional Notes

  • Feel free to include any other relevant notes or links here.