import streamlit as st import requests # Define the URL of the FastAPI service API_URL = "https://lazarr19-prompt-engine.hf.space/most_similar" # Adjust if the FastAPI service is hosted elsewhere def get_similar_prompts(query, n): try: response = requests.post(API_URL, json={"query": query, "n": n}) response.raise_for_status() # Raise an exception for HTTP errors return response.json() except requests.RequestException as e: st.error(f"Error: {e}") return None def get_color(score): if score >= 0.8: return "green" elif score >= 0.5: return "orange" else: return "red" def main(): st.title("Prompt Similarity Finder") # User input for query query = st.text_input("Enter your query:", "") n = st.slider( "Number of similar prompts to retrieve:", min_value=1, max_value=40, value=5 ) if st.button("Find Similar Prompts"): if query: with st.spinner("Fetching similar prompts..."): result = get_similar_prompts(query, n) if result: similar_prompts = result.get("similar_prompts", []) if similar_prompts: st.subheader("Similar Prompts:") for item in similar_prompts: score = item["score"] color = get_color(score) # Apply color only to the score part st.markdown( f"
Score: {score:.2f}
Prompt: {item['prompt']}