In einer Konversation mit mehreren Benutzern kann man die jeweiligen Eingaben der Benutzer in der Reihenfolge ihres Auftretens als separate Elemente in die `messages`-Liste im API-Anruf aufnehmen. Der einzige Unterschied zur Einzelbenutzer-Konversation besteht darin, dass man den `role`-Stern für jeden Benutzer mit einem eindeutigen Bezeichner wie ‘Benutzer1’, ‘Benutzer2’ etc. anpasst. Der Assistent antwortet dann auf jeden Benutzer entsprechend seiner Eingabe.
Hier ist ein Beispiel wie man das machen könnte:
```python
import openai
openai.api_key = ‘your-api-key’
response = openai.ChatCompletion.create(
model=“gpt-3.5-turbo”,
messages=[
{“role”: “system”, “content”: “Sie sind ein hilfreicher Assistent.”},
{“role”: “user”, content“Zeige mir das aktuelle Wetter.”},
{“role”: “assistant”, “content”: “Es ist derzeit sonnig und 25 Grad Celsius.”},
{“role”: “user2”, “content”: “Was gibt es zum Mittagessen?”},
]
)
print(response[‘choices’]0[‘message’][‘content’])
```
Im obigen Beispiel würde der Assistent auf die Frage “Was gibt es zum Mittagessen?” von `user2` reagieren.
Beachten Sie, dass der Kontext (die `messages`-Liste) eine maximale Tokenzahl von 4096 für `gpt-3.5-turbo` hat. Wenn Sie also sehr lange oder viele Nachrichten haben, müssen Sie möglicherweise ältere Nachrichten entfernen. Außerdem mischt GPT-3.5-turbo nicht automatisch mehrere Benutzer: wenn Sie einen Nachrichtenverlauf mit “user1” und “user2” haben und der letzte Benutzer in der Liste “user1” war, dann antwortet die API auf “user1”, selbst wenn “user2” die Frage gestellt hat. Sie müssen sicherstellen, dass der letzte “user” in der Liste der Benutzer ist, der eine Antwort erwartet.