brestok commited on
Commit
3342483
·
1 Parent(s): 28c36ca

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.4)
55
  async def generate_final_response(final_entities: str, user_message: str, message_history: list[dict]):
 
 
 
 
56
  messages = [
57
  {
58
  "role": "system",
59
- "content": TraumaPrompts.generate_recommendation_decision
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