codevista / app.py
Sagar-Vispute
Initial commit
be07e2e
raw
history blame
1.38 kB
import streamlit as st
import os
import json
from transformers import AutoModelForCausalLM, AutoTokenizer
# UI Components for Streamlit
st.title("Ansible Code Reviewer")
uploaded_files = st.file_uploader("Upload your Ansible code files", type=['yml', 'yaml'], accept_multiple_files=True)
if uploaded_files:
result = []
model_name = "facebook/incoder-1B" # Example model name
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
# Process each uploaded file
for uploaded_file in uploaded_files:
content = uploaded_file.read().decode("utf-8")
# Here you could use the model to evaluate the content
tokens = tokenizer(content, return_tensors="pt")
review_output = model.generate(**tokens)
review_text = tokenizer.decode(review_output[0], skip_special_tokens=True)
# Store results
result.append({
"filename": uploaded_file.name,
"review": review_text
})
# Save the results to a JSON file
json_result = json.dumps(result, indent=4)
with open("review_results.json", "w") as f:
f.write(json_result)
# Display results and download link
st.json(result)
st.download_button("Download Review Results", json_result, file_name="review_results.json")