Spaces:
Running
Running
fix empty search
Browse files
trauma/api/message/ai/openai_request.py
CHANGED
@@ -51,13 +51,16 @@ async def generate_search_request(user_messages_str: str, entity_data: dict):
|
|
51 |
return messages
|
52 |
|
53 |
|
54 |
-
@openai_wrapper(temperature=0.
|
55 |
async def generate_final_response(final_entities: str, user_message: str, message_history: list[dict]):
|
|
|
|
|
|
|
|
|
56 |
messages = [
|
57 |
{
|
58 |
"role": "system",
|
59 |
-
"content":
|
60 |
-
.replace("{final_entities}", final_entities)
|
61 |
|
62 |
},
|
63 |
*message_history,
|
@@ -68,6 +71,7 @@ async def generate_final_response(final_entities: str, user_message: str, messag
|
|
68 |
]
|
69 |
return messages
|
70 |
|
|
|
71 |
async def convert_value_to_embeddings(value: str) -> list[float]:
|
72 |
embeddings = await settings.OPENAI_CLIENT.embeddings.create(
|
73 |
input=value,
|
|
|
51 |
return messages
|
52 |
|
53 |
|
54 |
+
@openai_wrapper(temperature=0.8)
|
55 |
async def generate_final_response(final_entities: str, user_message: str, message_history: list[dict]):
|
56 |
+
if not json.loads(final_entities)['klinieken']:
|
57 |
+
prompt = TraumaPrompts.generate_empty_recommendations
|
58 |
+
else:
|
59 |
+
prompt = TraumaPrompts.generate_recommendation_decision.replace("{final_entities}", final_entities)
|
60 |
messages = [
|
61 |
{
|
62 |
"role": "system",
|
63 |
+
"content": prompt
|
|
|
64 |
|
65 |
},
|
66 |
*message_history,
|
|
|
71 |
]
|
72 |
return messages
|
73 |
|
74 |
+
|
75 |
async def convert_value_to_embeddings(value: str) -> list[float]:
|
76 |
embeddings = await settings.OPENAI_CLIENT.embeddings.create(
|
77 |
input=value,
|
trauma/api/message/ai/prompts.py
CHANGED
@@ -151,6 +151,18 @@ Je moet een antwoord genereren voor de gebruiker waarin je aangeeft dat hun verz
|
|
151 |
|
152 |
- Je antwoord moet kort en bondig zijn, bestaande uit twee zinnen.
|
153 |
- Je moet de gebruiker informeren dat hun verzoek onjuist is en je vorige vraag opnieuw stellen om verder te gaan met het verzamelen van informatie over de patiënt."""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
154 |
|
155 |
generate_clinic_description = """## Taak
|
156 |
|
@@ -180,9 +192,7 @@ Je bent verplicht om een beschrijving voor een kliniek te genereren op basis van
|
|
180 |
|
181 |
[/INST]"""
|
182 |
|
183 |
-
choose_closest_treatment_area = """
|
184 |
-
|
185 |
-
## Task
|
186 |
|
187 |
You must determine the most semantically similar disorder or disease from the list of [treatment areas] to the requested disease [requested treatment area]. The most similar disease should be returned in the [result] field of the JSON.
|
188 |
|
|
|
151 |
|
152 |
- Je antwoord moet kort en bondig zijn, bestaande uit twee zinnen.
|
153 |
- Je moet de gebruiker informeren dat hun verzoek onjuist is en je vorige vraag opnieuw stellen om verder te gaan met het verzamelen van informatie over de patiënt."""
|
154 |
+
generate_empty_recommendations = """## Taak
|
155 |
+
|
156 |
+
Je moet de gebruiker informeren dat er geen geschikte klinieken voor de patiënt zijn gevonden. Vraag de gebruiker vervolgens om te controleren of alle gegevens correct zijn ingevoerd en geef aan dat hij de details kan aanpassen en verduidelijken om de zoekresultaten te verbeteren.
|
157 |
+
|
158 |
+
## Context
|
159 |
+
|
160 |
+
De gebruiker probeert een geschikte kliniek voor de patiënt te vinden door de ziekte, leeftijd, behandelingsmethoden en andere details te beschrijven, terwijl hij communiceert met een AI-chatbot. Helaas heeft het systeem op basis van zijn eisen geen enkele kliniek gevonden. Je moet de gebruiker hierover informeren en vragen de patiëntgegevens aan te passen.
|
161 |
+
|
162 |
+
## Belangrijke opmerkingen
|
163 |
+
|
164 |
+
- Je antwoord moet kort en bondig zijn
|
165 |
+
- Je antwoord moet creatief en interessant zijn"""
|
166 |
|
167 |
generate_clinic_description = """## Taak
|
168 |
|
|
|
192 |
|
193 |
[/INST]"""
|
194 |
|
195 |
+
choose_closest_treatment_area = """## Task
|
|
|
|
|
196 |
|
197 |
You must determine the most semantically similar disorder or disease from the list of [treatment areas] to the requested disease [requested treatment area]. The most similar disease should be returned in the [result] field of the JSON.
|
198 |
|