# Geschlossene Domänen-Fragenbeantwortung mit LLMs

import { Tabs, Tab } from 'nextra/components';
import { Callout } from 'nextra/components';

## Hintergrund

Der folgende Prompt testet die Fähigkeiten eines LLM, geschlossene Domain-Fragen zu beantworten, was das Beantworten von Fragen zu einem spezifischen Thema oder Bereich beinhaltet.

<Callout type="warning" emoji="⚠️">
  Beachten Sie, dass aufgrund der herausfordernden Natur der Aufgabe
  LLMs wahrscheinlich Halluzinationen erzeugen, wenn sie keine
  Kenntnisse über die Frage haben.
</Callout>

## Prompt

```markdown
Patientenfakten:

- 20 Jahre alte Frau
- mit einer Vorgeschichte von Anorexia nervosa und Depression
- Blutdruck 100/50, Puls 50, Größe 5’5’’
- von ihrem Ernährungsberater überwiesen, aber leugnet ihre Krankheit
- berichtet, gut zu essen, ist aber stark untergewichtig

Bitte schreibe die oben genannten Daten in eine medizinische Notiz um, unter ausschließlicher Verwendung der oben genannten Informationen.
```

## Code / API

<Tabs items={['GPT-4 (OpenAI)', 'Mixtral MoE 8x7B Instruct (Fireworks)']}>
    <Tab>
  
    ```python
    from openai import OpenAI
    client = OpenAI()

    response = client.chat.completions.create(
    model="gpt-4",
    messages=[
        {
        "role": "user",
        "content": "Patient’s facts:\n- 20 year old female\n- with a history of anerxia nervosa and depression\n- blood pressure 100/50, pulse 50, height 5’5’’\n- referred by her nutrionist but is in denial of her illness\n- reports eating fine but is severely underweight\n\nPlease rewrite the data above into a medical note, using exclusively the information above."
        }
    ],
    temperature=1,
    max_tokens=500,
    top_p=1,
    frequency_penalty=0,
    presence_penalty=0
    )
    ```
    </Tab>

    <Tab>
        ```python
        import fireworks.client
        fireworks.client.api_key = "<FIREWORKS_API_KEY>"
        completion = fireworks.client.ChatCompletion.create(
            model="accounts/fireworks/models/mixtral-8x7b-instruct",
            messages=[
                {
                "role": "user",
                "content": "Patient’s facts:\n- 20 year old female\n- with a history of anerxia nervosa and depression\n- blood pressure 100/50, pulse 50, height 5’5’’\n- referred by her nutrionist but is in denial of her illness\n- reports eating fine but is severely underweight\n\nPlease rewrite the data above into a medical note, using exclusively the information above.",
                }
            ],
            stop=["<|im_start|>","<|im_end|>","<|endoftext|>"],
            stream=True,
            n=1,
            top_p=1,
            top_k=40,
            presence_penalty=0,
            frequency_penalty=0,
            prompt_truncate_len=1024,
            context_length_exceeded_behavior="truncate",
            temperature=0.9,
            max_tokens=4000
        )
        ```
    </Tab>

</Tabs>

## Referenz

- [Sparks of Artificial General Intelligence: Early experiments with GPT-4](https://arxiv.org/abs/2303.12712) (13. April 2023)
