Spaces:
Sleeping
Sleeping
Aishwarya Solanki
commited on
Commit
·
788d5cb
1
Parent(s):
1cb1ec9
Refining UI
Browse files
app.py
CHANGED
@@ -4,6 +4,7 @@ import google.generativeai as genai
|
|
4 |
import openai
|
5 |
from collections import Counter
|
6 |
from huggingface_hub import InferenceClient
|
|
|
7 |
|
8 |
def api_check_msg(api_key, selected_model):
|
9 |
res = validate_api_key(api_key, selected_model)
|
@@ -96,6 +97,21 @@ def generate_text_llama(key, prompt, temperature, top_p):
|
|
96 |
return response[len(prompt):]
|
97 |
return response
|
98 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
|
100 |
def diagnose(gpt_key, llama_key, gemini_key, top_p, temperature, symptoms):
|
101 |
|
@@ -110,6 +126,7 @@ def diagnose(gpt_key, llama_key, gemini_key, top_p, temperature, symptoms):
|
|
110 |
gemini_message = generate_text_gemini(gemini_key, prompt, temperature, top_p)
|
111 |
|
112 |
outputs = [gpt_message, llama_message, gemini_message]
|
|
|
113 |
output_counts = Counter(outputs)
|
114 |
majority_output, majority_count = output_counts.most_common(1)[0]
|
115 |
confidence = (majority_count / len(outputs)) * 100
|
|
|
4 |
import openai
|
5 |
from collections import Counter
|
6 |
from huggingface_hub import InferenceClient
|
7 |
+
import re
|
8 |
|
9 |
def api_check_msg(api_key, selected_model):
|
10 |
res = validate_api_key(api_key, selected_model)
|
|
|
97 |
return response[len(prompt):]
|
98 |
return response
|
99 |
|
100 |
+
def sanitize_outputs(outputs):
|
101 |
+
sanitized_results = []
|
102 |
+
for output in outputs:
|
103 |
+
output = output.replace("\n", " ")
|
104 |
+
output = re.sub(r"(Diagnose:|Answer:)", "", output, flags=re.IGNORECASE).strip()
|
105 |
+
diagnoses = ["Psoriasis", "Arthritis", "Bronchial asthma", "Cervical spondylosis"]
|
106 |
+
found_diagnoses = [disease for disease in diagnoses if disease in output]
|
107 |
+
|
108 |
+
if found_diagnoses:
|
109 |
+
sanitized_results.append(found_diagnoses[0])
|
110 |
+
else:
|
111 |
+
sanitized_results.append("Unknown") # Handle case where no valid diagnosis is found
|
112 |
+
|
113 |
+
return sanitized_results
|
114 |
+
|
115 |
|
116 |
def diagnose(gpt_key, llama_key, gemini_key, top_p, temperature, symptoms):
|
117 |
|
|
|
126 |
gemini_message = generate_text_gemini(gemini_key, prompt, temperature, top_p)
|
127 |
|
128 |
outputs = [gpt_message, llama_message, gemini_message]
|
129 |
+
outputs = sanitize_outputs(outputs)
|
130 |
output_counts = Counter(outputs)
|
131 |
majority_output, majority_count = output_counts.most_common(1)[0]
|
132 |
confidence = (majority_count / len(outputs)) * 100
|