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.