====== Python Code Snippets ======
<= [[python|Terug naar Python start]]\\
<- -- [[ai_python|AI Python project (1)]]
===== Optionele waarden verwerken =====
Hier is een voorbeeld van een Python-object dat de verschillende opties bevat die je naar de OpenAI API kunt sturen, inclusief temperatuur, maximale tokens en andere relevante parameters:
class OpenAIOptions:
def __init__(self, prompt, system="", assistant="", temperature=0.8, max_tokens=100):
self.prompt = prompt
self.system = system
self.assistant = assistant
self.temperature = temperature
self.max_tokens = max_tokens
def to_messages(self):
messages = [{"role": "user", "content": self.prompt}]
if self.system != "":
messages.insert(0, {"role": "system", "content": self.system})
if self.assistant != "":
messages.append({"role": "assistant", "content": self.assistant})
return messages
In dit voorbeeld wordt de **OpenAIOptions**-klasse gedefinieerd, die de opties voor communicatie met de OpenAI API bevat. Het heeft attributen voor **prompt, system, assistant, temperature** en **max_tokens**.
De **to_messages-methode** converteert de objectinstantie naar een lijst van berichten die je kunt doorgeven aan de **messages**-parameter van de API-oproep. Het controleert of **system** en **assistant** niet lege strings zijn voordat ze aan de berichtenlijst worden toegevoegd.
Hier is hoe je dit object kunt gebruiken in je code:
openai.api_key = self.dmod.api_openai_key
options = OpenAIOptions(prompt, system="Your system message", assistant="Your assistant message")
completion = openai.ChatCompletion.create(
model=f"{mod}",
messages=options.to_messages(),
temperature=options.temperature,
max_tokens=options.max_tokens
)
print(completion.choices[0].message)
Op deze manier kun je een object van **OpenAIOptions** maken en de gewenste opties instellen. Vervolgens kun je de **to_messages**-methode gebruiken om de berichtenlijst te verkrijgen en deze doorgeven aan de API-oproep. Je kunt ook de **temperature** en **max_tokens** direct vanuit het object lezen en doorgeven aan de API-oproep.
----