Spaces:
Running
Running
File size: 3,489 Bytes
993bb68 |
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 |
# app.py
import streamlit as st
import os
# Import components and pages
from components import home, refactor_page, style_page, test_page, \
lang_page, code_documentation_page, database_page, optimize_page, \
model_trainer_page, notebook_integration_page, xai_page, \
versioning_tracker_page, nlp_nlg_page, devops_page, api_doc_page, \
code_review_page, version_control_page, recommendation_system_page, \
code_security_scanner_page, code_diagram_page
# Initialize the app
st.set_page_config(
page_title="Codecrafter GPT: A Comprehensive Code Enhancement Platform",
page_icon="π",
layout="wide"
)
# Initialize the sidebar
st.sidebar.title("OpenAI API Key")
api_key = st.sidebar.text_input("Enter your OpenAI API key:", type='password')
if not api_key:
st.warning("Please enter your OpenAI API key to access pages.")
else:
# Instantiate the ChatOpenAI object
from langchain.chat_models import ChatOpenAI
chat = ChatOpenAI(
model="gpt-3.5-turbo-16k",
temperature=0,
api_key=api_key
)
# Show the navigation menu
selected = option_menu(
menu_title="CodeCraftGPT",
options=[
"Home", "RefactorRite", "StyleSculpt",
"TestGenius", "LangLink", "CodeDocGenius", "Database", "AutoOptimizer",
"ModelTrainer", "NotebookIntegration", "ExplainableAI", "DataVersioning",
"NLPandNLG", "DevOps", "APIDocGen", "CodeReviewAssistant",
"VersionControl", "RecommendationSystem", "CodeSecurityScanner",
"CodeDiagramConverter"
],
icons=[
'house', 'gear', 'palette', 'clipboard2-pulse',
'code-slash', 'file-text', 'database', 'diagram-3',
'diagram-project', 'diagram-3', 'diagram-3', 'diagram-3',
'diagram-3', 'gear', 'file-text', 'file-code',
'screwdriver-wrench', 'file-text', 'diagram-3', 'diagram-3',
'code-fork'
],
default_index=0
)
# Define a dictionary mapping page names to their corresponding functions
pages = {
"Home": home.show_home_page,
"RefactorRite": refactor_page.show_refactor_page,
"StyleSculpt": style_page.show_style_page,
"TestGenius": test_page.show_test_page,
"LangLink": lang_page.show_lang_page,
"CodeDocGenius": code_documentation_page.show_doc_page,
"Database": database_page.show_database_page,
"AutoOptimizer": optimize_page.show_optimize_page,
"ModelTrainer": model_trainer_page.show_model_trainer_page,
"NotebookIntegration": notebook_integration_page.show_notebook_integration_page,
"ExplainableAI": xai_page.show_xai_page,
"DataVersioning": versioning_tracker_page.show_versioning_page,
"NLPandNLG": nlp_nlg_page.show_nlp_nlg_page,
"DevOps": devops_page.show_devops_page,
"APIDocGen": api_doc_page.show_api_doc_page,
"CodeReviewAssistant": code_review_page.show_code_review_page,
"VersionControl": version_control_page.show_version_control_page,
"RecommendationSystem": recommendation_system_page.show_recommendation_system_page,
"CodeSecurityScanner": code_security_scanner_page.show_code_security_page,
"CodeDiagramConverter": code_diagram_page.show_code_diagram_page
}
# Call the function for the selected page
if selected in pages:
pages[selected](chat)
else:
st.error("Page not found!") |