acecalisto3 commited on
Commit
4d93025
·
verified ·
1 Parent(s): f8447d7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +78 -9
app.py CHANGED
@@ -91,7 +91,14 @@ class AIAgent:
91
  self.current_task: Optional[str] = None
92
  self.search_engine_url: str = "https://www.google.com/search?q=" # Default search engine
93
  self.prompts: List[str] = [] # Store prompts for future use
94
- self.code_generator = pipeline('text-generation', model='gpt2') # Initialize code generator
 
 
 
 
 
 
 
95
 
96
  # --- Search Functionality ---
97
  def search(self, query: str) -> List[str]:
@@ -110,9 +117,13 @@ class AIAgent:
110
  def code_generation(self, snippet: str) -> str:
111
  """Generates code based on the provided snippet or description."""
112
  try:
113
- generated_text = self.code_generator(snippet, max_length=500, num_return_sequences=1)[0][
114
- 'generated_text'
115
- ]
 
 
 
 
116
  return generated_text
117
  except Exception as e:
118
  raise CodeGenerationError(f"Error during code generation: {e}")
@@ -384,12 +395,70 @@ class AIAgent:
384
  # --- Streamlit Integration ---
385
  if __name__ == "__main__":
386
  agent = AIAgent()
 
 
 
 
 
 
387
  st.title("AI Agent")
388
- st.write("Enter a command for the AI Agent:")
389
- input_str = st.text_input("")
390
- if input_str:
391
- agent.handle_input(input_str)
392
- # agent.run() # Removed to avoid conflict with Streamlit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
393
 
394
  # --- Gradio Integration ---
395
  def gradio_interface(input_text):
 
91
  self.current_task: Optional[str] = None
92
  self.search_engine_url: str = "https://www.google.com/search?q=" # Default search engine
93
  self.prompts: List[str] = [] # Store prompts for future use
94
+ self.code_generator = None # Initialize code generator later
95
+ self.available_models = [
96
+ "gpt2",
97
+ "facebook/bart-large-cnn",
98
+ "google/flan-t5-xl",
99
+ "bigscience/T0_3B",
100
+ ] # Add more as needed
101
+ self.selected_model = "gpt2" # Default model
102
 
103
  # --- Search Functionality ---
104
  def search(self, query: str) -> List[str]:
 
117
  def code_generation(self, snippet: str) -> str:
118
  """Generates code based on the provided snippet or description."""
119
  try:
120
+ if not self.code_generator:
121
+ self.code_generator = pipeline(
122
+ 'text-generation', model=self.selected_model
123
+ )
124
+ generated_text = self.code_generator(
125
+ snippet, max_length=500, num_return_sequences=1
126
+ )[0]['generated_text']
127
  return generated_text
128
  except Exception as e:
129
  raise CodeGenerationError(f"Error during code generation: {e}")
 
395
  # --- Streamlit Integration ---
396
  if __name__ == "__main__":
397
  agent = AIAgent()
398
+ st.set_page_config(
399
+ page_title="AI Agent",
400
+ page_icon="🤖",
401
+ layout="wide",
402
+ initial_sidebar_state="expanded",
403
+ )
404
  st.title("AI Agent")
405
+ st.sidebar.title("Agent Settings")
406
+
407
+ # --- Command Dropdown ---
408
+ command_options = [
409
+ "SEARCH",
410
+ "CODEGEN",
411
+ "REFINE-CODE",
412
+ "TEST-CODE",
413
+ "INTEGRATE-CODE",
414
+ "TEST-APP",
415
+ "GENERATE-REPORT",
416
+ "WORKSPACE-EXPLORER",
417
+ "ADD_PROMPT",
418
+ "ACTION_PROMPT",
419
+ "COMPRESS_HISTORY_PROMPT",
420
+ "LOG_PROMPT",
421
+ "LOG_RESPONSE",
422
+ "MODIFY_PROMPT",
423
+ "PREFIX",
424
+ "SEARCH_QUERY",
425
+ "READ_PROMPT",
426
+ "TASK_PROMPT",
427
+ "UNDERSTAND_TEST_RESULTS_PROMPT",
428
+ ]
429
+ selected_command = st.sidebar.selectbox("Command", command_options)
430
+
431
+ # --- Model Dropdown ---
432
+ selected_model = st.sidebar.selectbox(
433
+ "Model", agent.available_models, index=agent.available_models.index(agent.selected_model)
434
+ )
435
+ agent.selected_model = selected_model
436
+
437
+ # --- Input Field ---
438
+ input_str = st.text_input(f"Enter input for {selected_command}:")
439
+
440
+ # --- Execute Command ---
441
+ if st.button("Execute"):
442
+ if input_str:
443
+ agent.handle_input(f"{selected_command} {input_str}")
444
+ st.write(f"Output: {agent.task_history[-1]['output']}")
445
+
446
+ # --- Task History ---
447
+ st.subheader("Task History")
448
+ for task in agent.task_history:
449
+ st.write(f"**Action:** {task['action']}")
450
+ st.write(f"**Input:** {task['input']}")
451
+ st.write(f"**Output:** {task['output']}")
452
+
453
+ # --- Workspace Explorer ---
454
+ st.subheader("Workspace Explorer")
455
+ with st.expander("Explore Workspace"):
456
+ try:
457
+ workspace_output = agent.workspace_explorer()
458
+ st.write(workspace_output)
459
+ except WorkspaceExplorerError as e:
460
+ st.error(f"Error exploring workspace: {e}")
461
+
462
 
463
  # --- Gradio Integration ---
464
  def gradio_interface(input_text):