CoolFace
Apppublic

SyedTahir/STHASI-Generative-AI-Documentation-Generator

sourceHugging Faceapache-2.0updated 1y agoView on Hugging Face
0likes
App README

๐Ÿš€ Generative AI Documentation Generator

This is a Hugging Face Space that automatically generates technical documentation for Python codebases using the power of Large Language Models.

[image] <!-- It's a good idea to add a screenshot once your app is running -->

โœจ Features

  • โ€”Automated Documentation: Simply provide a public GitHub repository URL, and the app will generate clear, concise documentation for each function and class.
  • โ€”Modern UI/UX: A clean, responsive interface built with Gradio, featuring a dark mode theme.
  • โ€”Advanced - Ask Your Codebase: An interactive chatbot that lets you ask natural language questions about the repository's code.
  • โ€”Powered by CodeLlama: Utilizes codellama/CodeLlama-7b-Instruct-hf for high-quality, code-aware text generation.

๐Ÿ› ๏ธ How It Works

  1. 1.Clone Repository: The app clones the provided public GitHub repository into its temporary storage.
  2. 2.Parse Code: It intelligently parses Python files using Abstract Syntax Trees (ast) to identify functions and classes, which is more reliable than simple text matching.
  3. 3.Generate Docs: For each code element, it creates a detailed prompt and sends it to the CodeLlama model to generate a professional docstring, including purpose, parameters, return values, and usage examples.
  4. 4.Chat with Code: The "Ask Your Codebase" feature combines the entire codebase into a single context, allowing the LLM to answer specific questions about the project's logic and structure.

๐Ÿš€ How to Use

  1. 1.Open the [Hugging Face Space](link-to-your-space).
  2. 2.In the "Documentation Generator" tab, enter the URL of a public GitHub repository containing Python code.
  3. 3.Click "Generate Docs" and wait for the process to complete. The status bar will show the current progress.
  4. 4.Switch to the "Ask Your Codebase" tab, ensure the URL is entered, and ask any question about the code!