ব্যাকগ্রাউন্ড এক্সিকিউশন

ডিপ রিসার্চ, জটিল যুক্তি বা মাল্টি-স্টেপ এজেন্ট এক্সিকিউশনের মতো দীর্ঘ সময় ধরে চলা টাস্কের ক্ষেত্রে, কানেকশন টাইমআউট স্ট্যান্ডার্ড HTTP অনুরোধে (যা সাধারণত ৬০ সেকেন্ড পরে বন্ধ হয়ে যায়) বাধা সৃষ্টি করতে পারে। Interactions API এই টাস্কগুলি অ্যাসিঙ্ক্রোনাসভাবে চালানোর জন্য ব্যাকগ্রাউন্ড এক্সিকিউশন প্রদান করে।

সার্ভারে টাস্ক সম্পূর্ণ না হওয়া পর্যন্ত ইন্টার‍্যাকশন চালাতে, ইন্টার‍্যাকশন তৈরি করার সময় "background": true সেট করুন। API সাথে সাথে একটি ইন্টার‍্যাকশন আইডি রিটার্ন করে, যা ক্লায়েন্ট অ্যাপ্লিকেশন স্ট্যাটাস, স্ট্রিম প্রোগ্রেস বা ডিসকানেক্ট হয়ে যাওয়া স্ট্রিম আবার কানেক্ট করার জন্য পোল করতে ব্যবহার করতে পারে।

ব্যাকগ্রাউন্ড এক্সিকিউশন স্ট্যান্ডার্ড Gemini মডেল (যেমন gemini-4-argon এবং gemini-3.8-flash) এবং ম্যানেজ করা এজেন্ট (যেমন antigravity-preview-09-2026)-এর জন্য কাজ করে।

ব্যাকগ্রাউন্ড ইন্টার‍্যাকশন তৈরি করুন

ব্যাকগ্রাউন্ড ইন্টার‍্যাকশন শুরু করতে, রিসোর্স তৈরি করার সময় background প্যারামিটারকে true হিসেবে সেট করুন।

Python

from google import genai

client = genai.Client()

interaction = client.interactions.create(
    model="gemini-3.8-flash",
    input="Write a guide on space exploration.",
    background=True,
)
print(f"Created background interaction ID: {interaction.id}")

জাভাস্ক্রিপ্ট

import { GoogleGenAI } from "@google/genai";

const client = new GoogleGenAI({});

const interaction = await client.interactions.create({
    model: "gemini-3.8-flash",
    input: "Write a guide on space exploration.",
    background: true,
});
console.log(`Created background interaction ID: ${interaction.id}`);

Java

import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;

Client client = new Client();

CreateModelInteraction params =
    CreateModelInteraction.builder()
        .model("gemini-3.8-flash")
        .input(InteractionsInput.of("Write a guide on space exploration."))
        .background(true)
        .build();

Interaction interaction =
    client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();
System.out.println("Created background interaction ID: " + interaction.id().orElse(""));

খুলুন

package main

import (
    "context"
    "fmt"
    "log"

    "google.golang.org/genai"
    "google.golang.org/genai/interactions/models/interactions"
    "google.golang.org/genai/interactions/models/operations"
)

func main() {
    ctx := context.Background()
    client, err := genai.NewClient(ctx, nil)
    if err != nil {
        log.Fatal(err)
    }

    res, err := client.Interactions.Create(ctx, operations.CreateInteractionRequest{
        Body: operations.NewCreateInteractionRequestBody(interactions.CreateModelInteraction{
            Model:      interactions.Model("gemini-3.8-flash"),
            Input:      interactions.NewInteractionsInput("Write a guide on space exploration."),
            Background: genai.Ptr(true),
        }),
    })
    if err != nil {
        log.Fatal(err)
    }
    if res.Interaction.ID != nil {
        fmt.Printf("Created background interaction ID: %s\n", *res.Interaction.ID)
    }
}

REST

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Api-Revision: 2026-05-20" \
  -d '{
    "model": "gemini-3.8-flash",
    "input": "Write a guide on space exploration.",
    "background": true
  }'

ব্যাকগ্রাউন্ড এক্সিকিউশন কীভাবে কাজ করে

আপনি ব্যাকগ্রাউন্ড ইন্টার‍্যাকশন তৈরি করলে, সার্ভারে টাস্কটি অ্যাসিঙ্ক্রোনাসভাবে রান করে। ইন্টার‍্যাকশন বিভিন্ন এক্সিকিউশন স্টেটের মাধ্যমে ট্রানজিশন করে:

  • in_progress: সার্ভার সক্রিয়ভাবে ইন্টার‍্যাকশন এক্সিকিউট করছে (যেমন, কোড রান করা বা রিসার্চ করা)।
  • requires_action: ইন্টার‍্যাকশন পজ করা হয়েছে এবং ক্লায়েন্ট ইনপুটের জন্য অপেক্ষা করা হচ্ছে (যেমন, টুল এক্সিকিউশন কনফার্ম করা বা কোনও প্রশ্নের উত্তর দেওয়া)।
  • completed: ইন্টার‍্যাকশন সম্পূর্ণ হয়েছে এবং আউটপুট উপলভ্য আছে।
  • failed: এক্সিকিউশনের সময় সমস্যা হয়েছে (যেমন, টুল কাজ না করা বা রেট লিমিট)।
  • cancelled: ক্লায়েন্টের অনুরোধে এক্সিকিউশন বন্ধ করা হয়েছে।

যেসব ক্ষেত্রে ব্যবহার করা যাবে

এর জন্য ব্যাকগ্রাউন্ড এক্সিকিউশন ব্যবহার করুন:

  • এজেন্ট এক্সিকিউশন: কোড এক্সিকিউশন, ওয়েব ব্রাউজিং বা সাব-এজেন্ট অর্কেস্ট্রেশন (যেমন antigravity-preview-09-2026) প্রয়োজন হয় এমন টাস্ক।

  • Deep Research: deep-research-preview-04-2026 বা deep-research-max-preview-04-2026 ব্যবহার করে রান করে, যা করতে কয়েক মিনিট সময় লাগে।

  • দীর্ঘ রিজনিং: যেসব টাস্কে বর্ধিত মডেল থিঙ্কিং ধাপ স্ট্যান্ডার্ড HTTP কানেকশন সীমা অতিক্রম করে।

  • লং ডিকোড (Gemini 4): 65,536 টোকেনের বাইরে এক্সটেন্ডেড কমপ্লিশন জেনারেট করে এমন টাস্ক। gemini-4-argon-এ, আপনি দীর্ঘ ডিকোড ব্যবহার করে max_output_tokens সর্বাধিক 1,048,576 টোকেন সেট করতে পারবেন।

ব্যাকগ্রাউন্ড এক্সিকিউশনের জন্য ডেটার রেকর্ড রাখা

background=True সেট করা থাকলে, আপনার প্রজেক্টের স্টোরেজে সার্ভার ইন্টার‍্যাকশন সেভ করে রাখে যাতে আপনি ফলাফল পোল বা স্ট্রিম করতে পারেন। store প্যারামিটার সেট করে আপনি ইন্টার‍্যাকশন কতক্ষণ স্টোর করা হবে তা কনফিগার করতে পারবেন:

  • store=True (ডিফল্ট): আপনার প্রোজেক্টের জন্য ৭ দিন ডিউরেবল স্টোরেজে সেভ করা হয়।
  • store=False: GET অনুরোধ ব্যবহার করে ফলাফল ফিরিয়ে আনার অনুমতি দিতে আপনার প্রোজেক্টের জন্য ২৪ ঘণ্টা (TTL) স্টোর করা হয়েছে।

ফলাফল ফিরিয়ে আনুন

পোলিং অথবা স্ট্রিমিং ব্যবহার করে ব্যাকগ্রাউন্ড ইন্টার‍্যাকশন ফলাফল পান।

পোলিং প্যাটার্ন (নন-ব্লকিং)

পোলিং, টার্মিনাল স্টেটে না পৌঁছানো পর্যন্ত নন-ব্লকিং GET অনুরোধ ব্যবহার করে পর্যায়ক্রমে ইন্টার‍্যাকশন স্ট্যাটাস চেক করে।

Python

import time
from google import genai

client = genai.Client()

interaction = client.interactions.get(id="YOUR_INTERACTION_ID")

while interaction.status == "in_progress":
    time.sleep(5)
    interaction = client.interactions.get(id=interaction.id)

if interaction.status == "completed":
    print(interaction.output_text)
else:
    print(f"Finished with status: {interaction.status}")

জাভাস্ক্রিপ্ট

import { GoogleGenAI } from "@google/genai";

const client = new GoogleGenAI({});

let interaction = await client.interactions.get("YOUR_INTERACTION_ID");

while (interaction.status === "in_progress") {
    await new Promise(resolve => setTimeout(resolve, 5000));
    interaction = await client.interactions.get(interaction.id);
}

if (interaction.status === "completed") {
    console.log(interaction.output_text);
} else {
    console.log(`Finished with status: ${interaction.status}`);
}

Java

import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionStatus;
import com.google.genai.gaos.models.operations.GetInteractionByIdRequest;

Client client = new Client();

Interaction interaction =
    client.interactions
        .get(GetInteractionByIdRequest.builder().id("YOUR_INTERACTION_ID").build())
        .interaction()
        .get();

while (InteractionStatus.IN_PROGRESS.equals(interaction.status().orElse(null))) {
  Thread.sleep(5000);
  interaction =
      client.interactions
          .get(GetInteractionByIdRequest.builder().id(interaction.id().get()).build())
          .interaction()
          .get();
}

if (InteractionStatus.COMPLETED.equals(interaction.status().orElse(null))) {
  System.out.println(interaction.outputText().orElse(""));
} else {
  System.out.println(
      "Finished with status: " + interaction.status().map(InteractionStatus::value).orElse(""));
}

খুলুন

package main

import (
    "context"
    "fmt"
    "log"
    "time"

    "google.golang.org/genai"
    "google.golang.org/genai/interactions/models/interactions"
    "google.golang.org/genai/interactions/models/operations"
)

func main() {
    ctx := context.Background()
    client, err := genai.NewClient(ctx, nil)
    if err != nil {
        log.Fatal(err)
    }

    res, err := client.Interactions.Get(ctx, operations.GetInteractionByIDRequest{
        ID: "YOUR_INTERACTION_ID",
    })
    if err != nil {
        log.Fatal(err)
    }
    interaction := res.Interaction

    for interaction.Status == interactions.InteractionStatusInProgress {
        time.Sleep(5 * time.Second)
        res, err = client.Interactions.Get(ctx, operations.GetInteractionByIDRequest{
            ID: *interaction.ID,
        })
        if err != nil {
            log.Fatal(err)
        }
        interaction = res.Interaction
    }

    if interaction.Status == interactions.InteractionStatusCompleted {
        if interaction.OutputText != nil {
            fmt.Println(*interaction.OutputText)
        }
    } else {
        fmt.Printf("Finished with status: %s\n", interaction.Status)
    }
}

বিশ্রাম

curl -X GET "https://generativelanguage.googleapis.com/v1beta/interactions/YOUR_INTERACTION_ID" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Api-Revision: 2026-05-20"

স্ট্রিমিং প্যাটার্ন

নেটওয়ার্ক ইন্টারাপশনের কারণে স্ট্রিম ডিসকানেক্ট হয়ে গেলে, শেষ পাওয়া ইভেন্ট থেকে স্ট্রিমিং আবার শুরু করা যেতে পারে। প্রতিটি ডেল্টার পেলোডে একটি অনন্য event_id থাকে। last_event_id হিসেবে এই আইডি পাস করা হলে, সেই ইভেন্ট থেকে স্ট্রিম আবার চালু হয়ে যায়।

Python

import time
from google import genai

client = genai.Client()
interaction_id = "YOUR_INTERACTION_ID"

def stream_with_reconnect(interaction_id: str):
    last_event_id = None
    while True:
        try:
            # Retrieve the stream. If resuming, pass last_event_id
            stream = client.interactions.get(
                id=interaction_id,
                stream=True,
                last_event_id=last_event_id
            )

            for event in stream:
                # Log event updates and capture event_id if present
                if event.event_id:
                    last_event_id = event.event_id

                if event.event_type == "step.delta" and event.delta.type == "text":
                    print(event.delta.text, end="", flush=True)

                if event.event_type == "interaction.completed":
                    return

        except Exception as e:
            print(f"\n[Connection lost: {e}. Reconnecting in 3s...]")
            time.sleep(3)

stream_with_reconnect(interaction_id)

জাভাস্ক্রিপ্ট

import { GoogleGenAI } from "@google/genai";

const client = new GoogleGenAI({});
const interactionId = "YOUR_INTERACTION_ID";

async function streamWithReconnect(id) {
    let lastEventId = undefined;
    while (true) {
        try {
            // Retrieve the stream. If resuming, pass last_event_id in options
            const stream = await client.interactions.get(id, {
                stream: true,
                last_event_id: lastEventId
            });

            for await (const event of stream) {
                // Capture event_id if present
                const idVal = event.event_id || event.id;
                if (idVal) {
                    lastEventId = idVal;
                }

                if (event.event_type === "step.delta" && event.delta?.type === "text") {
                    process.stdout.write(event.delta.text);
                }

                if (event.event_type === "interaction.completed") {
                    return;
                }
            }
        } catch (error) {
            console.log(`\n[Connection lost: ${error.message}. Reconnecting in 3s...]`);
            await new Promise(resolve => setTimeout(resolve, 3000));
        }
    }
}

await streamWithReconnect(interactionId);

Java

import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.InteractionCompletedEvent;
import com.google.genai.gaos.models.interactions.InteractionSSEEvent;
import com.google.genai.gaos.models.interactions.InteractionSSEStreamEvent;
import com.google.genai.gaos.models.interactions.StepDelta;
import com.google.genai.gaos.models.interactions.TextDelta;
import com.google.genai.gaos.models.operations.GetInteractionByIdRequest;
import com.google.genai.gaos.utils.EventStream;

Client client = new Client();
String interactionId = "YOUR_INTERACTION_ID";
String lastEventId = null;
boolean completed = false;

while (!completed) {
  try (EventStream<InteractionSSEStreamEvent> stream =
      client.interactions
          .get(
              GetInteractionByIdRequest.builder()
                  .id(interactionId)
                  .stream(true)
                  .lastEventId(lastEventId)
                  .build())
          .events()) {
    for (InteractionSSEStreamEvent streamEvent : stream) {
      InteractionSSEEvent event = streamEvent.data().orElse(null);
      if (event instanceof StepDelta) {
        StepDelta stepDelta = (StepDelta) event;
        if (stepDelta.eventId().isPresent()) {
          lastEventId = stepDelta.eventId().get();
        }
        if (stepDelta.delta().isPresent() && stepDelta.delta().get() instanceof TextDelta) {
          System.out.print(((TextDelta) stepDelta.delta().get()).text().orElse(""));
          System.out.flush();
        }
      } else if (event instanceof InteractionCompletedEvent) {
        completed = true;
        break;
      }
    }
  } catch (Exception e) {
    System.out.println("\n[Connection lost: " + e.getMessage() + ". Reconnecting in 3s...]");
    Thread.sleep(3000);
  }
}

খুলুন

package main

import (
    "context"
    "fmt"
    "log"
    "time"

    "google.golang.org/genai"
    "google.golang.org/genai/interactions/models/operations"
)

func main() {
    ctx := context.Background()
    client, err := genai.NewClient(ctx, nil)
    if err != nil {
        log.Fatal(err)
    }

    interactionID := "YOUR_INTERACTION_ID"
    var lastEventID *string
    completed := false

    for !completed {
        res, err := client.Interactions.Get(ctx, operations.GetInteractionByIDRequest{
            ID:          interactionID,
            Stream:      genai.Ptr(true),
            LastEventID: lastEventID,
        })
        if err != nil {
            fmt.Printf("\n[Connection lost: %v. Reconnecting in 3s...]\n", err)
            time.Sleep(3 * time.Second)
            continue
        }

        stream := res.InteractionSSEStreamEvent
        for stream.Next() {
            event := stream.Value()
            if stepDelta := event.GetDataStepDelta(); stepDelta != nil {
                if stepDelta.EventID != nil {
                    lastEventID = stepDelta.EventID
                }
                if textDelta := stepDelta.GetDeltaText(); textDelta != nil {
                    fmt.Print(textDelta.GetText())
                }
            } else if event.GetDataInteractionCompleted() != nil {
                completed = true
                break
            }
        }
        if err := stream.Err(); err != nil {
            fmt.Printf("\n[Stream error: %v. Reconnecting in 3s...]\n", err)
            _ = stream.Close()
            time.Sleep(3 * time.Second)
            continue
        }
        _ = stream.Close()
    }
}

REST

curl -N -X GET "https://generativelanguage.googleapis.com/v1beta/interactions/YOUR_INTERACTION_ID?stream=true&last_event_id=YOUR_LAST_EVENT_ID" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Api-Revision: 2026-05-20"

একাধিক কথোপকথন

পরবর্তী ইন্টার‍্যাকশনগুলি previous_interaction_id ব্যবহার করে ব্যাকগ্রাউন্ড কথোপকথনের সাথে চেইন করা যেতে পারে, যা এই সীমাবদ্ধতাগুলির সাপেক্ষে:

  1. অ্যাক্টিভ এক্সিকিউশন ব্লক করা হয়েছে: in_progress স্ট্যাটাস সহ কোনও ইন্টার‍্যাকশনের সাথে পরবর্তী ইন্টার‍্যাকশন চেইন করলে 400 Bad Request সমস্যা দেখা যায়। পরবর্তী ইন্টার‍্যাকশন শুরু করার আগে বর্তমান ইন্টার‍্যাকশন completed অবস্থায় পৌঁছানো পর্যন্ত অপেক্ষা করুন।
  2. ম্যানেজ করা এজেন্টের জন্য এনভায়রনমেন্ট প্যারামিটার: ম্যানেজ করা এজেন্টের (যেমন antigravity-preview-09-2026) জন্য ইন্টার‍্যাকশন চেইন করার সময়, অনুরোধে অবশ্যই previous_interaction_id ও environment দুটিই থাকতে হবে।

নিম্নলিখিত উদাহরণ থেকে কীভাবে ইন্টার‍্যাকশন চেইন করতে হয় তা জানুন:

Python

import time
from google import genai

client = genai.Client()
agent_model = "antigravity-preview-09-2026"

# First interaction: Provision sandbox environment and execute first instruction
interaction1 = client.interactions.create(
    agent=agent_model,
    input="Create a folder named project/ and write hello.py inside.",
    environment="remote",
    background=True
)

# Wait for completion
while True:
    check = client.interactions.get(id=interaction1.id)
    if check.status != "in_progress":
        break
    time.sleep(2)

# Second interaction: Chain using previous_interaction_id and environment
interaction2 = client.interactions.create(
    agent=agent_model,
    input="List all files in the project/ directory.",
    previous_interaction_id=interaction1.id,
    environment="remote",
    background=True
)

জাভাস্ক্রিপ্ট

import { GoogleGenAI } from "@google/genai";

const client = new GoogleGenAI({});
const agentModel = "antigravity-preview-09-2026";

// First interaction: Provision sandbox environment and execute first instruction
const interaction1 = await client.interactions.create({
    agent: agentModel,
    input: "Create a folder named project/ and write hello.py inside.",
    environment: "remote",
    background: true
});

// Wait for completion
while (true) {
    const check = await client.interactions.get(interaction1.id);
    if (check.status !== "in_progress") {
        break;
    }
    await new Promise(resolve => setTimeout(resolve, 2000));
}

// Second interaction: Chain using previous_interaction_id and environment
const interaction2 = await client.interactions.create({
    agent: agentModel,
    input: "List all files in the project/ directory.",
    previous_interaction_id: interaction1.id,
    environment: "remote",
    background: true
});

Java

import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.CreateModelInteractionEnvironment;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionStatus;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;
import com.google.genai.gaos.models.operations.GetInteractionByIdRequest;

Client client = new Client();
String agentModel = "antigravity-preview-09-2026";

// First interaction: Provision sandbox environment and execute first instruction
CreateModelInteraction params1 =
    CreateModelInteraction.builder()
        .model(agentModel)
        .input(InteractionsInput.of("Create a folder named project/ and write hello.py inside."))
        .environment(CreateModelInteractionEnvironment.of("remote"))
        .background(true)
        .build();

Interaction interaction1 =
    client.interactions.create(CreateInteractionRequestBody.of(params1)).interaction().get();

// Wait for completion
while (true) {
  Interaction check =
      client.interactions
          .get(GetInteractionByIdRequest.builder().id(interaction1.id().get()).build())
          .interaction()
          .get();
  if (!InteractionStatus.IN_PROGRESS.equals(check.status().orElse(null))) {
    break;
  }
  Thread.sleep(2000);
}

// Second interaction: Chain using previousInteractionId and environment
CreateModelInteraction params2 =
    CreateModelInteraction.builder()
        .model(agentModel)
        .input(InteractionsInput.of("List all files in the project/ directory."))
        .previousInteractionId(interaction1.id().get())
        .environment(CreateModelInteractionEnvironment.of("remote"))
        .background(true)
        .build();

Interaction interaction2 =
    client.interactions.create(CreateInteractionRequestBody.of(params2)).interaction().get();

খুলুন

package main

import (
    "context"
    "log"
    "time"

    "google.golang.org/genai"
    "google.golang.org/genai/interactions/models/interactions"
    "google.golang.org/genai/interactions/models/operations"
)

func main() {
    ctx := context.Background()
    client, err := genai.NewClient(ctx, nil)
    if err != nil {
        log.Fatal(err)
    }

    agentModel := interactions.Model("antigravity-preview-09-2026")
    remoteEnv := interactions.NewCreateModelInteractionEnvironment("remote")

    // First interaction: Provision sandbox environment and execute first instruction
    res1, err := client.Interactions.Create(ctx, operations.CreateInteractionRequest{
        Body: operations.NewCreateInteractionRequestBody(interactions.CreateModelInteraction{
            Model:       agentModel,
            Input:       interactions.NewInteractionsInput("Create a folder named project/ and write hello.py inside."),
            Environment: &remoteEnv,
            Background:  genai.Ptr(true),
        }),
    })
    if err != nil {
        log.Fatal(err)
    }

    // Wait for completion
    for {
        check, err := client.Interactions.Get(ctx, operations.GetInteractionByIDRequest{
            ID: *res1.Interaction.ID,
        })
        if err != nil {
            log.Fatal(err)
        }
        if check.Interaction.Status != interactions.InteractionStatusInProgress {
            break
        }
        time.Sleep(2 * time.Second)
    }

    // Second interaction: Chain using PreviousInteractionID and Environment
    _, err = client.Interactions.Create(ctx, operations.CreateInteractionRequest{
        Body: operations.NewCreateInteractionRequestBody(interactions.CreateModelInteraction{
            Model:                 agentModel,
            Input:                 interactions.NewInteractionsInput("List all files in the project/ directory."),
            PreviousInteractionID: res1.Interaction.ID,
            Environment:           &remoteEnv,
            Background:            genai.Ptr(true),
        }),
    })
    if err != nil {
        log.Fatal(err)
    }
}

বিশ্রাম

# Chain second interaction (Make sure FIRST_INTERACTION_ID has status 'completed')
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Api-Revision: 2026-05-20" \
  -d '{
    "agent": "antigravity-preview-09-2026",
    "input": "List all files in the project/ directory.",
    "previous_interaction_id": "FIRST_INTERACTION_ID",
    "environment": "remote",
    "background": true
  }'

বাতিল করা ও মুছে দেওয়া

বাতিল ও মুছে ফেলার অনুরোধ ব্যবহার করে চলমান এক্সিকিউশন নিয়ন্ত্রণ ও স্টোরেজ ম্যানেজ করুন:

  • বাতিল করুন (POST /interactions/{id}/cancel): যে টাস্ক চলছে সেটি বন্ধ করে দেয়। স্ট্যাটাস পরিবর্তন হয়ে cancelled হয়ে যায়। সার্ভারে ক্লিন-আপ অ্যাকশনের কারণে GET অনুরোধে স্ট্যাটাস আপডেট হতে কিছুটা দেরি হতে পারে।
  • মুছুন (DELETE /interactions/{id}): সার্ভার থেকে ইন্টার‍্যাকশন রেকর্ড সরিয়ে দেয়। পরবর্তী GET অনুরোধে 404 Not Found সমস্যা দেখা দেয়।

Python

from google import genai

client = genai.Client()

# Cancel a running interaction
client.interactions.cancel(id="YOUR_INTERACTION_ID")

# Delete the interaction record entirely
client.interactions.delete(id="YOUR_INTERACTION_ID")

জাভাস্ক্রিপ্ট

import { GoogleGenAI } from "@google/genai";

const client = new GoogleGenAI({});

// Cancel a running interaction
await client.interactions.cancel("YOUR_INTERACTION_ID");

// Delete the interaction record entirely
await client.interactions.delete("YOUR_INTERACTION_ID");

Java

import com.google.genai.Client;

Client client = new Client();

// Cancel a running interaction
client.interactions.cancel("YOUR_INTERACTION_ID");

// Delete the interaction record entirely
client.interactions.delete("YOUR_INTERACTION_ID");

খুলুন

package main

import (
    "context"
    "log"

    "google.golang.org/genai"
    "google.golang.org/genai/interactions/models/operations"
)

func main() {
    ctx := context.Background()
    client, err := genai.NewClient(ctx, nil)
    if err != nil {
        log.Fatal(err)
    }

    // Cancel a running interaction
    _, err = client.Interactions.Cancel(ctx, operations.CancelInteractionByIDRequest{
        ID: "YOUR_INTERACTION_ID",
    })
    if err != nil {
        log.Fatal(err)
    }

    // Delete the interaction record entirely
    _, err = client.Interactions.Delete(ctx, operations.DeleteInteractionRequest{
        ID: "YOUR_INTERACTION_ID",
    })
    if err != nil {
        log.Fatal(err)
    }
}

বিশ্রাম

# Cancel the interaction
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions/YOUR_INTERACTION_ID/cancel" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Api-Revision: 2026-05-20"

# Delete the interaction
curl -X DELETE "https://generativelanguage.googleapis.com/v1beta/interactions/YOUR_INTERACTION_ID" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Api-Revision: 2026-05-20"

পরবর্তী ধাপ