Sagar-Vispute commited on
Commit
be07e2e
·
1 Parent(s): b7e8bd7

Initial commit

Browse files
Files changed (2) hide show
  1. app.py +37 -0
  2. requirements.txt +4 -0
app.py ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import os
3
+ import json
4
+ from transformers import AutoModelForCausalLM, AutoTokenizer
5
+
6
+ # UI Components for Streamlit
7
+ st.title("Ansible Code Reviewer")
8
+ uploaded_files = st.file_uploader("Upload your Ansible code files", type=['yml', 'yaml'], accept_multiple_files=True)
9
+
10
+ if uploaded_files:
11
+ result = []
12
+ model_name = "facebook/incoder-1B" # Example model name
13
+ tokenizer = AutoTokenizer.from_pretrained(model_name)
14
+ model = AutoModelForCausalLM.from_pretrained(model_name)
15
+
16
+ # Process each uploaded file
17
+ for uploaded_file in uploaded_files:
18
+ content = uploaded_file.read().decode("utf-8")
19
+ # Here you could use the model to evaluate the content
20
+ tokens = tokenizer(content, return_tensors="pt")
21
+ review_output = model.generate(**tokens)
22
+ review_text = tokenizer.decode(review_output[0], skip_special_tokens=True)
23
+
24
+ # Store results
25
+ result.append({
26
+ "filename": uploaded_file.name,
27
+ "review": review_text
28
+ })
29
+
30
+ # Save the results to a JSON file
31
+ json_result = json.dumps(result, indent=4)
32
+ with open("review_results.json", "w") as f:
33
+ f.write(json_result)
34
+
35
+ # Display results and download link
36
+ st.json(result)
37
+ st.download_button("Download Review Results", json_result, file_name="review_results.json")
requirements.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ streamlit
2
+ transformers
3
+ ansible
4
+ pandas