Skip to content

diaazg/Personnel_chatbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ€– Diaa Zellagui Personal Agent

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.

✨ Features

  • 🧠 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.

πŸ“‚ Project Structure

.

β”œβ”€β”€ 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

πŸš€ Getting Started

  • 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

About

My LangGraph-built AI assistant that provides conversational access to my professional portfolio. It leverages tool-calling to dynamically fetch and present data from my GitHub, answer questions about my skills, and discuss my project work.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors