Tuning

পদ্ধতি: tunedModels.generateContent

একটি ইনপুট GenerateContentRequest প্রদত্ত মডেল থেকে একটি প্রতিক্রিয়া তৈরি করে।

টিউন করা মডেল সহ মডেলগুলির মধ্যে ইনপুট ক্ষমতা আলাদা। বিস্তারিত জানার জন্য মডেল গাইড এবং টিউনিং গাইড দেখুন।

শেষপ্রান্ত

পোস্ট https://generativelanguage.googleapis.com/v1beta/{model=tunedModels/*}:generateContent

পাথ প্যারামিটার

model string

প্রয়োজন। সমাপ্তি তৈরি করার জন্য ব্যবহার করা Model নাম।

বিন্যাস: name=models/{model} । এটি tunedModels/{tunedmodel} ফর্মটি নেয়।

শরীরের অনুরোধ

অনুরোধের অংশে নিম্নলিখিত কাঠামো সহ ডেটা রয়েছে:

ক্ষেত্র
contents[] object ( Content )

প্রয়োজন। মডেলের সাথে বর্তমান কথোপকথনের বিষয়বস্তু।

একক-পালা প্রশ্নের জন্য, এটি একটি একক উদাহরণ। মাল্টি-টার্ন প্রশ্নের জন্য, এটি একটি পুনরাবৃত্ত ক্ষেত্র যাতে কথোপকথনের ইতিহাস + সর্বশেষ অনুরোধ থাকে।

tools[] object ( Tool )

ঐচ্ছিক। পরবর্তী প্রতিক্রিয়া তৈরি করতে মডেলটি ব্যবহার করতে পারে এমন Tools একটি তালিকা৷

একটি Tool হল কোডের একটি অংশ যা মডেলের জ্ঞান এবং সুযোগের বাইরে একটি ক্রিয়া সম্পাদন করতে বা ক্রিয়াগুলির সেট করার জন্য সিস্টেমটিকে বহিরাগত সিস্টেমের সাথে যোগাযোগ করতে সক্ষম করে। একমাত্র সমর্থিত টুল বর্তমানে Function

toolConfig object ( ToolConfig )

ঐচ্ছিক। অনুরোধে উল্লেখ করা যেকোনো Tool জন্য টুল কনফিগারেশন।

safetySettings[] object ( SafetySetting )

ঐচ্ছিক। অনিরাপদ বিষয়বস্তু ব্লক করার জন্য অনন্য SafetySetting দৃষ্টান্তের একটি তালিকা।

এটি GenerateContentRequest.contents এবং GenerateContentResponse.candidates এ প্রয়োগ করা হবে। প্রতিটি SafetyCategory প্রকারের জন্য একাধিক সেটিং থাকা উচিত নয়৷ এপিআই এই সেটিংস দ্বারা নির্ধারিত থ্রেশহোল্ড পূরণ করতে ব্যর্থ যে কোনো বিষয়বস্তু এবং প্রতিক্রিয়া ব্লক করবে। এই তালিকাটি সেফটিসেটিংসে নির্দিষ্ট করা প্রতিটি SafetyCategory জন্য ডিফল্ট সেটিংস ওভাররাইড করে। যদি তালিকায় প্রদত্ত একটি প্রদত্ত SafetyCategory জন্য কোনো SafetySetting না থাকে, তাহলে API সেই বিভাগের জন্য ডিফল্ট নিরাপত্তা সেটিং ব্যবহার করবে। ক্ষতির বিভাগগুলি HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT, HARM_CATEGORY_HARASSMENT সমর্থিত৷

systemInstruction object ( Content )

ঐচ্ছিক। বিকাশকারী সেট সিস্টেম নির্দেশ. বর্তমানে, শুধুমাত্র টেক্সট.

generationConfig object ( GenerationConfig )

ঐচ্ছিক। মডেল জেনারেশন এবং আউটপুটগুলির জন্য কনফিগারেশন বিকল্প।

cachedContent string

ঐচ্ছিক। ভবিষ্যদ্বাণী পরিবেশন করতে প্রসঙ্গ হিসাবে ব্যবহৃত ক্যাশ করা সামগ্রীর নাম৷ দ্রষ্টব্য: শুধুমাত্র স্পষ্ট ক্যাশে ব্যবহার করা হয়, যেখানে ব্যবহারকারীরা ক্যাশিং এর উপর নিয়ন্ত্রণ রাখতে পারে (যেমন কোন বিষয়বস্তু ক্যাশে করতে হবে) এবং নিশ্চিত খরচ সাশ্রয় উপভোগ করতে পারে। বিন্যাস: cachedContents/{cachedContent}

উদাহরণ অনুরোধ

পাঠ্য

পাইথন

model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content("Write a story about a magic backpack.")
print(response.text)

Node.js

// Make sure to include these imports:
// import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI(process.env.API_KEY);
const model = genAI.getGenerativeModel({ model: "gemini-1.5-flash" });

const prompt = "Write a story about a magic backpack.";

const result = await model.generateContent(prompt);
console.log(result.response.text());

কোটলিন

val generativeModel =
    GenerativeModel(
        // Specify a Gemini model appropriate for your use case
        modelName = "gemini-1.5-flash",
        // Access your API key as a Build Configuration variable (see "Set up your API key" above)
        apiKey = BuildConfig.apiKey)

val prompt = "Write a story about a magic backpack."
val response = generativeModel.generateContent(prompt)
print(response.text)

সুইফট

let generativeModel =
  GenerativeModel(
    // Specify a Gemini model appropriate for your use case
    name: "gemini-1.5-flash",
    // Access your API key from your on-demand resource .plist file (see "Set up your API key"
    // above)
    apiKey: APIKey.default
  )

let prompt = "Write a story about a magic backpack."
let response = try await generativeModel.generateContent(prompt)
if let text = response.text {
  print(text)
}

ডার্ট

final model = GenerativeModel(
  model: 'gemini-1.5-flash',
  apiKey: apiKey,
);
final prompt = 'Write a story about a magic backpack.';

final response = await model.generateContent([Content.text(prompt)]);
print(response.text);

জাভা

// Specify a Gemini model appropriate for your use case
GenerativeModel gm =
    new GenerativeModel(
        /* modelName */ "gemini-1.5-flash",
        // Access your API key as a Build Configuration variable (see "Set up your API key"
        // above)
        /* apiKey */ BuildConfig.apiKey);
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

Content content =
    new Content.Builder().addText("Write a story about a magic backpack.").build();

// For illustrative purposes only. You should use an executor that fits your needs.
Executor executor = Executors.newSingleThreadExecutor();

ListenableFuture<GenerateContentResponse> response = model.generateContent(content);
Futures.addCallback(
    response,
    new FutureCallback<GenerateContentResponse>() {
      @Override
      public void onSuccess(GenerateContentResponse result) {
        String resultText = result.getText();
        System.out.println(resultText);
      }

      @Override
      public void onFailure(Throwable t) {
        t.printStackTrace();
      }
    },
    executor);

ছবি

পাইথন

import PIL.Image

model = genai.GenerativeModel("gemini-1.5-flash")
organ = PIL.Image.open(media / "organ.jpg")
response = model.generate_content(["Tell me about this instrument", organ])
print(response.text)

Node.js

// Make sure to include these imports:
// import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI(process.env.API_KEY);
const model = genAI.getGenerativeModel({ model: "gemini-1.5-flash" });

function fileToGenerativePart(path, mimeType) {
  return {
    inlineData: {
      data: Buffer.from(fs.readFileSync(path)).toString("base64"),
      mimeType,
    },
  };
}

const prompt = "Describe how this product might be manufactured.";
// Note: The only accepted mime types are some image types, image/*.
const imagePart = fileToGenerativePart(
  `${mediaPath}/jetpack.jpg`,
  "image/jpeg",
);

const result = await model.generateContent([prompt, imagePart]);
console.log(result.response.text());

কোটলিন

val generativeModel =
    GenerativeModel(
        // Specify a Gemini model appropriate for your use case
        modelName = "gemini-1.5-flash",
        // Access your API key as a Build Configuration variable (see "Set up your API key" above)
        apiKey = BuildConfig.apiKey)

val image: Bitmap = BitmapFactory.decodeResource(context.resources, R.drawable.image)
val inputContent = content {
  image(image)
  text("What's in this picture?")
}

val response = generativeModel.generateContent(inputContent)
print(response.text)

সুইফট

let generativeModel =
  GenerativeModel(
    // Specify a Gemini model appropriate for your use case
    name: "gemini-1.5-flash",
    // Access your API key from your on-demand resource .plist file (see "Set up your API key"
    // above)
    apiKey: APIKey.default
  )

guard let image = UIImage(systemName: "cloud.sun") else { fatalError() }

let prompt = "What's in this picture?"

let response = try await generativeModel.generateContent(image, prompt)
if let text = response.text {
  print(text)
}

ডার্ট

final model = GenerativeModel(
  model: 'gemini-1.5-flash',
  apiKey: apiKey,
);

Future<DataPart> fileToPart(String mimeType, String path) async {
  return DataPart(mimeType, await File(path).readAsBytes());
}

final prompt = 'Describe how this product might be manufactured.';
final image = await fileToPart('image/jpeg', 'resources/jetpack.jpg');

final response = await model.generateContent([
  Content.multi([TextPart(prompt), image])
]);
print(response.text);

জাভা

// Specify a Gemini model appropriate for your use case
GenerativeModel gm =
    new GenerativeModel(
        /* modelName */ "gemini-1.5-flash",
        // Access your API key as a Build Configuration variable (see "Set up your API key"
        // above)
        /* apiKey */ BuildConfig.apiKey);
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

Bitmap image = BitmapFactory.decodeResource(context.getResources(), R.drawable.image);

Content content =
    new Content.Builder()
        .addText("What's different between these pictures?")
        .addImage(image)
        .build();

// For illustrative purposes only. You should use an executor that fits your needs.
Executor executor = Executors.newSingleThreadExecutor();

ListenableFuture<GenerateContentResponse> response = model.generateContent(content);
Futures.addCallback(
    response,
    new FutureCallback<GenerateContentResponse>() {
      @Override
      public void onSuccess(GenerateContentResponse result) {
        String resultText = result.getText();
        System.out.println(resultText);
      }

      @Override
      public void onFailure(Throwable t) {
        t.printStackTrace();
      }
    },
    executor);

শ্রুতি

পাইথন

model = genai.GenerativeModel("gemini-1.5-flash")
sample_audio = genai.upload_file(media / "sample.mp3")
response = model.generate_content(["Give me a summary of this audio file.", sample_audio])
print(response.text)

Node.js

// Make sure to include these imports:
// import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI(process.env.API_KEY);
const model = genAI.getGenerativeModel({ model: "gemini-1.5-flash" });

function fileToGenerativePart(path, mimeType) {
  return {
    inlineData: {
      data: Buffer.from(fs.readFileSync(path)).toString("base64"),
      mimeType,
    },
  };
}

const prompt = "Give me a summary of this audio file.";
// Note: The only accepted mime types are some image types, image/*.
const audioPart = fileToGenerativePart(
  `${mediaPath}/samplesmall.mp3`,
  "audio/mp3",
);

const result = await model.generateContent([prompt, audioPart]);
console.log(result.response.text());

ভিডিও

পাইথন

import time

# Video clip (CC BY 3.0) from https://peach.blender.org/download/
myfile = genai.upload_file(media / "Big_Buck_Bunny.mp4")
print(f"{myfile=}")

# Videos need to be processed before you can use them.
while myfile.state.name == "PROCESSING":
    print("processing video...")
    time.sleep(5)
    myfile = genai.get_file(myfile.name)

model = genai.GenerativeModel("gemini-1.5-flash")
result = model.generate_content([myfile, "Describe this video clip"])
print(f"{result.text=}")

Node.js

// Make sure to include these imports:
// import { GoogleGenerativeAI } from "@google/generative-ai";
// import { GoogleAIFileManager, FileState } from "@google/generative-ai/server";
const genAI = new GoogleGenerativeAI(process.env.API_KEY);
const model = genAI.getGenerativeModel({ model: "gemini-1.5-flash" });

const fileManager = new GoogleAIFileManager(process.env.API_KEY);

const uploadResult = await fileManager.uploadFile(
  `${mediaPath}/Big_Buck_Bunny.mp4`,
  { mimeType: "video/mp4" },
);

let file = await fileManager.getFile(uploadResult.file.name);
while (file.state === FileState.PROCESSING) {
  process.stdout.write(".");
  // Sleep for 10 seconds
  await new Promise((resolve) => setTimeout(resolve, 10_000));
  // Fetch the file from the API again
  file = await fileManager.getFile(uploadResult.file.name);
}

if (file.state === FileState.FAILED) {
  throw new Error("Video processing failed.");
}

const prompt = "Describe this video clip";
const videoPart = {
  fileData: {
    fileUri: uploadResult.file.uri,
    mimeType: uploadResult.file.mimeType,
  },
};

const result = await model.generateContent([prompt, videoPart]);
console.log(result.response.text());

চ্যাট

পাইথন

model = genai.GenerativeModel("gemini-1.5-flash")
chat = model.start_chat(
    history=[
        {"role": "user", "parts": "Hello"},
        {"role": "model", "parts": "Great to meet you. What would you like to know?"},
    ]
)
response = chat.send_message("I have 2 dogs in my house.")
print(response.text)
response = chat.send_message("How many paws are in my house?")
print(response.text)

Node.js

// Make sure to include these imports:
// import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI(process.env.API_KEY);
const model = genAI.getGenerativeModel({ model: "gemini-1.5-flash" });
const chat = model.startChat({
  history: [
    {
      role: "user",
      parts: [{ text: "Hello" }],
    },
    {
      role: "model",
      parts: [{ text: "Great to meet you. What would you like to know?" }],
    },
  ],
});
let result = await chat.sendMessage("I have 2 dogs in my house.");
console.log(result.response.text());
result = await chat.sendMessage("How many paws are in my house?");
console.log(result.response.text());

শেল

curl https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=$GOOGLE_API_KEY \
    -H 'Content-Type: application/json' \
    -X POST \
    -d '{
      "contents": [
        {"role":"user",
         "parts":[{
           "text": "Hello"}]},
        {"role": "model",
         "parts":[{
           "text": "Great to meet you. What would you like to know?"}]},
        {"role":"user",
         "parts":[{
           "text": "I have two dogs in my house. How many paws are in my house?"}]},
      ]
    }' 2> /dev/null | grep "text"

কোটলিন

val generativeModel =
    GenerativeModel(
        // Specify a Gemini model appropriate for your use case
        modelName = "gemini-1.5-flash",
        // Access your API key as a Build Configuration variable (see "Set up your API key" above)
        apiKey = BuildConfig.apiKey)

val chat =
    generativeModel.startChat(
        history =
            listOf(
                content(role = "user") { text("Hello, I have 2 dogs in my house.") },
                content(role = "model") {
                  text("Great to meet you. What would you like to know?")
                }))

val response = chat.sendMessage("How many paws are in my house?")
print(response.text)

সুইফট

let generativeModel =
  GenerativeModel(
    // Specify a Gemini model appropriate for your use case
    name: "gemini-1.5-flash",
    // Access your API key from your on-demand resource .plist file (see "Set up your API key"
    // above)
    apiKey: APIKey.default
  )

// Optionally specify existing chat history
let history = [
  ModelContent(role: "user", parts: "Hello, I have 2 dogs in my house."),
  ModelContent(role: "model", parts: "Great to meet you. What would you like to know?"),
]

// Initialize the chat with optional chat history
let chat = generativeModel.startChat(history: history)

// To generate text output, call sendMessage and pass in the message
let response = try await chat.sendMessage("How many paws are in my house?")
if let text = response.text {
  print(text)
}

ডার্ট

final model = GenerativeModel(
  model: 'gemini-1.5-flash',
  apiKey: apiKey,
);
final chat = model.startChat(history: [
  Content.text('hello'),
  Content.model([TextPart('Great to meet you. What would you like to know?')])
]);
var response =
    await chat.sendMessage(Content.text('I have 2 dogs in my house.'));
print(response.text);
response =
    await chat.sendMessage(Content.text('How many paws are in my house?'));
print(response.text);

জাভা

// Specify a Gemini model appropriate for your use case
GenerativeModel gm =
    new GenerativeModel(
        /* modelName */ "gemini-1.5-flash",
        // Access your API key as a Build Configuration variable (see "Set up your API key"
        // above)
        /* apiKey */ BuildConfig.apiKey);
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

// (optional) Create previous chat history for context
Content.Builder userContentBuilder = new Content.Builder();
userContentBuilder.setRole("user");
userContentBuilder.addText("Hello, I have 2 dogs in my house.");
Content userContent = userContentBuilder.build();

Content.Builder modelContentBuilder = new Content.Builder();
modelContentBuilder.setRole("model");
modelContentBuilder.addText("Great to meet you. What would you like to know?");
Content modelContent = userContentBuilder.build();

List<Content> history = Arrays.asList(userContent, modelContent);

// Initialize the chat
ChatFutures chat = model.startChat(history);

// Create a new user message
Content.Builder userMessageBuilder = new Content.Builder();
userMessageBuilder.setRole("user");
userMessageBuilder.addText("How many paws are in my house?");
Content userMessage = userMessageBuilder.build();

// For illustrative purposes only. You should use an executor that fits your needs.
Executor executor = Executors.newSingleThreadExecutor();

// Send the message
ListenableFuture<GenerateContentResponse> response = chat.sendMessage(userMessage);

Futures.addCallback(
    response,
    new FutureCallback<GenerateContentResponse>() {
      @Override
      public void onSuccess(GenerateContentResponse result) {
        String resultText = result.getText();
        System.out.println(resultText);
      }

      @Override
      public void onFailure(Throwable t) {
        t.printStackTrace();
      }
    },
    executor);

ক্যাশে

পাইথন

document = genai.upload_file(path=media / "a11.txt")
model_name = "gemini-1.5-flash-001"
cache = genai.caching.CachedContent.create(
    model=model_name,
    system_instruction="You are an expert analyzing transcripts.",
    contents=[document],
)
print(cache)

model = genai.GenerativeModel.from_cached_content(cache)
response = model.generate_content("Please summarize this transcript")
print(response.text)

Node.js

// Make sure to include these imports:
// import { GoogleAICacheManager, GoogleAIFileManager } from "@google/generative-ai/server";
// import { GoogleGenerativeAI } from "@google/generative-ai";
const cacheManager = new GoogleAICacheManager(process.env.API_KEY);
const fileManager = new GoogleAIFileManager(process.env.API_KEY);

const uploadResult = await fileManager.uploadFile(`${mediaPath}/a11.txt`, {
  mimeType: "text/plain",
});

const cacheResult = await cacheManager.create({
  model: "models/gemini-1.5-flash-001",
  contents: [
    {
      role: "user",
      parts: [
        {
          fileData: {
            fileUri: uploadResult.file.uri,
            mimeType: uploadResult.file.mimeType,
          },
        },
      ],
    },
  ],
});

console.log(cacheResult);

const genAI = new GoogleGenerativeAI(process.env.API_KEY);
const model = genAI.getGenerativeModelFromCachedContent(cacheResult);
const result = await model.generateContent(
  "Please summarize this transcript.",
);
console.log(result.response.text());

টিউন করা মডেল

পাইথন

model = genai.GenerativeModel(model_name="tunedModels/my-increment-model")
result = model.generate_content("III")
print(result.text)  # "IV"

JSON মোড

পাইথন

import typing_extensions as typing

class Recipe(typing.TypedDict):
    recipe_name: str

model = genai.GenerativeModel("gemini-1.5-pro-latest")
result = model.generate_content(
    "List a few popular cookie recipes.",
    generation_config=genai.GenerationConfig(
        response_mime_type="application/json", response_schema=list([Recipe])
    ),
)
print(result)

Node.js

// Make sure to include these imports:
// import { GoogleGenerativeAI, FunctionDeclarationSchemaType } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI(process.env.API_KEY);

const schema = {
  description: "List of recipes",
  type: FunctionDeclarationSchemaType.ARRAY,
  items: {
    type: FunctionDeclarationSchemaType.OBJECT,
    properties: {
      recipeName: {
        type: FunctionDeclarationSchemaType.STRING,
        description: "Name of the recipe",
        nullable: false,
      },
    },
    required: ["recipeName"],
  },
};

const model = genAI.getGenerativeModel({
  model: "gemini-1.5-pro",
  generationConfig: {
    responseMimeType: "application/json",
    responseSchema: schema,
  },
});

const result = await model.generateContent(
  "List a few popular cookie recipes.",
);
console.log(result.response.text());

কোটলিন

val generativeModel =
    GenerativeModel(
        // Specify a Gemini model appropriate for your use case
        modelName = "gemini-1.5-pro",
        // Access your API key as a Build Configuration variable (see "Set up your API key" above)
        apiKey = BuildConfig.apiKey,
        generationConfig = generationConfig {
            responseMimeType = "application/json"
            responseSchema = Schema(
                name = "recipes",
                description = "List of recipes",
                type = FunctionType.ARRAY,
                items = Schema(
                    name = "recipe",
                    description = "A recipe",
                    type = FunctionType.OBJECT,
                    properties = mapOf(
                        "recipeName" to Schema(
                            name = "recipeName",
                            description = "Name of the recipe",
                            type = FunctionType.STRING,
                            nullable = false
                        ),
                    ),
                    required = listOf("recipeName")
                ),
            )
        })

val prompt = "List a few popular cookie recipes."
val response = generativeModel.generateContent(prompt)
print(response.text)

সুইফট

let jsonSchema = Schema(
  type: .array,
  description: "List of recipes",
  items: Schema(
    type: .object,
    properties: [
      "recipeName": Schema(type: .string, description: "Name of the recipe", nullable: false),
    ],
    requiredProperties: ["recipeName"]
  )
)

let generativeModel = GenerativeModel(
  // Specify a model that supports controlled generation like Gemini 1.5 Pro
  name: "gemini-1.5-pro",
  // Access your API key from your on-demand resource .plist file (see "Set up your API key"
  // above)
  apiKey: APIKey.default,
  generationConfig: GenerationConfig(
    responseMIMEType: "application/json",
    responseSchema: jsonSchema
  )
)

let prompt = "List a few popular cookie recipes."
let response = try await generativeModel.generateContent(prompt)
if let text = response.text {
  print(text)
}

ডার্ট

final schema = Schema.array(
    description: 'List of recipes',
    items: Schema.object(properties: {
      'recipeName':
          Schema.string(description: 'Name of the recipe.', nullable: false)
    }, requiredProperties: [
      'recipeName'
    ]));

final model = GenerativeModel(
    model: 'gemini-1.5-pro',
    apiKey: apiKey,
    generationConfig: GenerationConfig(
        responseMimeType: 'application/json', responseSchema: schema));

final prompt = 'List a few popular cookie recipes.';
final response = await model.generateContent([Content.text(prompt)]);
print(response.text);

জাভা

Schema<List<String>> schema =
    new Schema(
        /* name */ "recipes",
        /* description */ "List of recipes",
        /* format */ null,
        /* nullable */ false,
        /* list */ null,
        /* properties */ null,
        /* required */ null,
        /* items */ new Schema(
            /* name */ "recipe",
            /* description */ "A recipe",
            /* format */ null,
            /* nullable */ false,
            /* list */ null,
            /* properties */ Map.of(
                "recipeName",
                new Schema(
                    /* name */ "recipeName",
                    /* description */ "Name of the recipe",
                    /* format */ null,
                    /* nullable */ false,
                    /* list */ null,
                    /* properties */ null,
                    /* required */ null,
                    /* items */ null,
                    /* type */ FunctionType.STRING)),
            /* required */ null,
            /* items */ null,
            /* type */ FunctionType.OBJECT),
        /* type */ FunctionType.ARRAY);

GenerationConfig.Builder configBuilder = new GenerationConfig.Builder();
configBuilder.responseMimeType = "application/json";
configBuilder.responseSchema = schema;

GenerationConfig generationConfig = configBuilder.build();

// Specify a Gemini model appropriate for your use case
GenerativeModel gm =
    new GenerativeModel(
        /* modelName */ "gemini-1.5-pro",
        // Access your API key as a Build Configuration variable (see "Set up your API key"
        // above)
        /* apiKey */ BuildConfig.apiKey,
        /* generationConfig */ generationConfig);
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

Content content = new Content.Builder().addText("List a few popular cookie recipes.").build();

// For illustrative purposes only. You should use an executor that fits your needs.
Executor executor = Executors.newSingleThreadExecutor();

ListenableFuture<GenerateContentResponse> response = model.generateContent(content);
Futures.addCallback(
    response,
    new FutureCallback<GenerateContentResponse>() {
      @Override
      public void onSuccess(GenerateContentResponse result) {
        String resultText = result.getText();
        System.out.println(resultText);
      }

      @Override
      public void onFailure(Throwable t) {
        t.printStackTrace();
      }
    },
    executor);

কোড এক্সিকিউশন

পাইথন

model = genai.GenerativeModel(model_name="gemini-1.5-flash", tools="code_execution")
response = model.generate_content(
    (
        "What is the sum of the first 50 prime numbers? "
        "Generate and run code for the calculation, and make sure you get all 50."
    )
)

# Each `part` either contains `text`, `executable_code` or an `execution_result`
for part in result.candidates[0].content.parts:
    print(part, "\n")

print("-" * 80)
# The `.text` accessor joins the parts into a markdown compatible text representation.
print("\n\n", response.text)

কোটলিন


val model = GenerativeModel(
    // Specify a Gemini model appropriate for your use case
    modelName = "gemini-1.5-pro",
    // Access your API key as a Build Configuration variable (see "Set up your API key" above)
    apiKey = BuildConfig.apiKey,
    tools = listOf(Tool.CODE_EXECUTION)
)

val response = model.generateContent("What is the sum of the first 50 prime numbers?")

// Each `part` either contains `text`, `executable_code` or an `execution_result`
println(response.candidates[0].content.parts.joinToString("\n"))

// Alternatively, you can use the `text` accessor which joins the parts into a markdown compatible
// text representation
println(response.text)

জাভা

// Specify a Gemini model appropriate for your use case
GenerativeModel gm =
        new GenerativeModel(
                /* modelName */ "gemini-1.5-pro",
                // Access your API key as a Build Configuration variable (see "Set up your API key"
                // above)
                /* apiKey */ BuildConfig.apiKey,
                /* generationConfig */ null,
                /* safetySettings */ null,
                /* requestOptions */ new RequestOptions(),
                /* tools */ Collections.singletonList(Tool.CODE_EXECUTION));
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

Content inputContent =
        new Content.Builder().addText("What is the sum of the first 50 prime numbers?").build();

// For illustrative purposes only. You should use an executor that fits your needs.
Executor executor = Executors.newSingleThreadExecutor();

ListenableFuture<GenerateContentResponse> response = model.generateContent(inputContent);
Futures.addCallback(
        response,
        new FutureCallback<GenerateContentResponse>() {
            @Override
            public void onSuccess(GenerateContentResponse result) {
                // Each `part` either contains `text`, `executable_code` or an
                // `execution_result`
                Candidate candidate = result.getCandidates().get(0);
                for (Part part : candidate.getContent().getParts()) {
                    System.out.println(part);
                }

                // Alternatively, you can use the `text` accessor which joins the parts into a
                // markdown compatible text representation
                String resultText = result.getText();
                System.out.println(resultText);
            }

            @Override
            public void onFailure(Throwable t) {
                t.printStackTrace();
            }
        },
        executor);

ফাংশন কলিং

পাইথন

def add(a: float, b: float):
    """returns a + b."""
    return a + b

def subtract(a: float, b: float):
    """returns a - b."""
    return a - b

def multiply(a: float, b: float):
    """returns a * b."""
    return a * b

def divide(a: float, b: float):
    """returns a / b."""
    return a / b

model = genai.GenerativeModel(
    model_name="gemini-1.5-flash", tools=[add, subtract, multiply, divide]
)
chat = model.start_chat(enable_automatic_function_calling=True)
response = chat.send_message(
    "I have 57 cats, each owns 44 mittens, how many mittens is that in total?"
)
print(response.text)

Node.js

// Make sure to include these imports:
// import { GoogleGenerativeAI } from "@google/generative-ai";
async function setLightValues(brightness, colorTemperature) {
  // This mock API returns the requested lighting values
  return {
    brightness,
    colorTemperature,
  };
}

const controlLightFunctionDeclaration = {
  name: "controlLight",
  parameters: {
    type: "OBJECT",
    description: "Set the brightness and color temperature of a room light.",
    properties: {
      brightness: {
        type: "NUMBER",
        description:
          "Light level from 0 to 100. Zero is off and 100 is full brightness.",
      },
      colorTemperature: {
        type: "STRING",
        description:
          "Color temperature of the light fixture which can be `daylight`, `cool` or `warm`.",
      },
    },
    required: ["brightness", "colorTemperature"],
  },
};

// Executable function code. Put it in a map keyed by the function name
// so that you can call it once you get the name string from the model.
const functions = {
  controlLight: ({ brightness, colorTemperature }) => {
    return setLightValues(brightness, colorTemperature);
  },
};

const genAI = new GoogleGenerativeAI(process.env.API_KEY);
const model = genAI.getGenerativeModel({
  model: "gemini-1.5-flash",
  tools: { functionDeclarations: [controlLightFunctionDeclaration] },
});
const chat = model.startChat();
const prompt = "Dim the lights so the room feels cozy and warm.";

// Send the message to the model.
const result = await chat.sendMessage(prompt);

// For simplicity, this uses the first function call found.
const call = result.response.functionCalls()[0];

if (call) {
  // Call the executable function named in the function call
  // with the arguments specified in the function call and
  // let it call the hypothetical API.
  const apiResponse = await functions[call.name](call.args);

  // Send the API response back to the model so it can generate
  // a text response that can be displayed to the user.
  const result2 = await chat.sendMessage([
    {
      functionResponse: {
        name: "controlLight",
        response: apiResponse,
      },
    },
  ]);

  // Log the text response.
  console.log(result2.response.text());
}

কোটলিন

fun multiply(a: Double, b: Double) = a * b

val multiplyDefinition = defineFunction(
    name = "multiply",
    description = "returns the product of the provided numbers.",
    parameters = listOf(
    Schema.double("a", "First number"),
    Schema.double("b", "Second number")
    )
)

val usableFunctions = listOf(multiplyDefinition)

val generativeModel =
    GenerativeModel(
        // Specify a Gemini model appropriate for your use case
        modelName = "gemini-1.5-flash",
        // Access your API key as a Build Configuration variable (see "Set up your API key" above)
        apiKey = BuildConfig.apiKey,
        // List the functions definitions you want to make available to the model
        tools = listOf(Tool(usableFunctions))
    )

val chat = generativeModel.startChat()
val prompt = "I have 57 cats, each owns 44 mittens, how many mittens is that in total?"

// Send the message to the generative model
var response = chat.sendMessage(prompt)

// Check if the model responded with a function call
response.functionCalls.first { it.name == "multiply" }.apply {
    val a: String by args
    val b: String by args

    val result = JSONObject(mapOf("result" to multiply(a.toDouble(), b.toDouble())))
    response = chat.sendMessage(
        content(role = "function") {
            part(FunctionResponsePart("multiply", result))
        }
    )
}

// Whenever the model responds with text, show it in the UI
response.text?.let { modelResponse ->
    println(modelResponse)
}

সুইফট

// Calls a hypothetical API to control a light bulb and returns the values that were set.
func controlLight(brightness: Double, colorTemperature: String) -> JSONObject {
  return ["brightness": .number(brightness), "colorTemperature": .string(colorTemperature)]
}

let generativeModel =
  GenerativeModel(
    // Use a model that supports function calling, like a Gemini 1.5 model
    name: "gemini-1.5-flash",
    // Access your API key from your on-demand resource .plist file (see "Set up your API key"
    // above)
    apiKey: APIKey.default,
    tools: [Tool(functionDeclarations: [
      FunctionDeclaration(
        name: "controlLight",
        description: "Set the brightness and color temperature of a room light.",
        parameters: [
          "brightness": Schema(
            type: .number,
            format: "double",
            description: "Light level from 0 to 100. Zero is off and 100 is full brightness."
          ),
          "colorTemperature": Schema(
            type: .string,
            format: "enum",
            description: "Color temperature of the light fixture.",
            enumValues: ["daylight", "cool", "warm"]
          ),
        ],
        requiredParameters: ["brightness", "colorTemperature"]
      ),
    ])]
  )

let chat = generativeModel.startChat()

let prompt = "Dim the lights so the room feels cozy and warm."

// Send the message to the model.
let response1 = try await chat.sendMessage(prompt)

// Check if the model responded with a function call.
// For simplicity, this sample uses the first function call found.
guard let functionCall = response1.functionCalls.first else {
  fatalError("Model did not respond with a function call.")
}
// Print an error if the returned function was not declared
guard functionCall.name == "controlLight" else {
  fatalError("Unexpected function called: \(functionCall.name)")
}
// Verify that the names and types of the parameters match the declaration
guard case let .number(brightness) = functionCall.args["brightness"] else {
  fatalError("Missing argument: brightness")
}
guard case let .string(colorTemperature) = functionCall.args["colorTemperature"] else {
  fatalError("Missing argument: colorTemperature")
}

// Call the executable function named in the FunctionCall with the arguments specified in the
// FunctionCall and let it call the hypothetical API.
let apiResponse = controlLight(brightness: brightness, colorTemperature: colorTemperature)

// Send the API response back to the model so it can generate a text response that can be
// displayed to the user.
let response2 = try await chat.sendMessage([ModelContent(
  role: "function",
  parts: [.functionResponse(FunctionResponse(name: "controlLight", response: apiResponse))]
)])

if let text = response2.text {
  print(text)
}

ডার্ট

Map<String, Object?> setLightValues(Map<String, Object?> args) {
  return args;
}

final controlLightFunction = FunctionDeclaration(
    'controlLight',
    'Set the brightness and color temperature of a room light.',
    Schema.object(properties: {
      'brightness': Schema.number(
          description:
              'Light level from 0 to 100. Zero is off and 100 is full brightness.',
          nullable: false),
      'colorTemperatur': Schema.string(
          description:
              'Color temperature of the light fixture which can be `daylight`, `cool`, or `warm`',
          nullable: false),
    }));

final functions = {controlLightFunction.name: setLightValues};
FunctionResponse dispatchFunctionCall(FunctionCall call) {
  final function = functions[call.name]!;
  final result = function(call.args);
  return FunctionResponse(call.name, result);
}

final model = GenerativeModel(
  model: 'gemini-1.5-pro',
  apiKey: apiKey,
  tools: [
    Tool(functionDeclarations: [controlLightFunction])
  ],
);

final prompt = 'Dim the lights so the room feels cozy and warm.';
final content = [Content.text(prompt)];
var response = await model.generateContent(content);

List<FunctionCall> functionCalls;
while ((functionCalls = response.functionCalls.toList()).isNotEmpty) {
  var responses = <FunctionResponse>[
    for (final functionCall in functionCalls)
      dispatchFunctionCall(functionCall)
  ];
  content
    ..add(response.candidates.first.content)
    ..add(Content.functionResponses(responses));
  response = await model.generateContent(content);
}
print('Response: ${response.text}');

জাভা

FunctionDeclaration multiplyDefinition =
    defineFunction(
        /* name  */ "multiply",
        /* description */ "returns a * b.",
        /* parameters */ Arrays.asList(
            Schema.numDouble("a", "First parameter"),
            Schema.numDouble("b", "Second parameter")),
        /* required */ Arrays.asList("a", "b"));

Tool tool = new Tool(Arrays.asList(multiplyDefinition), null);

// Specify a Gemini model appropriate for your use case
GenerativeModel gm =
    new GenerativeModel(
        /* modelName */ "gemini-1.5-flash",
        // Access your API key as a Build Configuration variable (see "Set up your API key"
        // above)
        /* apiKey */ BuildConfig.apiKey,
        /* generationConfig (optional) */ null,
        /* safetySettings (optional) */ null,
        /* requestOptions (optional) */ new RequestOptions(),
        /* functionDeclarations (optional) */ Arrays.asList(tool));
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

// Create prompt
Content.Builder userContentBuilder = new Content.Builder();
userContentBuilder.setRole("user");
userContentBuilder.addText(
    "I have 57 cats, each owns 44 mittens, how many mittens is that in total?");
Content userMessage = userContentBuilder.build();

// For illustrative purposes only. You should use an executor that fits your needs.
Executor executor = Executors.newSingleThreadExecutor();

// Initialize the chat
ChatFutures chat = model.startChat();

// Send the message
ListenableFuture<GenerateContentResponse> response = chat.sendMessage(userMessage);

Futures.addCallback(
    response,
    new FutureCallback<GenerateContentResponse>() {
      @Override
      public void onSuccess(GenerateContentResponse result) {
        if (!result.getFunctionCalls().isEmpty()) {
          handleFunctionCall(result);
        }
        if (!result.getText().isEmpty()) {
          System.out.println(result.getText());
        }
      }

      @Override
      public void onFailure(Throwable t) {
        t.printStackTrace();
      }

      private void handleFunctionCall(GenerateContentResponse result) {
        FunctionCallPart multiplyFunctionCallPart =
            result.getFunctionCalls().stream()
                .filter(fun -> fun.getName().equals("multiply"))
                .findFirst()
                .get();
        double a = Double.parseDouble(multiplyFunctionCallPart.getArgs().get("a"));
        double b = Double.parseDouble(multiplyFunctionCallPart.getArgs().get("b"));

        try {
          // `multiply(a, b)` is a regular java function defined in another class
          FunctionResponsePart functionResponsePart =
              new FunctionResponsePart(
                  "multiply", new JSONObject().put("result", multiply(a, b)));

          // Create prompt
          Content.Builder functionCallResponse = new Content.Builder();
          userContentBuilder.setRole("user");
          userContentBuilder.addPart(functionResponsePart);
          Content userMessage = userContentBuilder.build();

          chat.sendMessage(userMessage);
        } catch (JSONException e) {
          throw new RuntimeException(e);
        }
      }
    },
    executor);

জেনারেশন কনফিগারেশন

পাইথন

model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content(
    "Tell me a story about a magic backpack.",
    generation_config=genai.types.GenerationConfig(
        # Only one candidate for now.
        candidate_count=1,
        stop_sequences=["x"],
        max_output_tokens=20,
        temperature=1.0,
    ),
)

print(response.text)

Node.js

// Make sure to include these imports:
// import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI(process.env.API_KEY);
const model = genAI.getGenerativeModel({
  model: "gemini-1.5-flash",
  generationConfig: {
    candidateCount: 1,
    stopSequences: ["x"],
    maxOutputTokens: 20,
    temperature: 1.0,
  },
});

const result = await model.generateContent(
  "Tell me a story about a magic backpack.",
);
console.log(result.response.text());

শেল

curl https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=$GOOGLE_API_KEY \
    -H 'Content-Type: application/json' \
    -X POST \
    -d '{
        "contents": [{
            "parts":[
                {"text": "Write a story about a magic backpack."}
            ]
        }],
        "safetySettings": [
            {
                "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
                "threshold": "BLOCK_ONLY_HIGH"
            }
        ],
        "generationConfig": {
            "stopSequences": [
                "Title"
            ],
            "temperature": 1.0,
            "maxOutputTokens": 800,
            "topP": 0.8,
            "topK": 10
        }
    }'  2> /dev/null | grep "text"

কোটলিন

val config = generationConfig {
  temperature = 0.9f
  topK = 16
  topP = 0.1f
  maxOutputTokens = 200
  stopSequences = listOf("red")
}

val generativeModel =
    GenerativeModel(
        // Specify a Gemini model appropriate for your use case
        modelName = "gemini-1.5-flash",
        apiKey = BuildConfig.apiKey,
        generationConfig = config)

সুইফট

let config = GenerationConfig(
  temperature: 0.9,
  topP: 0.1,
  topK: 16,
  candidateCount: 1,
  maxOutputTokens: 200,
  stopSequences: ["red", "orange"]
)

let generativeModel =
  GenerativeModel(
    // Specify a Gemini model appropriate for your use case
    name: "gemini-1.5-flash",
    // Access your API key from your on-demand resource .plist file (see "Set up your API key"
    // above)
    apiKey: APIKey.default,
    generationConfig: config
  )

ডার্ট

final model = GenerativeModel(
  model: 'gemini-1.5-flash',
  apiKey: apiKey,
);
final prompt = 'Tell me a story about a magic backpack.';

final response = await model.generateContent(
  [Content.text(prompt)],
  generationConfig: GenerationConfig(
    candidateCount: 1,
    stopSequences: ['x'],
    maxOutputTokens: 20,
    temperature: 1.0,
  ),
);
print(response.text);

জাভা

GenerationConfig.Builder configBuilder = new GenerationConfig.Builder();
configBuilder.temperature = 0.9f;
configBuilder.topK = 16;
configBuilder.topP = 0.1f;
configBuilder.maxOutputTokens = 200;
configBuilder.stopSequences = Arrays.asList("red");

GenerationConfig generationConfig = configBuilder.build();

// Specify a Gemini model appropriate for your use case
GenerativeModel gm =
    new GenerativeModel("gemini-1.5-flash", BuildConfig.apiKey, generationConfig);

GenerativeModelFutures model = GenerativeModelFutures.from(gm);

নিরাপত্তা সেটিংস

পাইথন

model = genai.GenerativeModel("gemini-1.5-flash")
unsafe_prompt = "I support Martians Soccer Club and I think Jupiterians Football Club sucks! Write a ironic phrase about them."
response = model.generate_content(
    unsafe_prompt,
    safety_settings={
        "HATE": "MEDIUM",
        "HARASSMENT": "BLOCK_ONLY_HIGH",
    },
)
# If you want to set all the safety_settings to the same value you can just pass that value:
response = model.generate_content(unsafe_prompt, safety_settings="MEDIUM")
try:
    print(response.text)
except:
    print("No information generated by the model.")

print(response.candidates[0].safety_ratings)

Node.js

// Make sure to include these imports:
// import { GoogleGenerativeAI, HarmCategory, HarmBlockThreshold } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI(process.env.API_KEY);
const model = genAI.getGenerativeModel({
  model: "gemini-1.5-flash",
  safetySettings: [
    {
      category: HarmCategory.HARM_CATEGORY_HARASSMENT,
      threshold: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
    },
    {
      category: HarmCategory.HARM_CATEGORY_HATE_SPEECH,
      threshold: HarmBlockThreshold.BLOCK_LOW_AND_ABOVE,
    },
  ],
});

const unsafePrompt =
  "I support Martians Soccer Club and I think " +
  "Jupiterians Football Club sucks! Write an ironic phrase telling " +
  "them how I feel about them.";

const result = await model.generateContent(unsafePrompt);

try {
  result.response.text();
} catch (e) {
  console.error(e);
  console.log(result.response.candidates[0].safetyRatings);
}

শেল

echo '{
    "safetySettings": [
        {'category': HARM_CATEGORY_HARASSMENT, 'threshold': BLOCK_ONLY_HIGH},
        {'category': HARM_CATEGORY_HATE_SPEECH, 'threshold': BLOCK_MEDIUM_AND_ABOVE}
    ],
    "contents": [{
        "parts":[{
            "text": "'I support Martians Soccer Club and I think Jupiterians Football Club sucks! Write a ironic phrase about them.'"}]}]}' > request.json

    curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=$GOOGLE_API_KEY" \
        -H 'Content-Type: application/json' \
        -X POST \
        -d @request.json  2> /dev/null > response.json

    jq .promptFeedback > response.json

কোটলিন

val harassmentSafety = SafetySetting(HarmCategory.HARASSMENT, BlockThreshold.ONLY_HIGH)

val hateSpeechSafety = SafetySetting(HarmCategory.HATE_SPEECH, BlockThreshold.MEDIUM_AND_ABOVE)

val generativeModel =
    GenerativeModel(
        // The Gemini 1.5 models are versatile and work with most use cases
        modelName = "gemini-1.5-flash",
        apiKey = BuildConfig.apiKey,
        safetySettings = listOf(harassmentSafety, hateSpeechSafety))

সুইফট

let safetySettings = [
  SafetySetting(harmCategory: .dangerousContent, threshold: .blockLowAndAbove),
  SafetySetting(harmCategory: .harassment, threshold: .blockMediumAndAbove),
  SafetySetting(harmCategory: .hateSpeech, threshold: .blockOnlyHigh),
]

let generativeModel =
  GenerativeModel(
    // Specify a Gemini model appropriate for your use case
    name: "gemini-1.5-flash",
    // Access your API key from your on-demand resource .plist file (see "Set up your API key"
    // above)
    apiKey: APIKey.default,
    safetySettings: safetySettings
  )

ডার্ট

final model = GenerativeModel(
  model: 'gemini-1.5-flash',
  apiKey: apiKey,
);
final prompt = 'I support Martians Soccer Club and I think '
    'Jupiterians Football Club sucks! Write an ironic phrase telling '
    'them how I feel about them.';

final response = await model.generateContent(
  [Content.text(prompt)],
  safetySettings: [
    SafetySetting(HarmCategory.harassment, HarmBlockThreshold.medium),
    SafetySetting(HarmCategory.hateSpeech, HarmBlockThreshold.low),
  ],
);
try {
  print(response.text);
} catch (e) {
  print(e);
  for (final SafetyRating(:category, :probability)
      in response.candidates.first.safetyRatings!) {
    print('Safety Rating: $category - $probability');
  }
}

জাভা

SafetySetting harassmentSafety =
    new SafetySetting(HarmCategory.HARASSMENT, BlockThreshold.ONLY_HIGH);

SafetySetting hateSpeechSafety =
    new SafetySetting(HarmCategory.HATE_SPEECH, BlockThreshold.MEDIUM_AND_ABOVE);

// Specify a Gemini model appropriate for your use case
GenerativeModel gm =
    new GenerativeModel(
        "gemini-1.5-flash",
        BuildConfig.apiKey,
        null, // generation config is optional
        Arrays.asList(harassmentSafety, hateSpeechSafety));

GenerativeModelFutures model = GenerativeModelFutures.from(gm);

সিস্টেম নির্দেশনা

পাইথন

model = genai.GenerativeModel(
    "models/gemini-1.5-flash",
    system_instruction="You are a cat. Your name is Neko.",
)
response = model.generate_content("Good morning! How are you?")
print(response.text)

Node.js

// Make sure to include these imports:
// import { GoogleGenerativeAI } from "@google/generative-ai";
const genAI = new GoogleGenerativeAI(process.env.API_KEY);
const model = genAI.getGenerativeModel({
  model: "gemini-1.5-flash",
  systemInstruction: "You are a cat. Your name is Neko.",
});

const prompt = "Good morning! How are you?";

const result = await model.generateContent(prompt);
const response = result.response;
const text = response.text();
console.log(text);

কোটলিন

val generativeModel =
    GenerativeModel(
        // Specify a Gemini model appropriate for your use case
        modelName = "gemini-1.5-flash",
        apiKey = BuildConfig.apiKey,
        systemInstruction = content { text("You are a cat. Your name is Neko.") },
    )

সুইফট

let generativeModel =
  GenerativeModel(
    // Specify a model that supports system instructions, like a Gemini 1.5 model
    name: "gemini-1.5-flash",
    // Access your API key from your on-demand resource .plist file (see "Set up your API key"
    // above)
    apiKey: APIKey.default,
    systemInstruction: ModelContent(role: "system", parts: "You are a cat. Your name is Neko.")
  )

ডার্ট

final model = GenerativeModel(
  model: 'gemini-1.5-flash',
  apiKey: apiKey,
  systemInstruction: Content.system('You are a cat. Your name is Neko.'),
);
final prompt = 'Good morning! How are you?';

final response = await model.generateContent([Content.text(prompt)]);
print(response.text);

জাভা

GenerativeModel model =
    new GenerativeModel(
        // Specify a Gemini model appropriate for your use case
        /* modelName */ "gemini-1.5-flash",
        /* apiKey */ BuildConfig.apiKey,
        /* generationConfig (optional) */ null,
        /* safetySettings (optional) */ null,
        /* requestOptions (optional) */ new RequestOptions(),
        /* tools (optional) */ null,
        /* toolsConfig (optional) */ null,
        /* systemInstruction (optional) */ new Content.Builder()
            .addText("You are a cat. Your name is Neko.")
            .build());

প্রতিক্রিয়া শরীর

সফল হলে, প্রতিক্রিয়া বডিতে GenerateContentResponse এর একটি উদাহরণ থাকে।

পদ্ধতি: tunedModels.create

একটি সুর করা মডেল তৈরি করে। মধ্যবর্তী টিউনিং অগ্রগতি (যদি থাকে) google.longrunning.Operations পরিষেবার মাধ্যমে অ্যাক্সেস করা হয়।

স্থিতি এবং ফলাফল অপারেশন পরিষেবার মাধ্যমে অ্যাক্সেস করা যেতে পারে। উদাহরণ: GET /v1/tunedModels/az2mb0bpw6i/operations/000-111-222

শেষপ্রান্ত

https://generativelanguage.googleapis.com/v1beta/tunedModels পোস্ট করুন

ক্যোয়ারী প্যারামিটার

tunedModelId string

ঐচ্ছিক। টিউন করা মডেলের অনন্য আইডি যদি নির্দিষ্ট করা থাকে। এই মানটি 40টি অক্ষর পর্যন্ত হওয়া উচিত, প্রথম অক্ষরটি একটি অক্ষর হতে হবে, শেষটি একটি অক্ষর বা একটি সংখ্যা হতে পারে৷ আইডি অবশ্যই রেগুলার এক্সপ্রেশনের সাথে মেলে: az ?।

শরীরের অনুরোধ

অনুরোধের মূল অংশে TunedModel এর একটি উদাহরণ রয়েছে।

উদাহরণ অনুরোধ

পাইথন

import time

base_model = "models/gemini-1.0-pro-001"
training_data = [
    {"text_input": "1", "output": "2"},
    # ... more examples ...
    # ...
    {"text_input": "seven", "output": "eight"},
]
operation = genai.create_tuned_model(
    # You can use a tuned model here too. Set `source_model="tunedModels/..."`
    display_name="increment",
    source_model=base_model,
    epoch_count=20,
    batch_size=4,
    learning_rate=0.001,
    training_data=training_data,
)

for status in operation.wait_bar():
    time.sleep(10)

result = operation.result()
print(result)
# # You can plot the loss curve with:
# snapshots = pd.DataFrame(result.tuning_task.snapshots)
# sns.lineplot(data=snapshots, x='epoch', y='mean_loss')

model = genai.GenerativeModel(model_name=result.name)
result = model.generate_content("III")
print(result.text)  # IV

প্রতিক্রিয়া শরীর

এই সংস্থানটি একটি দীর্ঘ-চলমান ক্রিয়াকলাপের প্রতিনিধিত্ব করে যা একটি নেটওয়ার্ক API কলের ফলাফল।

সফল হলে, প্রতিক্রিয়া বডিতে নিম্নলিখিত কাঠামোর সাথে ডেটা থাকে:

ক্ষেত্র
name string

সার্ভার দ্বারা নির্ধারিত নাম, যা শুধুমাত্র একই পরিষেবার মধ্যে অনন্য যা মূলত এটিকে ফেরত দেয়। আপনি যদি ডিফল্ট HTTP ম্যাপিং ব্যবহার করেন, তাহলে name operations/{unique_id} দিয়ে শেষ হওয়া একটি সংস্থান নাম হওয়া উচিত।

metadata object

অপারেশনের সাথে সম্পর্কিত পরিষেবা-নির্দিষ্ট মেটাডেটা। এটিতে সাধারণত অগ্রগতি তথ্য এবং সাধারণ মেটাডেটা থাকে যেমন সময় তৈরি করা। কিছু পরিষেবা এই ধরনের মেটাডেটা প্রদান নাও করতে পারে। যে কোনও পদ্ধতি যা একটি দীর্ঘ-চলমান ক্রিয়াকলাপ ফেরত দেয় তার মেটাডেটা প্রকার নথিভুক্ত করা উচিত, যদি থাকে।

একটি নির্বিচারী ধরনের ক্ষেত্র ধারণকারী একটি বস্তু. একটি অতিরিক্ত ক্ষেত্র "@type" এ টাইপ সনাক্তকারী একটি URI রয়েছে৷ উদাহরণ: { "id": 1234, "@type": "types.example.com/standard/id" }

done boolean

যদি মানটি false হয়, তাহলে এর অর্থ অপারেশন এখনও চলছে। true হলে, অপারেশন সম্পন্ন হয়, এবং হয় error বা response পাওয়া যায়।

ইউনিয়ন ক্ষেত্রের result । অপারেশন ফলাফল, যা একটি error বা একটি বৈধ response হতে পারে। যদি done == false , কোন error বা response সেট করা হয় না। যদি done == true , ঠিক একটি error বা response সেট করা যেতে পারে। কিছু পরিষেবা ফলাফল নাও দিতে পারে। result শুধুমাত্র নিম্নলিখিত একটি হতে পারে:
error object ( Status )

ব্যর্থতা বা বাতিলের ক্ষেত্রে অপারেশনের ত্রুটির ফলাফল।

response object

অপারেশনের স্বাভাবিক, সফল প্রতিক্রিয়া। যদি মূল পদ্ধতিটি সফলতার কোনো ডেটা না দেয়, যেমন Delete , তাহলে প্রতিক্রিয়া হল google.protobuf.Empty । যদি মূল পদ্ধতিটি মানক হয় Get / Create / Update , তাহলে রিসোর্স রিসোর্স হওয়া উচিত। অন্যান্য পদ্ধতির জন্য, প্রতিক্রিয়াটিতে XxxResponse টাইপ হওয়া উচিত, যেখানে Xxx হল মূল পদ্ধতির নাম। উদাহরণস্বরূপ, যদি মূল পদ্ধতির নাম হয় TakeSnapshot() , অনুমিত প্রতিক্রিয়া প্রকারটি হয় TakeSnapshotResponse

একটি নির্বিচারী ধরনের ক্ষেত্র ধারণকারী একটি বস্তু. একটি অতিরিক্ত ক্ষেত্র "@type" এ টাইপ সনাক্তকারী একটি URI রয়েছে৷ উদাহরণ: { "id": 1234, "@type": "types.example.com/standard/id" }

JSON প্রতিনিধিত্ব
{
  "name": string,
  "metadata": {
    "@type": string,
    field1: ...,
    ...
  },
  "done": boolean,

  // Union field result can be only one of the following:
  "error": {
    object (Status)
  },
  "response": {
    "@type": string,
    field1: ...,
    ...
  }
  // End of list of possible types for union field result.
}

পদ্ধতি: tunedModels.get

একটি নির্দিষ্ট TunedModel সম্পর্কে তথ্য পায়।

শেষপ্রান্ত

https://generativelanguage.googleapis.com/v1beta/{name=tunedModels/*} পান

পাথ প্যারামিটার

name string

প্রয়োজন। মডেলের সম্পদের নাম।

বিন্যাস: tunedModels/my-model-id এটি tunedModels/{tunedmodel} ফর্ম নেয়।

শরীরের অনুরোধ

অনুরোধের বডি খালি হতে হবে।

উদাহরণ অনুরোধ

পাইথন

model_info = genai.get_model("tunedModels/my-increment-model")
print(model_info)

প্রতিক্রিয়া শরীর

সফল হলে, প্রতিক্রিয়া বডিতে TunedModel এর একটি উদাহরণ থাকে।

পদ্ধতি: tunedModels.list

ব্যবহারকারীর মালিকানাধীন টিউন করা মডেলের তালিকা করে।

শেষপ্রান্ত

https://generativelanguage.googleapis.com/v1beta/tunedModels পান

ক্যোয়ারী প্যারামিটার

pageSize integer

ঐচ্ছিক। TunedModels সর্বাধিক সংখ্যক ফেরত দিতে হবে (প্রতি পৃষ্ঠায়)। পরিষেবাটি কম টিউন করা মডেলগুলি ফিরিয়ে দিতে পারে৷

অনির্দিষ্ট থাকলে, সর্বাধিক 10 টি টিউন করা মডেল ফেরত দেওয়া হবে। এই পদ্ধতিটি প্রতি পৃষ্ঠায় সর্বাধিক 1000টি মডেল ফেরত দেয়, এমনকি যদি আপনি একটি বড় পৃষ্ঠার আকার পাস করেন।

pageToken string

ঐচ্ছিক। একটি পূর্ববর্তী tunedModels.list কল থেকে প্রাপ্ত একটি পৃষ্ঠা টোকেন।

পরবর্তী পৃষ্ঠাটি পুনরুদ্ধার করার জন্য পরবর্তী অনুরোধের যুক্তি হিসাবে একটি অনুরোধ দ্বারা ফিরে আসা pageToken প্রদান করুন।

পেজিনেট করার সময়, tunedModels.list এ প্রদত্ত অন্যান্য সমস্ত প্যারামিটার অবশ্যই পেজ টোকেন প্রদানকারী কলের সাথে মেলে।

filter string

ঐচ্ছিক। একটি ফিল্টার হল টিউন করা মডেলের বিবরণ এবং প্রদর্শন নামের উপর একটি সম্পূর্ণ পাঠ্য অনুসন্ধান। ডিফল্টরূপে, ফলাফল সকলের সাথে ভাগ করা টিউন করা মডেলগুলিকে অন্তর্ভুক্ত করবে না৷

অতিরিক্ত অপারেটর: - মালিক:আমি - লেখক:আমি - পাঠক:আমি - পাঠক:সবাই

উদাহরণ: "মালিক: আমি" সমস্ত টিউন করা মডেলগুলি ফেরত দেয় যেখানে কলারের মালিকের ভূমিকা রয়েছে "পাঠক: আমি" সমস্ত টিউন করা মডেল ফেরত দেয় যেখানে কলারের পাঠকের ভূমিকা রয়েছে "পাঠক: প্রত্যেকে" সকলের সাথে শেয়ার করা সমস্ত টিউন করা মডেল ফেরত দেয়

শরীরের অনুরোধ

অনুরোধের বডি খালি হতে হবে।

উদাহরণ অনুরোধ

পাইথন

for model_info in genai.list_tuned_models():
    print(model_info.name)

প্রতিক্রিয়া শরীর

tunedModels.list থেকে প্রতিক্রিয়া মডেলগুলির একটি পৃষ্ঠাযুক্ত তালিকা রয়েছে৷

সফল হলে, প্রতিক্রিয়া বডিতে নিম্নলিখিত কাঠামোর সাথে ডেটা থাকে:

ক্ষেত্র
tunedModels[] object ( TunedModel )

ফিরে আসা মডেলরা।

nextPageToken string

একটি টোকেন, যা পরবর্তী পৃষ্ঠা পুনরুদ্ধার করতে pageToken হিসাবে পাঠানো যেতে পারে।

যদি এই ক্ষেত্রটি বাদ দেওয়া হয়, তাহলে আর কোনো পৃষ্ঠা নেই।

JSON প্রতিনিধিত্ব
{
  "tunedModels": [
    {
      object (TunedModel)
    }
  ],
  "nextPageToken": string
}

পদ্ধতি: tunedModels.patch

একটি টিউন করা মডেল আপডেট করে।

শেষপ্রান্ত

প্যাচ https://generativelanguage.googleapis.com/v1beta/{tunedModel.name=tunedModels/*}
PATCH https://generativelanguage.googleapis.com/v1beta/{tunedModel.name=tunedModels/*}

পাথ প্যারামিটার

tunedModel.name string

শুধুমাত্র আউটপুট। টিউন করা মডেলের নাম। একটি অনন্য নাম তৈরি করা হবে. উদাহরণ: tunedModels/az2mb0bpw6i যদি displayName তৈরিতে সেট করা থাকে, তাহলে নামের আইডি অংশটি হাইফেনের সাথে ডিসপ্লেনামের শব্দগুলিকে সংযুক্ত করে এবং অনন্যতার জন্য একটি এলোমেলো অংশ যোগ করে সেট করা হবে। উদাহরণ: displayName = "Sentence Translator" name = "tunedModels/sentence-translator-u3b7m" এটি tunedModels/{tunedmodel} ফর্মটি নেয়।

ক্যোয়ারী প্যারামিটার

updateMask string ( FieldMask format)

প্রয়োজন। আপডেট করার জন্য ক্ষেত্রগুলির তালিকা৷

এটি ক্ষেত্রগুলির সম্পূর্ণরূপে যোগ্য নামের একটি কমা দ্বারা পৃথক করা তালিকা৷ উদাহরণ: "user.displayName,photo"

শরীরের অনুরোধ

অনুরোধের মূল অংশে TunedModel এর একটি উদাহরণ রয়েছে।

প্রতিক্রিয়া শরীর

সফল হলে, প্রতিক্রিয়া বডিতে TunedModel এর একটি উদাহরণ থাকে।

পদ্ধতি: tunedModels.delete

একটি টিউন করা মডেল মুছে দেয়।

শেষপ্রান্ত

https://generativelanguage.googleapis.com/v1beta/{name=tunedModels/*} মুছুন

পাথ প্যারামিটার

name string

প্রয়োজন। মডেলের সম্পদের নাম। বিন্যাস: tunedModels/my-model-id এটি tunedModels/{tunedmodel} ফর্ম নেয়।

শরীরের অনুরোধ

অনুরোধের বডি খালি হতে হবে।

প্রতিক্রিয়া শরীর

সফল হলে, প্রতিক্রিয়া বডি খালি।

REST রিসোর্স: tunedModels

সম্পদ: TunedModel

ModelService.CreateTunedModel ব্যবহার করে তৈরি একটি সূক্ষ্ম-টিউনড মডেল।

JSON প্রতিনিধিত্ব
{
  "name": string,
  "displayName": string,
  "description": string,
  "state": enum (State),
  "createTime": string,
  "updateTime": string,
  "tuningTask": {
    object (TuningTask)
  },

  // Union field source_model can be only one of the following:
  "tunedModelSource": {
    object (TunedModelSource)
  },
  "baseModel": string
  // End of list of possible types for union field source_model.
  "temperature": number,
  "topP": number,
  "topK": integer
}
ক্ষেত্র
name string

শুধুমাত্র আউটপুট। টিউন করা মডেলের নাম। একটি অনন্য নাম তৈরি করা হবে. উদাহরণ: tunedModels/az2mb0bpw6i যদি displayName তৈরিতে সেট করা থাকে, তাহলে নামের আইডি অংশটি হাইফেনের সাথে ডিসপ্লেনামের শব্দগুলিকে সংযুক্ত করে এবং অনন্যতার জন্য একটি এলোমেলো অংশ যোগ করে সেট করা হবে। উদাহরণ: displayName = "Sentence Translator" name = "tunedModels/sentence-translator-u3b7m"

displayName string

ঐচ্ছিক। ব্যবহারকারী ইন্টারফেসে এই মডেলের জন্য প্রদর্শনের নাম। প্রদর্শনের নামটি স্পেস সহ 40টি অক্ষর পর্যন্ত হতে হবে।

description string

ঐচ্ছিক। এই মডেলের একটি সংক্ষিপ্ত বিবরণ।

state enum ( State )

শুধুমাত্র আউটপুট। সুর ​​করা মডেলের অবস্থা।

createTime string ( Timestamp format)

শুধুমাত্র আউটপুট। টাইমস্ট্যাম্প যখন এই মডেলটি তৈরি করা হয়েছিল।

RFC3339 UTC "জুলু" ফর্ম্যাটে একটি টাইমস্ট্যাম্প, ন্যানোসেকেন্ড রেজোলিউশন এবং নয়টি পর্যন্ত ভগ্নাংশের সংখ্যা। উদাহরণ: "2014-10-02T15:01:23Z" এবং "2014-10-02T15:01:23.045123456Z"

updateTime string ( Timestamp format)

শুধুমাত্র আউটপুট। টাইমস্ট্যাম্প যখন এই মডেল আপডেট করা হয়েছিল।

RFC3339 UTC "জুলু" ফর্ম্যাটে একটি টাইমস্ট্যাম্প, ন্যানোসেকেন্ড রেজোলিউশন এবং নয়টি পর্যন্ত ভগ্নাংশের সংখ্যা। উদাহরণ: "2014-10-02T15:01:23Z" এবং "2014-10-02T15:01:23.045123456Z"

tuningTask object ( TuningTask )

প্রয়োজন। টিউনিং টাস্ক যা টিউন করা মডেল তৈরি করে।

ইউনিয়ন ফিল্ড source_model । টিউনিংয়ের সূচনা বিন্দু হিসাবে ব্যবহৃত মডেল। source_model নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
tunedModelSource object ( TunedModelSource )

ঐচ্ছিক। টিউনডমডেল নতুন মডেলের প্রশিক্ষণের সূচনা পয়েন্ট হিসাবে ব্যবহার করতে হবে।

baseModel string

অপরিবর্তনীয়। টিউন করার জন্য Model নাম। উদাহরণ: models/text-bison-001

temperature number

ঐচ্ছিক। আউটপুটের এলোমেলোতা নিয়ন্ত্রণ করে।

মানগুলি সহ [0.0,1.0] এর বেশি হতে পারে। 1.0 এর কাছাকাছি একটি মান আরও বৈচিত্র্যময় প্রতিক্রিয়া তৈরি করবে, যখন 0.0 এর কাছাকাছি একটি মান সাধারণত মডেল থেকে কম আশ্চর্যজনক প্রতিক্রিয়া সৃষ্টি করবে।

এই মানটি মডেল তৈরি করার সময় বেস মডেল দ্বারা ব্যবহৃত একটি হতে ডিফল্ট নির্দিষ্ট করে।

topP number

ঐচ্ছিক। নিউক্লিয়াস স্যাম্পলিংয়ের জন্য।

নিউক্লিয়াস স্যাম্পলিং টোকেনের ক্ষুদ্রতম সেট বিবেচনা করে যার সম্ভাব্যতার যোগফল কমপক্ষে topP

এই মানটি মডেল তৈরি করার সময় বেস মডেল দ্বারা ব্যবহৃত একটি হতে ডিফল্ট নির্দিষ্ট করে।

topK integer

ঐচ্ছিক। টপ-কে স্যাম্পলিংয়ের জন্য।

Top-k স্যাম্পলিং topK সবচেয়ে সম্ভাব্য টোকেনের সেট বিবেচনা করে। এই মানটি মডেলে কল করার সময় ব্যাকএন্ড দ্বারা ব্যবহার করা ডিফল্ট নির্দিষ্ট করে।

এই মানটি মডেল তৈরি করার সময় বেস মডেল দ্বারা ব্যবহৃত একটি হতে ডিফল্ট নির্দিষ্ট করে।

TunedModelSource

একটি নতুন মডেল প্রশিক্ষণের জন্য একটি উত্স হিসাবে টিউন করা মডেল.

JSON প্রতিনিধিত্ব
{
  "tunedModel": string,
  "baseModel": string
}
ক্ষেত্র
tunedModel string

অপরিবর্তনীয়। নতুন মডেলের প্রশিক্ষণের সূচনা পয়েন্ট হিসাবে ব্যবহার করার জন্য TunedModel এর নাম। উদাহরণ: tunedModels/my-tuned-model

baseModel string

শুধুমাত্র আউটপুট। এই TunedModel বেস Model নাম থেকে টিউন করা হয়েছে. উদাহরণ: models/text-bison-001

অবস্থা

সুর ​​করা মডেলের অবস্থা।

Enums
STATE_UNSPECIFIED ডিফল্ট মান। এই মান অব্যবহৃত.
CREATING মডেল তৈরি করা হচ্ছে।
ACTIVE মডেলটি ব্যবহারের জন্য প্রস্তুত।
FAILED মডেল তৈরি করা ব্যর্থ হয়েছে.

টিউনিং টাস্ক

টিউনিং কাজ যা টিউন করা মডেল তৈরি করে।

JSON প্রতিনিধিত্ব
{
  "startTime": string,
  "completeTime": string,
  "snapshots": [
    {
      object (TuningSnapshot)
    }
  ],
  "trainingData": {
    object (Dataset)
  },
  "hyperparameters": {
    object (Hyperparameters)
  }
}
ক্ষেত্র
startTime string ( Timestamp format)

শুধুমাত্র আউটপুট। এই মডেল টিউনিং শুরু করার সময় টাইমস্ট্যাম্প.

RFC3339 UTC "জুলু" ফর্ম্যাটে একটি টাইমস্ট্যাম্প, ন্যানোসেকেন্ড রেজোলিউশন এবং নয়টি পর্যন্ত ভগ্নাংশের সংখ্যা। উদাহরণ: "2014-10-02T15:01:23Z" এবং "2014-10-02T15:01:23.045123456Z"

completeTime string ( Timestamp format)

শুধুমাত্র আউটপুট। এই মডেল টিউন করার সময় টাইমস্ট্যাম্প সম্পন্ন হয়েছে।

RFC3339 UTC "জুলু" ফর্ম্যাটে একটি টাইমস্ট্যাম্প, ন্যানোসেকেন্ড রেজোলিউশন এবং নয়টি পর্যন্ত ভগ্নাংশের সংখ্যা। উদাহরণ: "2014-10-02T15:01:23Z" এবং "2014-10-02T15:01:23.045123456Z"

snapshots[] object ( TuningSnapshot )

শুধুমাত্র আউটপুট। টিউনিংয়ের সময় সংগৃহীত মেট্রিক।

trainingData object ( Dataset )

প্রয়োজন। শুধুমাত্র ইনপুট। অপরিবর্তনীয়। মডেল প্রশিক্ষণ তথ্য.

hyperparameters object ( Hyperparameters )

অপরিবর্তনীয়। হাইপারপ্যারামিটার টিউনিং প্রক্রিয়া নিয়ন্ত্রণ করে। প্রদান না করা হলে, ডিফল্ট মান ব্যবহার করা হবে।

টিউনিং স্ন্যাপশট

একটি একক টিউনিং ধাপের জন্য রেকর্ড করুন।

JSON প্রতিনিধিত্ব
{
  "step": integer,
  "epoch": integer,
  "meanLoss": number,
  "computeTime": string
}
ক্ষেত্র
step integer

শুধুমাত্র আউটপুট। টিউনিং ধাপ।

epoch integer

শুধুমাত্র আউটপুট। এই পদক্ষেপটি সেই যুগের অংশ ছিল।

meanLoss number

শুধুমাত্র আউটপুট। এই ধাপের জন্য প্রশিক্ষণ উদাহরণের গড় ক্ষতি।

computeTime string ( Timestamp format)

শুধুমাত্র আউটপুট। টাইমস্ট্যাম্প যখন এই মেট্রিক গণনা করা হয়েছিল।

RFC3339 UTC "জুলু" ফর্ম্যাটে একটি টাইমস্ট্যাম্প, ন্যানোসেকেন্ড রেজোলিউশন এবং নয়টি পর্যন্ত ভগ্নাংশের সংখ্যা। উদাহরণ: "2014-10-02T15:01:23Z" এবং "2014-10-02T15:01:23.045123456Z"

ডেটাসেট

প্রশিক্ষণ বা বৈধতার জন্য ডেটাসেট।

JSON প্রতিনিধিত্ব
{

  // Union field dataset can be only one of the following:
  "examples": {
    object (TuningExamples)
  }
  // End of list of possible types for union field dataset.
}
ক্ষেত্র ইউনিয়ন ফিল্ড dataset । ইনলাইন ডেটা বা ডেটার রেফারেন্স। dataset নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
examples object ( TuningExamples )

ঐচ্ছিক। ইনলাইন উদাহরণ।

টিউনিং উদাহরণ

টিউনিং উদাহরণের একটি সেট। প্রশিক্ষণ বা বৈধতা তথ্য হতে পারে.

JSON প্রতিনিধিত্ব
{
  "examples": [
    {
      object (TuningExample)
    }
  ]
}
ক্ষেত্র
examples[] object ( TuningExample )

প্রয়োজন। উদাহরণ। উদাহরণ ইনপুট পাঠ্য বা আলোচনার জন্য হতে পারে, তবে একটি সেটের সমস্ত উদাহরণ অবশ্যই একই ধরণের হতে হবে।

টিউনিং উদাহরণ

টিউনিংয়ের জন্য একটি একক উদাহরণ।

JSON প্রতিনিধিত্ব
{
  "output": string,

  // Union field model_input can be only one of the following:
  "textInput": string
  // End of list of possible types for union field model_input.
}
ক্ষেত্র
output string

প্রয়োজন। প্রত্যাশিত মডেল আউটপুট।

ইউনিয়ন ফিল্ড model_input । এই উদাহরণের জন্য মডেল ইনপুট. model_input নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
textInput string

ঐচ্ছিক। টেক্সট মডেল ইনপুট।

হাইপারপ্যারামিটার

হাইপারপ্যারামিটার টিউনিং প্রক্রিয়া নিয়ন্ত্রণ করে। https://ai.google.dev/docs/model_tuning_guidance- এ আরও পড়ুন

JSON প্রতিনিধিত্ব
{

  // Union field learning_rate_option can be only one of the following:
  "learningRate": number,
  "learningRateMultiplier": number
  // End of list of possible types for union field learning_rate_option.
  "epochCount": integer,
  "batchSize": integer
}
ক্ষেত্র ইউনিয়ন ফিল্ড learning_rate_option । টিউনিংয়ের সময় শেখার হার নির্দিষ্ট করার বিকল্প। learning_rate_option নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
learningRate number

ঐচ্ছিক। অপরিবর্তনীয়। টিউনিংয়ের জন্য শেখার হার হাইপারপ্যারামিটার। সেট করা না থাকলে, 0.001 বা 0.0002 এর একটি ডিফল্ট প্রশিক্ষণের উদাহরণের সংখ্যার উপর ভিত্তি করে গণনা করা হবে।

learningRateMultiplier number

ঐচ্ছিক। অপরিবর্তনীয়। শেখার হার গুণকটি ডিফল্ট (প্রস্তাবিত) মানের উপর ভিত্তি করে একটি চূড়ান্ত শেখার হার গণনা করতে ব্যবহৃত হয়। প্রকৃত শেখার হার := learningRateMultiplier * ডিফল্ট শেখার হার ডিফল্ট শেখার হার বেস মডেল এবং ডেটাসেট আকারের উপর নির্ভরশীল। সেট না করা হলে, 1.0 এর একটি ডিফল্ট ব্যবহার করা হবে।

epochCount integer

অপরিবর্তনীয়। প্রশিক্ষণ যুগের সংখ্যা। একটি যুগ হল প্রশিক্ষণ ডেটার মধ্য দিয়ে একটি পাস। সেট না হলে, ডিফল্ট 5 ব্যবহার করা হবে।

batchSize integer

অপরিবর্তনীয়। টিউনিংয়ের জন্য ব্যাচ আকারের হাইপারপ্যারামিটার। যদি সেট না করা হয়, তাহলে প্রশিক্ষণ উদাহরণের সংখ্যার উপর ভিত্তি করে 4 বা 16 এর একটি ডিফল্ট ব্যবহার করা হবে।