Class Prompt (1.74.0)

  Prompt 
 ( 
 prompt_data 
 : 
 typing 
 . 
 Optional 
 [ 
 typing 
 . 
 Union 
 [ 
 str 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Image 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Part 
 , 
 typing 
 . 
 List 
 [ 
 typing 
 . 
 Union 
 [ 
 str 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Image 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Part 
 , 
 ] 
 ], 
 ] 
 ] 
 = 
 None 
 , 
 * 
 , 
 variables 
 : 
 typing 
 . 
 Optional 
 [ 
 typing 
 . 
 List 
 [ 
 typing 
 . 
 Dict 
 [ 
 str 
 , 
 typing 
 . 
 Union 
 [ 
 str 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Image 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Part 
 , 
 typing 
 . 
 List 
 [ 
 typing 
 . 
 Union 
 [ 
 str 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Image 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Part 
 , 
 ] 
 ], 
 ], 
 ] 
 ] 
 ] 
 = 
 None 
 , 
 prompt_name 
 : 
 typing 
 . 
 Optional 
 [ 
 str 
 ] 
 = 
 None 
 , 
 generation_config 
 : 
 typing 
 . 
 Optional 
 [ 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 GenerationConfig 
 ] 
 = 
 None 
 , 
 model_name 
 : 
 typing 
 . 
 Optional 
 [ 
 str 
 ] 
 = 
 None 
 , 
 safety_settings 
 : 
 typing 
 . 
 Optional 
 [ 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 SafetySetting 
 ] 
 = 
 None 
 , 
 system_instruction 
 : 
 typing 
 . 
 Optional 
 [ 
 typing 
 . 
 Union 
 [ 
 str 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Image 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Part 
 , 
 typing 
 . 
 List 
 [ 
 typing 
 . 
 Union 
 [ 
 str 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Image 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Part 
 , 
 ] 
 ], 
 ] 
 ] 
 = 
 None 
 , 
 tools 
 : 
 typing 
 . 
 Optional 
 [ 
 typing 
 . 
 List 
 [ 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Tool 
 ] 
 ] 
 = 
 None 
 , 
 tool_config 
 : 
 typing 
 . 
 Optional 
 [ 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 ToolConfig 
 ] 
 = 
 None 
 ) 
 

A prompt which may be a template with variables.

 The `Prompt` class allows users to define a template string with
variables represented in curly braces `{variable}`. The variable
name must be a valid Python variable name (no spaces, must start with a
letter). These placeholders can be replaced with specific values using the
`assemble_contents` method, providing flexibility in generating dynamic prompts.

Usage:
    Generate content from a single set of variables:
    ```
    prompt = Prompt(
        prompt_data="Hello, {name}! Today is {day}. How are you?",
        variables=[{"name": "Alice", "day": "Monday"}]
        generation_config=GenerationConfig(
            temperature=0.1,
            top_p=0.95,
            top_k=20,
            candidate_count=1,
            max_output_tokens=100,
            stop_sequences=[" 

"], ), model_name="gemini-1.0-pro-002", safety_settings=[SafetySetting( category=SafetySetting.HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT, threshold=SafetySetting.HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE, method=SafetySetting.HarmBlockMethod.SEVERITY, )], system_instruction="Please answer in a short sentence.", )

 # Generate content using the assembled prompt.
    prompt.generate_content(
        contents=prompt.assemble_contents(**prompt.variables)
    )
    ```
    Generate content with multiple sets of variables:
    ```
    prompt = Prompt(
        prompt_data="Hello, {name}! Today is {day}. How are you?",
        variables=[
            {"name": "Alice", "day": "Monday"},
            {"name": "Bob", "day": "Tuesday"},
        ],
        generation_config=GenerationConfig(
            temperature=0.1,
            top_p=0.95,
            top_k=20,
            candidate_count=1,
            max_output_tokens=100,
            stop_sequences=[" 

"], ), model_name="gemini-1.0-pro-002", safety_settings=[SafetySetting( category=SafetySetting.HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT, threshold=SafetySetting.HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE, method=SafetySetting.HarmBlockMethod.SEVERITY, )], system_instruction="Please answer in a short sentence.", )

 # Generate content using the assembled prompt for each variable set.
    for i in range(len(prompt.variables)):
        prompt.generate_content(
            contents=prompt.assemble_contents(**prompt.variables[i])
        )
    ``` 

Methods

Prompt

  Prompt 
 ( 
 prompt_data 
 : 
 typing 
 . 
 Optional 
 [ 
 typing 
 . 
 Union 
 [ 
 str 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Image 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Part 
 , 
 typing 
 . 
 List 
 [ 
 typing 
 . 
 Union 
 [ 
 str 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Image 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Part 
 , 
 ] 
 ], 
 ] 
 ] 
 = 
 None 
 , 
 * 
 , 
 variables 
 : 
 typing 
 . 
 Optional 
 [ 
 typing 
 . 
 List 
 [ 
 typing 
 . 
 Dict 
 [ 
 str 
 , 
 typing 
 . 
 Union 
 [ 
 str 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Image 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Part 
 , 
 typing 
 . 
 List 
 [ 
 typing 
 . 
 Union 
 [ 
 str 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Image 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Part 
 , 
 ] 
 ], 
 ], 
 ] 
 ] 
 ] 
 = 
 None 
 , 
 prompt_name 
 : 
 typing 
 . 
 Optional 
 [ 
 str 
 ] 
 = 
 None 
 , 
 generation_config 
 : 
 typing 
 . 
 Optional 
 [ 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 GenerationConfig 
 ] 
 = 
 None 
 , 
 model_name 
 : 
 typing 
 . 
 Optional 
 [ 
 str 
 ] 
 = 
 None 
 , 
 safety_settings 
 : 
 typing 
 . 
 Optional 
 [ 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 SafetySetting 
 ] 
 = 
 None 
 , 
 system_instruction 
 : 
 typing 
 . 
 Optional 
 [ 
 typing 
 . 
 Union 
 [ 
 str 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Image 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Part 
 , 
 typing 
 . 
 List 
 [ 
 typing 
 . 
 Union 
 [ 
 str 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Image 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Part 
 , 
 ] 
 ], 
 ] 
 ] 
 = 
 None 
 , 
 tools 
 : 
 typing 
 . 
 Optional 
 [ 
 typing 
 . 
 List 
 [ 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Tool 
 ] 
 ] 
 = 
 None 
 , 
 tool_config 
 : 
 typing 
 . 
 Optional 
 [ 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 ToolConfig 
 ] 
 = 
 None 
 ) 
 

Initializes the Prompt with a given prompt, and variables.

__repr__

  __repr__ 
 () 
 - 
> str 
 

Returns a string representation of the unassembled prompt.

__str__

  __str__ 
 () 
 - 
> str 
 

Returns the prompt data as a string, without any variables replaced.

assemble_contents

  assemble_contents 
 ( 
 ** 
 variables_dict 
 : 
 typing 
 . 
 Union 
 [ 
 str 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Image 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Part 
 , 
 typing 
 . 
 List 
 [ 
 typing 
 . 
 Union 
 [ 
 str 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Image 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Part 
 , 
 ] 
 ], 
 ] 
 ) 
 - 
> typing 
 . 
 List 
 [ 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Content 
 ] 
 

Returns the prompt data, as a List[Content], assembled with variables if applicable. Can be ingested into model.generate_content to make API calls.

generate_content

  generate_content 
 ( 
 contents 
 : 
 typing 
 . 
 Union 
 [ 
 typing 
 . 
 List 
 [ 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Content 
 ], 
 typing 
 . 
 List 
 [ 
 typing 
 . 
 Dict 
 [ 
 str 
 , 
 typing 
 . 
 Any 
 ]], 
 str 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Image 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Part 
 , 
 typing 
 . 
 List 
 [ 
 typing 
 . 
 Union 
 [ 
 str 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Image 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Part 
 , 
 ] 
 ], 
 ], 
 * 
 , 
 generation_config 
 : 
 typing 
 . 
 Optional 
 [ 
 typing 
 . 
 Union 
 [ 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 GenerationConfig 
 , 
 typing 
 . 
 Dict 
 [ 
 str 
 , 
 typing 
 . 
 Any 
 ], 
 ] 
 ] 
 = 
 None 
 , 
 safety_settings 
 : 
 typing 
 . 
 Optional 
 [ 
 typing 
 . 
 Union 
 [ 
 typing 
 . 
 List 
 [ 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 SafetySetting 
 ], 
 typing 
 . 
 Dict 
 [ 
 google 
 . 
 cloud 
 . 
 aiplatform_v1beta1 
 . 
 types 
 . 
 content 
 . 
 HarmCategory 
 , 
 google 
 . 
 cloud 
 . 
 aiplatform_v1beta1 
 . 
 types 
 . 
 content 
 . 
 SafetySetting 
 . 
 HarmBlockThreshold 
 , 
 ], 
 ] 
 ] 
 = 
 None 
 , 
 model_name 
 : 
 typing 
 . 
 Optional 
 [ 
 str 
 ] 
 = 
 None 
 , 
 tools 
 : 
 typing 
 . 
 Optional 
 [ 
 typing 
 . 
 List 
 [ 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Tool 
 ] 
 ] 
 = 
 None 
 , 
 tool_config 
 : 
 typing 
 . 
 Optional 
 [ 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 ToolConfig 
 ] 
 = 
 None 
 , 
 stream 
 : 
 bool 
 = 
 False 
 , 
 system_instruction 
 : 
 typing 
 . 
 Optional 
 [ 
 typing 
 . 
 Union 
 [ 
 str 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Image 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Part 
 , 
 typing 
 . 
 List 
 [ 
 typing 
 . 
 Union 
 [ 
 str 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Image 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Part 
 , 
 ] 
 ], 
 ] 
 ] 
 = 
 None 
 ) 
 - 
> typing 
 . 
 Union 
 [ 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 GenerationResponse 
 , 
 typing 
 . 
 Iterable 
 [ 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 GenerationResponse 
 ], 
 ] 
 

Generates content using the saved Prompt configs.

get_unassembled_prompt_data

  get_unassembled_prompt_data 
 () 
 - 
> typing 
 . 
 Union 
 [ 
 str 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Image 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Part 
 , 
 typing 
 . 
 List 
 [ 
 typing 
 . 
 Union 
 [ 
 str 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Image 
 , 
 vertexai 
 . 
 generative_models 
 . 
 _generative_models 
 . 
 Part 
 , 
 ] 
 ], 
 ] 
 

Returns the prompt data, without any variables replaced.

Create a Mobile Website
View Site in Mobile | Classic
Share by: