Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions py/packages/genkit/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ dependencies = [
"dotpromptz>=0.1.4",
"uvicorn>=0.34.0",
"anyio>=4.9.0",

]
description = "Genkit AI Framework"
license = { text = "Apache-2.0" }
Expand Down
21 changes: 18 additions & 3 deletions py/packages/genkit/src/genkit/ai/_registry.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,12 @@
import uuid
from collections.abc import AsyncIterator, Callable
from functools import wraps
from typing import Any, Type
from typing import Any

import structlog
from pydantic import BaseModel

from genkit.ai.resource import ResourceFn, ResourceOptions, define_resource
from genkit.blocks.embedding import EmbedderFn, EmbedderOptions
from genkit.blocks.evaluator import BatchEvaluatorFn, EvaluatorFn
from genkit.blocks.formats.types import FormatDef
Expand Down Expand Up @@ -488,7 +489,7 @@ def define_model(
self,
name: str,
fn: ModelFn,
config_schema: Type[BaseModel] | dict[str, Any] | None = None,
config_schema: type[BaseModel] | dict[str, Any] | None = None,
metadata: dict[str, Any] | None = None,
info: ModelInfo | None = None,
description: str | None = None,
Expand Down Expand Up @@ -668,13 +669,27 @@ async def prompt(
Raises:
GenkitError: If the prompt is not found.
"""

return await lookup_prompt(
registry=self.registry,
name=name,
variant=variant,
)

def define_resource(self, opts: ResourceOptions, fn: ResourceFn) -> Action:
"""Defines a resource and registers it with the registry.

This creates a resource action that can handle requests for a specific URI
or URI template.

Args:
opts: Options defining the resource (name, uri, template, etc.).
fn: The function that implements resource content retrieval.

Returns:
The registered `Action` for the resource.
"""
return define_resource(self.registry, opts, fn)


class FlowWrapper:
"""A wapper for flow functions to add `stream` method."""
Expand Down
Loading
Loading