Spaces:
Sleeping
Sleeping
File size: 3,801 Bytes
b0453e4 3748d81 b0453e4 3748d81 c1cced9 82714be 3748d81 82714be 3748d81 c1cced9 3748d81 c1cced9 3748d81 bd04abe 82714be 3748d81 82714be 3748d81 b0453e4 3748d81 b0453e4 3748d81 82714be 3748d81 c1cced9 3748d81 bd04abe 3748d81 b0453e4 3748d81 b0453e4 8c3fbf8 3748d81 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
import streamlit as st
import gradio as gr
from transformers import pipeline, AutoModelForSeq2SeqLM, AutoTokenizer
import subprocess
import os
# Initialize Hugging Face pipelines
text_generator = pipeline("text-generation", model="gpt2")
code_generator = pipeline("text2text-generation", model="t5-base")
# Streamlit App
st.title("AI Dev Tool Kit")
# Sidebar for Navigation
st.sidebar.title("Navigation")
app_mode = st.sidebar.selectbox("Choose the app mode", ["Explorer", "In-Chat Terminal", "Tool Box"])
if app_mode == "Explorer":
st.header("Explorer")
st.write("Explore files and projects here.")
# Implement your explorer functionality here
elif app_mode == "In-Chat Terminal":
st.header("In-Chat Terminal")
def run_terminal_command(command):
try:
result = subprocess.run(command, shell=True, capture_output=True, text=True)
return result.stdout if result.returncode == 0 else result.stderr
except Exception as e:
return str(e)
def terminal_interface(command):
response = run_terminal_command(command)
return response
def nlp_code_interpreter(text):
response = code_generator(text, max_length=150)
code = response[0]['generated_text']
return code, run_terminal_command(code)
with gr.Blocks() as iface:
terminal_input = gr.Textbox(label="Enter Command or Code")
terminal_output = gr.Textbox(label="Terminal Output", lines=10)
terminal_button = gr.Button("Run")
terminal_button.click(
nlp_code_interpreter,
inputs=terminal_input,
outputs=[terminal_output, terminal_output]
)
iface.launch()
st.write("Use the terminal to execute commands or interpret natural language into code.")
elif app_mode == "Tool Box":
st.header("Tool Box")
st.write("Access various AI development tools here.")
# Implement your tool box functionality here
# Deploy to Hugging Face Spaces
def deploy_to_huggingface(app_name):
code = f"""
import gradio as gr
def run_terminal_command(command):
try:
result = subprocess.run(command, shell=True, capture_output=True, text=True)
return result.stdout if result.returncode == 0 else result.stderr
except Exception as e:
return str(e)
def nlp_code_interpreter(text):
response = code_generator(text, max_length=150)
code = response[0]['generated_text']
return code, run_terminal_command(code)
with gr.Blocks() as iface:
terminal_input = gr.Textbox(label="Enter Command or Code")
terminal_output = gr.Textbox(label="Terminal Output", lines=10)
terminal_button = gr.Button("Run")
terminal_button.click(
nlp_code_interpreter,
inputs=terminal_input,
outputs=[terminal_output, terminal_output]
)
iface.launch()
"""
with open("app.py", "w") as f:
f.write(code)
try:
subprocess.run(["huggingface-cli", "repo", "create", "--type", "space", "--space_sdk", "gradio", app_name], check=True)
subprocess.run(["git", "init"], cwd=f"./{app_name}", check=True)
subprocess.run(["git", "add", "."], cwd=f"./{app_name}", check=True)
subprocess.run(['git', 'commit', '-m', '"Initial commit"'], cwd=f'./{app_name}', check=True)
subprocess.run(["git", "push", "https://huggingface.co/spaces/" + app_name, "main"], cwd=f'./{app_name}', check=True)
return f"Successfully deployed to Hugging Face Spaces: https://huggingface.co/spaces/{app_name}"
except Exception as e:
return f"Error deploying to Hugging Face Spaces: {e}"
# Example usage
if st.button("Deploy to Hugging Face"):
app_name = "ai-dev-toolkit"
deploy_status = deploy_to_huggingface(app_name)
st.write(deploy_status) |