Multi-Step prediction in timeseries LSTM

Hello, I’m using household_power_dataset(uploaded it to google drive). I take 7 columns from this dataset and split data by 24, so my window_size is 24. I get the first 24 entries and try to predict the next one. The question is how can I make my model predict 24 steps ahead instead of one? I’ve been trying to find information for a couple of days and still have no luck. So my main goal is to make the model to output the result in shape of (24, 7). If you have any idea how can I get this shape please let me know because I’m stuck. Here is the code of my model

import pandas as pd
import tensorflow as tf
import numpy as np

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Conv2D, MaxPooling2D, LSTM, Dropout, Flatten, Activation, BatchNormalization

def normalize_series(data, min, max):
    data = data - min
    data = data / max
    return data

df = pd.read_csv('household_power_consumption.csv', sep=',',
                  infer_datetime_format=True, index_col='datetime', header=0)

# Normalizes the data
data = df.values
data = normalize_series(data, data.min(axis=0), data.max(axis=0))

SPLIT_TIME = int(len(data) * 0.5)
x_train = data[:SPLIT_TIME]
x_valid = data[SPLIT_TIME:]

# It's pretty rough because it only for testing purposes

# Train data
X = []
Y = []
window_size = 24

for i in range(len(x_train) - window_size + 1):
  if len(x_train) - 1 >= i + window_size:
    X.append(x_train[i: i + window_size])
    Y.append(x_train[i + window_size])
X = np.array(X)
Y = np.array(Y)

# Validation data
X_test = []
Y_test = []
window_size = 24

for i in range(len(x_valid) - window_size + 1):
  if len(x_valid) - 1 >= i + window_size:
    X_test.append(x_valid[i: i + window_size])
    Y_test.append(x_valid[i + window_size])
X_test = np.array(X_test)
Y_test = np.array(Y_test)

model = Sequential()
model.add(LSTM(128, input_shape=(24, 7)))
model.add(Dense(100, activation='relu'))
model.add(Dense(7))
model.compile(loss='mae', optimizer='adam')
# fit network
model.fit(X,Y, batch_size=32, validation_data=(X_test, Y_test), epochs=30)

TensorFlow official website has a tutorial regarding time-series forecasting. Please have a look at Time series forecasting  |  TensorFlow Core especially starting from “Multi-step models” section.