{"data":{"slug":"pnkvalavala-repochat","name":"repochat","tagline":"Chatbot assistant for GitHub repository interaction using LLMs with Retrieval Augmented Generation","github_url":"https://github.com/pnkvalavala/repochat","owner":"pnkvalavala","repo":"repochat","owner_avatar_url":"https://avatars.githubusercontent.com/u/108526358?v=4","primary_language":"Python","stars":317,"forks":53,"topics":["chat-application","code-llama","deeplake","github","huggingface","langchain","openai","retrieval-augmented-generation","streamlit"],"archived":false,"github_pushed_at":"2024-08-28T18:59:58+00:00","maintenance_label":"Dormant","stars_delta_30d":0,"url":"https://www.graphcanon.com/tools/pnkvalavala-repochat","markdown_url":"https://www.graphcanon.com/tools/pnkvalavala-repochat.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/pnkvalavala-repochat","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=pnkvalavala-repochat","description":"Chatbot assistant enabling GitHub repository interaction using LLMs with Retrieval Augmented Generation","homepage_url":"https://repochat.streamlit.app","license":"Apache-2.0","open_issues":3,"watchers":1,"ai_summary":"A chat-based application that enables interactions with software repositories via Large Language Models (LLMs) enhanced by retrieval-augmented generation techniques.","readme_excerpt":"## Installation\n\nTo get started with Repochat, you'll need to follow these installation steps:\n\n1. Create a virtual environment and activate on your local machine to isolate the project's dependencies.\n   ```bash\n   python -m venv repochat-env\n   source repochat-env/bin/activate\n   ```\n\n2. Clone the Repochat repository and navigate to the project directory.\n   ```bash\n   git clone https://github.com/pnkvalavala/repochat.git\n   cd repochat\n   ```\n\n3. Install the required Python packages using `pip`.\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n4. Install the \"llama-cpp-python\" library.\n    ### Installation without Hardware Acceleration\n   ```bash\n   pip install llama-cpp-python\n   ```\n\n   ### Installation with Hardware Acceleration\n\n    `llama.cpp` supports multiple BLAS backends for faster processing.\n\n    To install with OpenBLAS, set the `LLAMA_BLAS and LLAMA_BLAS_VENDOR` environment variables before installing:\n\n    ```bash\n    CMAKE_ARGS=\"-DLLAMA_BLAS=ON -DLLAMA_BLAS_VENDOR=OpenBLAS\" pip install llama-cpp-python\n    ```\n\n    To install with cuBLAS, set the `LLAMA_CUBLAS=1` environment variable before installing:\n\n    ```bash\n    CMAKE_ARGS=\"-DLLAMA_CUBLAS=on\" pip install llama-cpp-python\n    ```\n\n    To install with CLBlast, set the `LLAMA_CLBLAST=1` environment variable before installing:\n\n    ```bash\n    CMAKE_ARGS=\"-DLLAMA_CLBLAST=on\" pip install llama-cpp-python\n    ```\n\n    To install with Metal (MPS), set the `LLAMA_METAL=on` environment variable before installing:\n\n    ```bash\n    CMAKE_ARGS=\"-DLLAMA_METAL=on\" pip install llama-cpp-python\n    ```\n\n    To install with hipBLAS / ROCm support for AMD cards, set the `LLAMA_HIPBLAS=on` environment variable before installing:\n\n    ```bash\n    CMAKE_ARGS=\"-DLLAMA_HIPBLAS=on\" pip install llama-cpp-python\n    ```\n\n    To get to know more about Hardware Acceleration, refer to official README from [llama-cpp-python](https://github.com/abetlen/llama-cpp-python)\n\n5. Create a folder named `models` in the project directory.\n\n6. Download a Language Model from the Hugging Face Model Hub based on your computer's capabilities. It is recommended using the following model as a starting point: [TheBloke/CodeLlama-7B-GGUF](https://huggingface.co/TheBloke/CodeLlama-7B-GGUF/blob/main/codellama-7b.Q4_K_M.gguf). If you want to quantize a model available on Hugging Face, follow the instructions from [llama.cpp](https://github.com/ggerganov/llama.cpp)\n\n7. Copy the downloaded model file to the \"models\" folder.\n\n8. Open the `models.py` file located in the \"repochat\" folder and set the model file location in the `code_llama()` function as follows:\n   ```python\n   def code_llama():\n       callbackmanager = CallbackManager([StreamingStdOutCallbackHandler()])\n       llm = LlamaCpp(\n           model_path=\"./models/codellama-7b.Q4_K_M.gguf\",\n           n_ctx=2048,\n           max_tokens=200,\n           n_gpu_layers=1,\n           f16_kv=True,\n           callback_manager=callbackmanager,\n           verbose=True,\n           use_mlock=True\n       )\n       return llm\n   ```\n\n---\n\n## License\n\nThis project is licensed under the [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0). For details, see the [LICENSE](LICENSE) file.\nPlease note that this is a change from the previous license, and it's important to review the terms and conditions of the new license.","github_created_at":"2023-07-03T19:45:57+00:00","created_at":"2026-07-11T10:49:13.172645+00:00","updated_at":"2026-08-15T00:02:13.194625+00:00","categories":[{"slug":"ai-agents","name":"AI Agents","url":"https://www.graphcanon.com/categories/ai-agents","markdown_url":"https://www.graphcanon.com/categories/ai-agents.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/ai-agents"},{"slug":"data-retrieval","name":"Data & Retrieval","url":"https://www.graphcanon.com/categories/data-retrieval","markdown_url":"https://www.graphcanon.com/categories/data-retrieval.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/data-retrieval"}],"tags":[{"slug":"chat-application","name":"chat-application"},{"slug":"code-llama","name":"code-llama"},{"slug":"deeplake","name":"deeplake"},{"slug":"github","name":"github"},{"slug":"huggingface","name":"huggingface"},{"slug":"langchain","name":"langchain"},{"slug":"openai","name":"openai"}],"trust":{"provenance":{"is_fork":false,"github_id":661847690,"owner_type":"User","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-08-15T00:02:12.358Z","maintenance":{"label":"Dormant","score":18,"methodology":"github_public_v1","releases_90d":0,"days_since_push":716,"last_release_at":null,"stars_delta_30d":0,"open_issues_delta_30d":0},"security_summary":{"status":"findings","scanner":"osv@v1","low_count":27,"high_count":0,"last_scan_at":"2026-07-11T10:49:14.641Z","medium_count":0,"scan_profile":"deps","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-08-15T00:02:12.855Z"},"languages":{"value":["python"],"source":"github.language","observed_at":"2026-08-15T00:02:12.855Z"},"license_spdx":{"value":"Apache-2.0","source":"github.license","observed_at":"2026-08-15T00:02:12.855Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":{"notes":["Requires creation of a virtual environment.","Installation of llama-cpp-python with various optional backends for hardware acceleration is supported."],"min_ram_gb":null,"requires_docker":false},"constraints":{"min_ram_gb":null,"requires_docker":false},"when_to_use":["When you need to interact directly through chat-based queries with your GitHub repository content using advanced language models like CodeLlama-7B-GGUF.","For scenarios where integration of both LLM capabilities and direct retrieval from a codebase are required for enhanced contextual responses."],"when_not_to_use":["If the hardware acceleration setup is too complex or not supported by your system, as Repochat's setup involves configuring environment variables and possibly installing BLAS backends.","In environments where continuous network access to Hugging Face model hub and GitHub repositories is restricted or unreliable, given that this tool relies on these services for operation."],"source":"enrich:decision_facts","observed_at":"2026-07-14T18:36:58.466Z"},"constraint_facets":{"min_ram_gb":null,"requires_docker":false},"decision_summary":[{"label":"Requirements","value":"Requires creation of a virtual environment.; Installation of llama-cpp-python with various optional backends for hardware acceleration is supported."},{"label":"Adopt for","value":"Repochat is a chatbot assistant built for interacting with GitHub repositories leveraging Large Language Models and retrieval-augmented generation techniques in Python under the Apache License."},{"label":"License detail","value":"Repochat is distributed under the Apache-2.0 license, allowing users to use, modify, distribute, and sell copies of the software."}]}}