| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
AIXCoder is an end-to-end, a web application designed to function as a comprehensive AI pair programmer. In an environment where developers often rely on cloud-based API services for AI assistance, this project provides a private, efficient, and cost-effective alternative by leveraging local Large Language Models (LLMs) through Ollama.
This tool was engineered to be a modular, multi-functional development assistant, capable of code generation, execution, debugging, and performance analysis across a variety of programming languages. The primary objective was to build a robust, self-contained application that demonstrates full-stack development principles and a strong understanding of modern AI integration.
The application is built on a modular, client-server architecture where a Streamlit frontend communicates with a set of distinct backend modules, each responsible for a specific task.
Frontend Interface (streamlit_app.py): The user interface is built with Streamlit, which manages the application's state, handles user inputs (text, voice, file uploads), and renders all outputs. It serves as the primary entry point for all user interactions.
LLM Interface (ollama_interface.py): All interactions with the Large Language Model are centralized through this module. It uses the LangChain library to create a standardized interface with the locally-hosted Ollama server, ensuring that all AI-powered features are consistent and easily maintainable.
Code Execution Engine (code_executor.py): To ensure security, this module creates an isolated temporary directory for each execution task. It dynamically writes the code to a file and uses Python's subprocess module to run it, correctly handling both single-command execution for interpreted languages and multi-stage compile-and-run commands for languages like Java and C++.
Specialized Backend Modules:
This project utilizes a modern stack focused on local-first AI development and rapid application deployment.
| Category | Technology / Library |
|---|---|
| Web Framework | Streamlit |
| Local LLM Server | Ollama (Model: phi3:mini, codellama) |
| LLM Orchestration | LangChain |
| Code Execution | subprocess, tempfile |
| Voice Recognition | SpeechRecognition, PyAudio |
Follow these instructions to configure and run the project on your local machine.
ollama pull phi3:miniClone the Repository
git clone [https://github.com/your-username/AIXCoder.git](https://github.com/your-username/AIXCoder.git)
cd AIXCoderCreate and Activate a Virtual Environment
# For Windows
python -m venv venv
venv\Scripts\activate
# For macOS/Linux
python3 -m venv venv
source venv/bin/activateInstall Dependencies Install all required Python packages from the requirements.txt file.
pip install -r requirements.txtRun the Streamlit Application Ensure the Ollama server is running in the background. Then, launch the application using the following command:
streamlit run streamlit_app.pyThe application will be accessible in your web browser, typically at http://localhost:8501.
This project successfully demonstrates the creation of a full-stack, AI-driven developer tool that operates entirely on a local machine. It serves as a strong proof-of-concept with significant potential for expansion.
Potential Enhancements:
| Back | FazBrowse Home | New Git URL |