# Erzeugen von MySQL-Queries mit LLMs

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

## Hintergrund

Dieser Prompt testet die Code-Generierungsfähigkeiten eines LLMs, indem er ihn auffordert, eine gültige MySQL-Query zu generieren, indem er Informationen über das Datenbankschema bereitstellt.

## Prompt

```markdown
"""
Tabelle departments, Spalten = [DepartmentId, DepartmentName]
Tabelle students, Spalten = [DepartmentId, StudentId, StudentName]
Erstelle eine MySQL-Query für alle Studierenden des Fachbereichs Informatik
"""
```

## 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": "\"\"\"\nTable departments, columns = [DepartmentId, DepartmentName]\nTable students, columns = [DepartmentId, StudentId, StudentName]\nCreate a MySQL query for all students in the Computer Science Department\n\"\"\""
                }
            ],
            temperature=1,
            max_tokens=1000,
            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": "\"\"\"\nTable departments, columns = [DepartmentId, DepartmentName]\nTable students, columns = [DepartmentId, StudentId, StudentName]\nCreate a MySQL query for all students in the Computer Science Department\n\"\"\"",
                }
            ],
            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

- [Prompt Engineering Guide](https://www.promptingguide.ai/introduction/examples#code-generation) (16. März 2023)
