Python Code Snippets

Terug naar Python start
← – 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.