This project is a PoC of driving school instructor. the vision behind this project is to use the power of ai agents in helping students ask thier quesitons and also practice for exams.
this repo was forked from "https://github.com/Azure-Samples/python-ai-agent-frameworks-demos", and it holds alot of files to help get started with ai agents and work with azure. but the contribution for the hacatho is the folder smart_driving_school/src.
smart_driving_school/src/azure_ai_search.pyscript connects to the azure ai search service and fetches for giving query the relevent docs from the indexsmart_driving_school/src/creating_index.pythis script creates an index similaire to the one created for this project. for the project the service and the index was created from the portalsmart_driving_school/src/data_uplaoding_az_blob.pyscript pushes the used documents to blob storagesmart_driving_school/src/ds_agents.pyscript holds the definition and the logic of each driving school agent. teacher_agent, quiz_agent, student_input_node (to get the user responses)
REC-20250501231807.mp4
- Create a
.envfile.
cp .env.example .env- Define required API keys in your
.envfile. and make sure to position on the src file in the powershell - run
python data_uplaoding_az_blob.pyto upload driving lessons pdfs to the azure container - run
python creating_index.pyto create the index, you might need adjustement in azure portal. - test by executing query search in
smart_driving_school/src/azure_ai_search.pyif there is response then everything is set.
- agents prompts: each agent has prompt in the file: prompts.py.
- Select a different model: We default to gbt-4 from github. model.py while working i been changing between gbt-4o-mini and gbt-4o. this because they both free and easy to load using the settings set by the original repo.
- graph: The core logic of the chatbot is defined in graph.py. you can interact from terminal with the graph after running the file. you will have Q/A interaction with the agents.
The learning material and practice questions were sourced from public resources provided by the New South Wales (NSW) Driver Knowledge Test (DKT).
Special thanks to NSW DKT for making this content publicly available — it served as the foundation for the document search and AI-driven responses in this PoC.
