thisisdev's picture
Update app.py
1d211eb verified
raw
history blame
1.83 kB
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.")