code-review / app.py
Yashnik's picture
Update app.py
3ea080b verified
# from transformers import pipeline, Conversation
# import gradio as gr
# import os
# from getpass import getpass
# model = os.getenv('bigcode/starcoder')
# chatbot = pipeline(task="text-generation")
# message_list = []
# response_list = []
# def YourCoder_chatbot(message, history):
# python_code_examples = f"""
# ---------------------
# Example 1: Code Snippet
# def calculate_average(numbers):
# total = 0
# for number in numbers:
# total += number
# average = total / len(numbers)
# return average
# Code Review: Consider using the sum() function to calculate the total sum of the numbers
# instead of manually iterating over the list.
# This would make the code more concise and efficient.
# ---------------------
# Example 2: Code Snippet
# def find_largest_number(numbers):
# largest_number = numbers[0]
# for number in numbers:
# if number > largest_number:
# largest_number = number
# return largest_number
# Code Review: Refactor the code using the max() function to find the largest number in the list.
# This would simplify the code and improve its readability.
# ---------------------
# """
# prompt = f"""
# I will provide you with code snippets,
# and you will review them for potential issues and suggest improvements.
# Please focus on providing concise and actionable feedback, highlighting areas
# that could benefit from refactoring, optimization, or bug fixes.
# Your feedback should be constructive and aim to enhance the overall quality and maintainability of the code.
# Please avoid providing explanations for your suggestions unless specifically requested. Instead, focus on clearly identifying areas for improvement and suggesting alternative approaches or solutions.
# Few good examples of Python code output between #### separator:
# ####
# {python_code_examples}
# ####
# Code Snippet is shared below, delimited with triple backticks:
# ```
# {message}
# ```
# """
# conversation = chatbot(prompt)
# return conversation[0]['generated_text']
# chatbot = gr.ChatInterface(YourCoder_chatbot, title="YourCoder Chatbot", description="Enter piece of code to generate a code review!")
# chatbot.launch()
# import gradio as gr
# # def YourCoder_chatbot(message, history):
# # gr.load("models/bigcode/starcoder")
# # chatbot = gr.ChatInterface(YourCoder_chatbot, title="YourCoder Chatbot", description="Enter piece of code to generate a code review!")
# chatbot = gr.Interface(fn=gr.load("models/bigcode/starcoder"), inputs=[gr.Textbox(label="Insert Code Snippet",lines=5)],
# outputs=[gr.Textbox(label="Review Here",lines=8)],
# title="Code Reviewer"
# )
# # gr.load("models/bigcode/starcoder").launch()
# chatbot.launch()
#####################
import os
import gradio as gr
from transformers import pipeline
# Get the token from environment variables
# token = os.getenv("HUGGINGFACE_TOKEN")
# if token is None:
# raise ValueError("Hugging Face token is not set in the environment variables.")
# Load the model from the Hugging Face Model Hub with authentication
generator = pipeline('text-generation', model='bigcode/starcoder', use_auth_token=token)
# Define the prediction function
def generate_text(prompt):
result = generator(prompt, max_length=50)
return result[0]['generated_text']
# Create the Gradio interface
iface = gr.Interface(fn=generate_text, inputs="text", outputs="text")
# Launch the app
iface.launch()