{"id":24401620,"url":"https://github.com/sakhileln/github-ai-agent","last_synced_at":"2026-05-09T05:31:19.178Z","repository":{"id":270590713,"uuid":"910834781","full_name":"sakhileln/GitHub-AI-Agent","owner":"sakhileln","description":"A simple AI agent within Python using Retrieval Augmented Generation (RAG) and LangChain.🤖","archived":false,"fork":false,"pushed_at":"2025-03-10T18:58:46.000Z","size":262,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-10T19:44:30.467Z","etag":null,"topics":["astra","astradb","huggingface","huggingface-transformers","langchain","langchain-python","openai","retrieval-augmented-generation"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sakhileln.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-01T15:22:07.000Z","updated_at":"2025-03-10T18:58:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"8d8ccf3a-386c-49c7-aa06-a7382fe27938","html_url":"https://github.com/sakhileln/GitHub-AI-Agent","commit_stats":null,"previous_names":["sakhileln/github-agent"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sakhileln%2FGitHub-AI-Agent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sakhileln%2FGitHub-AI-Agent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sakhileln%2FGitHub-AI-Agent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sakhileln%2FGitHub-AI-Agent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sakhileln","download_url":"https://codeload.github.com/sakhileln/GitHub-AI-Agent/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243358211,"owners_count":20277989,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["astra","astradb","huggingface","huggingface-transformers","langchain","langchain-python","openai","retrieval-augmented-generation"],"created_at":"2025-01-20T00:32:36.489Z","updated_at":"2025-10-25T22:19:10.269Z","avatar_url":"https://github.com/sakhileln.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🤖 GitHub AI Assistant with RAG and LangChain 💀\n\nThis repository contains a GitHub AI assistant implemented in Python, leveraging Retrieval-Augmented Generation (RAG) and LangChain. This agent is designed to help users interact with GitHub repositories by retrieving and summarizing information such as issues, pull requests, and more.\n\n## Table of Contents\n\n- [Features](#features)\n- [Prerequisites](#prerequisites)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Project Structure](#project-structure)\n- [Example](#example)\n- [Contributing](#contributing)\n- [License](#license)\n- [Acknowledgments](#acknowledgments)\n- [Contact](#contact)\n\n## Features\n- **GitHub Repository Interaction:** Select a GitHub repository and retrieve information such as open issues, pull requests, or file contents.\n- **Issue Summarization:** Summarizes issues for better understanding and quicker decision-making.\n- **Retrieval-Augmented Generation (RAG):** Combines information retrieval with generative AI for precise and context-aware responses.\n- **LangChain and Hugging Face Integration:** Uses LangChain for efficient chaining of multiple language model queries and Hugging Face models for generative responses.\n- **Poetry Dependency Management:** Simplifies dependency management and project setup.\n\n## Prerequisites\nBefore you begin, ensure you have the following installed on your system:\n- Python 3.8 or higher\n- Poetry (for dependency management)\n\n## Installation\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/sakhileln/GitHub-Agent.git\n   cd GitHub-Agent/\n   ```\n2. Install dependencies using Poetry:\n   ```bash\n   poetry install\n   ```\n3. Activate the virtual environment:\n   ```bash\n   poetry shell\n   ```\n\n## Usage\n1. Ensure you have access to the GitHub repository you wish to analyze and have a GitHub personal access token (PAT) with appropriate permissions.\n\n2. Configure your environment by adding the GitHub token:\n   ```bash\n   export GITHUB_TOKEN=your_personal_access_token\n   ```\n\n3. Run the AI assistant:\n   ```bash\n   python main.py\n   ```\n\n4. Select a repository and interact with the AI agent to retrieve and summarize data.\n\nExample commands:\n- \"Summarize the open issues in this repository.\"\n- \"List the pull requests and their statuses.\"\n\n## Project Structure\n- `main.py`: The entry point of the application.\n- `retriever.py`: Handles interactions with the GitHub API and retrieves repository data.\n- `summarizer.py`: Uses LangChain and Hugging Face models to generate summaries from retrieved data.\n- `pyproject.toml`: Poetry configuration file for dependencies.\n- `README.md`: Documentation for the project.\n\n## Example\nTo get a quick sense of how it works, try the following after running the script:\n1. Select a GitHub repository.\n2. Ask the assistant to summarize open issues.\n\nExample Query:\n```plaintext\nSummarize the open issues in this repository.\n```\n\nExample Response:\n```plaintext\nThere are 5 open issues:\n1. Bug in the login flow causing 500 errors (critical).\n2. Feature request: Add dark mode support.\n...\n```\n## Contributing\n\nContributions are welcome! If you'd like to contribute. See the [CONTRIBUTING](CONTRIBUTING.md) file for details.\n1. Fork the repository.\n2. Create a new branch for your feature/bug fix:\n   ```bash\n   git checkout -b feature/YourFeature\n   ```\n3. Make your changes and test thoroughly.\n4. Submit a pull request explaining your changes.\n\n## License\nThis project is licensed under the GPL v3.0 License. See the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n- [LangChain](https://www.langchain.com/): For providing robust tools to handle language model operations.\n- [Hugging Face](https://huggingface.co/): For providing versatile and high-quality machine learning models.\n- GitHub: For offering a robust platform for collaboration and version control.\n\n## Contact\n- Sakhile III  \n- [LinkedIn Profile](https://www.linkedin.com/in/sakhile-ndlazi)\n- [GitHub Profile](https://github.com/sakhileln)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsakhileln%2Fgithub-ai-agent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsakhileln%2Fgithub-ai-agent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsakhileln%2Fgithub-ai-agent/lists"}