acecalisto3 commited on
Commit
7b3bffb
·
verified ·
1 Parent(s): 14203e0

Create components/code_optimization_page.py

Browse files
components/code_optimization_page.py ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # components/code_optimization_page.py
2
+ import streamlit as st
3
+ from langchain.prompts.chat import (
4
+ ChatPromptTemplate,
5
+ HumanMessagePromptTemplate,
6
+ SystemMessagePromptTemplate)
7
+ from langchain.chat_models import ChatOpenAI
8
+ from data.optimization_prompt import OPTIMIZATION_PROMPT
9
+
10
+ def show_optimize_page(chat):
11
+ # Request a code snippet for optimization
12
+ st.subheader("Request Code Snippet for Optimization")
13
+ user_code = st.text_area("Enter the code snippet:", "def factorial(n):\n\treturn 1 if n < 2 else n * factorial(n - 1)", height=200)
14
+
15
+ if st.button("Optimize Code"):
16
+ # Create a prompt for optimization
17
+ optimization_prompt = ChatPromptTemplate.from_template(OPTIMIZATION_PROMPT)
18
+
19
+ # Create a message template for the user's code
20
+ human_message_prompt = HumanMessagePromptTemplate.from_template("{code_snippet}")
21
+
22
+ # Combine the system and user message templates
23
+ chat_prompt = ChatPromptTemplate.from_messages([optimization_prompt, human_message_prompt])
24
+
25
+ # Run the optimization chat chain
26
+ optimization_chain = LLMChain(llm=chat, prompt=chat_prompt)
27
+ optimized_code = optimization_chain.run(code_snippet=user_code)
28
+
29
+ # Display the optimized code
30
+ st.subheader("Optimized Code")
31
+ st.text_area("", optimized_code, height=200)