A sophisticated AI-powered personal assistant built with LangGraph that serves as an intelligent representative for my professional profile. The agent can dynamically retrieve and present information about Diaa's GitHub projects, skills, repositories, and professional background through natural language conversations.
-
π§ Conversational Memory β which help remembers context.
-
π§ LangChain Tool Integration:
-
Fetch Diaa Zellaguiβs GitHub repositories.
-
Retrieve repository READMEs.
-
Fetch GitHub profile README.
-
Get GitHub stats & pinned repos (via GraphQL API).
-
β‘ CLI-first β no API server needed.
-
.
βββ src/
βββ tools/
βββ github_tools.py # Custom tools (GitHub tools)
βββ memory.py # Memory & summarization logic
βββ agent.py # LangGraph agent setup
βββ notebook.ipynb # Jupyter notebook for experimentation
βββ main.py # CLI entrypoint
βββ requirements.txt # Python dependencies
βββ .env # Environment variables
βββ README.md # Documentation- 1. Clone the repo
git clone https://github.com/diaazg/Personnel_chatbot.git- 2. Create a virtual environment and Install dependencies
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt- 3. Create .env file with your credentials
nano .env
MODEL=...
BASE_URL=...
API_KEY=... # your LLM API key
THREAD_ID=default
GITHUB_USERNAME = "diaazg"
GITHUB_TOKEN = # your GitHub token- 4. Run the agent
python ./src/main.py