classGoogleAI(Plugin):"""GoogleAI plugin for Genkit."""name=GOOGLEAI_PLUGIN_NAME_vertexai=Falsedef__init__(self,api_key:str|None=None,credentials:Credentials|None=None,debug_config:DebugConfig|None=None,http_options:HttpOptions|HttpOptionsDict|None=None,):api_key=api_keyifapi_keyelseos.getenv('GEMINI_API_KEY')ifnotapi_key:raiseValueError('Gemini api key should be passed in plugin params or as a GEMINI_API_KEY environment variable')self._client=genai.client.Client(vertexai=self._vertexai,api_key=api_key,credentials=credentials,debug_config=debug_config,http_options=_inject_attribution_headers(http_options),)definitialize(self,ai:GenkitRegistry)->None:"""Initialize the plugin by registering actions in the registry. Args: ai: the action registry. Returns: None """forversioninGoogleAIGeminiVersion:gemini_model=GeminiModel(version,self._client,ai)ai.define_model(name=googleai_name(version),fn=gemini_model.generate,metadata=gemini_model.metadata,config_schema=GeminiConfigSchema,)forversioninGeminiEmbeddingModels:embedder=Embedder(version=version,client=self._client)ai.define_embedder(name=googleai_name(version),fn=embedder.generate)
initialize(ai)
Initialize the plugin by registering actions in the registry.
definitialize(self,ai:GenkitRegistry)->None:"""Initialize the plugin by registering actions in the registry. Args: ai: the action registry. Returns: None """forversioninGoogleAIGeminiVersion:gemini_model=GeminiModel(version,self._client,ai)ai.define_model(name=googleai_name(version),fn=gemini_model.generate,metadata=gemini_model.metadata,config_schema=GeminiConfigSchema,)forversioninGeminiEmbeddingModels:embedder=Embedder(version=version,client=self._client)ai.define_embedder(name=googleai_name(version),fn=embedder.generate)
classVertexAI(Plugin):"""VertexAI plugin for Genkit."""_vertexai=Truename=VERTEXAI_PLUGIN_NAMEdef__init__(self,credentials:Credentials|None=None,project:str|None=None,location:str|None='us-central1',debug_config:DebugConfig|None=None,http_options:HttpOptions|HttpOptionsDict|None=None,):self._client=genai.client.Client(vertexai=self._vertexai,api_key=None,credentials=credentials,project=project,location=location,debug_config=debug_config,http_options=_inject_attribution_headers(http_options),)definitialize(self,ai:GenkitRegistry)->None:"""Initialize the plugin by registering actions in the registry. Args: ai: the action registry. Returns: None """forversioninVertexAIGeminiVersion:gemini_model=GeminiModel(version,self._client,ai)ai.define_model(name=vertexai_name(version),fn=gemini_model.generate,metadata=gemini_model.metadata,config_schema=GeminiConfigSchema,)forversioninVertexEmbeddingModels:embedder=Embedder(version=version,client=self._client)ai.define_embedder(name=vertexai_name(version),fn=embedder.generate)forversioninImagenVersion:imagen_model=ImagenModel(version,self._client)ai.define_model(name=vertexai_name(version),fn=imagen_model.generate,metadata=imagen_model.metadata)
initialize(ai)
Initialize the plugin by registering actions in the registry.
definitialize(self,ai:GenkitRegistry)->None:"""Initialize the plugin by registering actions in the registry. Args: ai: the action registry. Returns: None """forversioninVertexAIGeminiVersion:gemini_model=GeminiModel(version,self._client,ai)ai.define_model(name=vertexai_name(version),fn=gemini_model.generate,metadata=gemini_model.metadata,config_schema=GeminiConfigSchema,)forversioninVertexEmbeddingModels:embedder=Embedder(version=version,client=self._client)ai.define_embedder(name=vertexai_name(version),fn=embedder.generate)forversioninImagenVersion:imagen_model=ImagenModel(version,self._client)ai.define_model(name=vertexai_name(version),fn=imagen_model.generate,metadata=imagen_model.metadata)