-------------------------------------------------------------------------
Tworzenie serwera publicznego punktu końcowego, który wywołuje OpenAI API
-------------------------------------------------------------------------

import functions_framework
from openai import OpenAI

@functions_framework.http
def create_slogan(request):

    client = OpenAI(api_key = '<tutaj klucz API>')
    response = client.chat.completions.create(
        model="gpt-3.5-turbo",
        messages=[
            {
            "role": "system",
            "content": "Jesteś asystentem AI, który tworzy jeden slogan na podstawie opisu firmy"
            },
            {
            "role": "user",
            "content": "Firma, która sprzedaje lody"
            }
        ],
        temperature=1,
        max_tokens=256,
        top_p=1,
        frequency_penalty=0,
        presence_penalty=0
    )

    return response.choices[0].message.content

----------------------------------------------------------------------------------
Rozszerzanie serwera punktu końcowego tak, aby przyjmował parametry i zwracał dane
----------------------------------------------------------------------------------

import functions_framework
from openai import OpenAI

@functions_framework.http
def create_slogan_with_parameters (request):

    request_json = request.get_json(silent=True)
    business_description = request_json['name']

    client = OpenAI(api_key = '<klucz-api>')

    response = client.chat.completions.create(
        model="gpt-3.5-turbo",
        messages=[
            {
                "role": "system",
                "content": "Jesteś asystentem AI, który tworzy jeden slogan na podstawie opisu firmy"
            },
            {
                "role": "user",
                "content": business_description
            }
        ],
        temperature=1,
        max_tokens=256,
        top_p=1,
        frequency_penalty=0,
        presence_penalty=0
    )
    slogan = response.choices[0].message.content

    return {"slogan": slogan, "number_of_characters": len(slogan)}
