Autoreview-AI / app.py
Krishp1's picture
Upload 4 files
c9c95fa verified
Raw
History Blame Contribute Delete
1.93 kB
# app.py β€” Streamlit UI for AutoReview AI
import streamlit as st
from main import review_pr_simple
# ── PAGE CONFIG ───────────────────────────
st.set_page_config(
page_title="AutoReview AI",
page_icon="πŸ€–",
layout="centered"
)
# ── TITLE ─────────────────────────────────
st.title("πŸ€– AutoReview AI")
st.markdown("*Autonomous GitHub PR Reviewer powered by LLaMA + Groq*")
st.divider()
# ── INPUT ─────────────────────────────────
pr_url = st.text_input(
"Enter GitHub PR URL",
placeholder="https://github.com/owner/repo/pull/123"
)
# ── BUTTON ────────────────────────────────
if st.button("πŸ” Review PR", type="primary"):
# check if URL is empty
if not pr_url:
st.warning("Please enter a PR URL first!")
else:
# show spinner while reviewing
with st.spinner("πŸ€– Reviewing PR... this may take 30 seconds"):
result = review_pr_simple(pr_url)
# if success
if result["success"]:
st.success("βœ… Review Complete!")
st.divider()
# show PR data
st.subheader("πŸ“‹ PR Summary")
st.code(result["pr_data"][:500])
# show analysis
st.subheader("πŸ” Code Analysis")
st.write(result["analysis"])
# show verdict
st.subheader("βœ… Final Verdict")
st.write(result["verdict"])
# if failed
else:
st.error(f"❌ Failed: {result['error']}")
# ── FOOTER ────────────────────────────────
st.divider()
st.caption("Built with LangChain + Groq + Streamlit")