-
Notifications
You must be signed in to change notification settings - Fork 611
Description
I'm trying to run the get started recipe application directly from the genkit documentation. My python version is 3.12.
Runtime: Windows 11
Genkit Version: [e.g. 0.4.0]
This is code:
import json
from dotenv import load_dotenv
from typing import Optional
from pydantic import BaseModel, Field
from genkit.ai import Genkit
from genkit.plugins.google_genai import GoogleAI
load_dotenv()
Initialize Genkit with the Google AI plugin
ai = Genkit(
plugins=[GoogleAI()],
model='googleai/gemini-2.5-flash'
)
Define input schema
class RecipeInput(BaseModel):
ingredient: str = Field(description='Main ingredient or cuisine type')
dietary_restrictions: Optional[str] = Field(default=None, description='Any dietary restrictions')
Define output schema
class Recipe(BaseModel):
title: str
description: str
prep_time: str
cook_time: str
servings: int
ingredients: list[str]
instructions: list[str]
Define a recipe generator flow
@ai.flow()
async def recipe_generator_flow(input_data: RecipeInput) -> Recipe:
# Create a prompt based on the input
dietary_restrictions = input_data.dietary_restrictions or 'none'
prompt = f"""Create a recipe with the following requirements:
Main ingredient: {input_data.ingredient}
Dietary restrictions: {dietary_restrictions}"""
# Generate structured recipe data using the same schema
result = await ai.generate(
prompt=prompt,
output_schema=Recipe,
)
if not result.output:
raise ValueError('Failed to generate recipe')
return result.output
async def main() -> None:
# Run the flow
recipe = await recipe_generator_flow(RecipeInput(
ingredient='avocado',
dietary_restrictions='vegetarian'
))
# Print the structured recipe
print(json.dumps(recipe, indent=2))
ai.run_main(main())
this is error...
Traceback (most recent call last):
File "C:\development\genkit_test\main.py", line 10, in
ai = Genkit(
^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\genkit\ai_aio.py", line 74, in init
super().init(plugins=plugins, model=model, reflection_server_spec=reflection_server_spec)
File "C:\development\genkit_test.venv\Lib\site-packages\genkit\ai_base.py", line 62, in init
self._initialize_registry(model, plugins)
File "C:\development\genkit_test.venv\Lib\site-packages\genkit\ai_base.py", line 115, in _initialize_registry
plugin.initialize(ai=self)
File "C:\development\genkit_test.venv\Lib\site-packages\genkit\plugins\google_genai\google.py", line 137, in initialize
ai.define_model(
File "C:\development\genkit_test.venv\Lib\site-packages\genkit\ai_registry.py", line 444, in define_model
model_meta['model']['customOptions'] = to_json_schema(config_schema)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\genkit\core\schema.py", line 61, in to_json_schema
return type_adapter.json_schema()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\type_adapter.py", line 142, in wrapped
return func(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\type_adapter.py", line 549, in json_schema
return schema_generator_instance.generate(self.core_schema, mode=mode)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 414, in generate
json_schema: JsonSchemaValue = self.generate_inner(schema)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 553, in generate_inner
json_schema = current_handler(schema)
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 510, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 1828, in definitions_schema
return self.generate_inner(schema['schema'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 553, in generate_inner
json_schema = current_handler(schema)
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 527, in new_handler_func
json_schema = js_modify_function(schema_or_field, current_handler)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\main.py", line 669, in get_pydantic_json_schema
return handler(core_schema)
^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 527, in new_handler_func
json_schema = js_modify_function(schema_or_field, current_handler)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic_internal_generate_schema.py", line 228, in modify_model_json_schema
json_schema = handler(schema_or_field)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 510, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 1410, in model_schema
json_schema = self.generate_inner(schema['schema'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 553, in generate_inner
json_schema = current_handler(schema)
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 510, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 1505, in model_fields_schema
json_schema = self._named_required_fields_schema(named_required_fields)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 1313, in _named_required_fields_schema
field_json_schema = self.generate_inner(field).copy()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 553, in generate_inner
json_schema = current_handler(schema)
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 545, in new_handler_func
json_schema = js_modify_function(schema_or_field, current_handler)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic_internal_generate_schema.py", line 2249, in json_schema_update_func
json_schema = {**handler(core_schema_or_field), **json_schema_update}
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 510, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 1381, in model_field_schema
return self.generate_inner(schema['schema'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 553, in generate_inner
json_schema = current_handler(schema)
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 510, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 1046, in default_schema
json_schema = self.generate_inner(schema['schema'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 553, in generate_inner
json_schema = current_handler(schema)
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 510, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 1100, in nullable_schema
inner_json_schema = self.generate_inner(schema['schema'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 553, in generate_inner
json_schema = current_handler(schema)
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 527, in new_handler_func
json_schema = js_modify_function(schema_or_field, current_handler)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\main.py", line 669, in get_pydantic_json_schema
return handler(core_schema)
^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 527, in new_handler_func
json_schema = js_modify_function(schema_or_field, current_handler)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic_internal_generate_schema.py", line 228, in modify_model_json_schema
json_schema = handler(schema_or_field)
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 510, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 1410, in model_schema
json_schema = self.generate_inner(schema['schema'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 553, in generate_inner
json_schema = current_handler(schema)
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 510, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 1505, in model_fields_schema
json_schema = self._named_required_fields_schema(named_required_fields)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 1313, in _named_required_fields_schema
field_json_schema = self.generate_inner(field).copy()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 553, in generate_inner
json_schema = current_handler(schema)
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 545, in new_handler_func
json_schema = js_modify_function(schema_or_field, current_handler)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic_internal_generate_schema.py", line 2249, in json_schema_update_func
json_schema = {**handler(core_schema_or_field), **json_schema_update}
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 510, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 1381, in model_field_schema
return self.generate_inner(schema['schema'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 553, in generate_inner
json_schema = current_handler(schema)
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 510, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 1046, in default_schema
json_schema = self.generate_inner(schema['schema'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 553, in generate_inner
json_schema = current_handler(schema)
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 510, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 1100, in nullable_schema
inner_json_schema = self.generate_inner(schema['schema'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 553, in generate_inner
json_schema = current_handler(schema)
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic_internal_schema_generation_shared.py", line 37, in call
return self.handler(core_schema)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 510, in handler_func
json_schema = generate_for_schema_type(schema_or_field)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 812, in is_instance_schema
return self.handle_invalid_for_json_schema(schema, f'core_schema.IsInstanceSchema ({schema["cls"]})')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\development\genkit_test.venv\Lib\site-packages\pydantic\json_schema.py", line 2173, in handle_invalid_for_json_schema
raise PydanticInvalidForJsonSchema(f'Cannot generate a JsonSchema for {error_info}')
pydantic.errors.PydanticInvalidForJsonSchema: Cannot generate a JsonSchema for core_schema.IsInstanceSchema (<class 'httpx.Client'>)
For further information visit https://errors.pydantic.dev/2.8/u/invalid-for-json-schema
Metadata
Metadata
Assignees
Labels
Type
Projects
Status