import os import streamlit as st import keyfile as kf import langchain from langchain.llms import OpenAI from langchain import PromptTemplate, LLMChain # Set up the Streamlit app st.title("Patient Symptom Analyzer") # Input field for OpenAI API Key api_key = kf.OPENKEY # Check if API key is provided if api_key: os.environ["OPENAI_API_KEY"] = api_key # Initialize the OpenAI LLM llm = OpenAI(temperature=0.7, max_tokens=1500) # Input field for patient symptoms symptoms = st.text_area("Enter the patient's symptoms:") # Generate Report button if st.button("Generate Report"): if symptoms: # Define the prompt template prompt = PromptTemplate( input_variables=["symptoms"], template=""" Given the following patient symptoms: {symptoms}, provide general information including: 1. Common conditions associated with these symptoms (without making a diagnosis). 2. General advice on seeking professional medical help. 3. Preventive measures to maintain health. Do not provide specific medical diagnoses or treatments. Emphasize the importance of consulting a healthcare professional for proper diagnosis and treatment. """ ) # Create the LLMChain with the prompt chain = LLMChain(llm=llm, prompt=prompt) # Generate the report with st.spinner("Generating report..."): try: report = chain.run(symptoms) st.success("Report generated successfully.") st.write(report) except Exception as e: st.error(f"An error occurred: {e}") else: st.warning("Please enter the patient's symptoms.") else: st.warning("Please enter your OpenAI API Key.")