judgevet.ports.options
Status: draft.
judgevet.ports.options
Structural ports for providers that take a provider-options mapping.
A provider declares that it takes options by adding a keyword-only
provider_options parameter to its judgment methods. judgevet forwards the
caller's mapping unchanged and never interprets its keys. A provider without
the parameter still satisfies the existing ports.
Source: https://github.com/Alberto-Codes/judgevet/issues/281.
Examples:
from collections.abc import Mapping
from typing import Any
from judgevet.domain.answers import NoulAnswer
from judgevet.domain.questions import Question
from judgevet.domain.response import SystemOneResponse
from judgevet.domain.usage import Usage
from judgevet.ports.options import ProviderOptionsSystemOnePort
class ThresholdProvider:
def system_one(
self,
state: str | dict[str, Any] | list[Any],
questions: Mapping[str, Question | Mapping[str, Any]],
model: str,
*,
provider_options: Mapping[str, object] | None = None,
) -> SystemOneResponse:
return SystemOneResponse(
model=model,
usage=Usage(0, 0),
answers={name: NoulAnswer(0.5) for name in questions},
)
port: ProviderOptionsSystemOnePort = ThresholdProvider()
response = port.system_one(
"state", {"q": {"type": "noul"}}, "m", provider_options={"k": 1}
)
assert response.receipts == {}
See Also
- judgevet.ports: The text ports these extend.
- judgevet.ports.media: The media ports these extend.
- judgevet.media: The judge entry that forwards the options.
AsyncProviderOptionsMediaSystemOnePort
Bases: AsyncMediaSystemOnePort, Protocol
Take a provider-options mapping on the awaited text and media judgments.
Attributes:
| Name | Type | Description |
|---|---|---|
system_one |
method
|
Judge text with optional provider options. |
system_one_media |
method
|
Judge media with optional provider options. |
Examples:
async def judge(port: AsyncProviderOptionsMediaSystemOnePort, evidence):
return await port.system_one_media(
"s", {}, "m", evidence=evidence, provider_options={"k": 1}
)
system_one(state, questions, model, *, provider_options=None)
async
Judge text with an optional mapping the provider interprets.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
state
|
str | dict[str, Any] | list[Any]
|
The content to evaluate. |
required |
questions
|
Mapping[str, Question | Mapping[str, Any]]
|
Mapping of question names to question definitions. |
required |
model
|
str
|
Caller-selected model. |
required |
provider_options
|
Mapping[str, object] | None
|
Provider-defined settings, or None for none. |
None
|
Returns:
| Type | Description |
|---|---|
SystemOneResponse
|
Typed answers, with any provider receipts. |
system_one_media(state, questions, model, *, evidence, provider_options=None)
async
Judge media with an optional mapping the provider interprets.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
state
|
str | dict[str, Any] | list[Any]
|
Original caller state. |
required |
questions
|
Mapping[str, Question | Mapping[str, Any]]
|
Original typed or raw question definitions. |
required |
model
|
str
|
Caller-selected model. |
required |
evidence
|
ImageEvidence
|
Immutable ordered attachment snapshot. |
required |
provider_options
|
Mapping[str, object] | None
|
Provider-defined settings, or None for none. |
None
|
Returns:
| Type | Description |
|---|---|
SystemOneResponse
|
Typed answers, with any provider receipts. |
AsyncProviderOptionsSystemOnePort
Bases: AsyncSystemOnePort, Protocol
Take a provider-options mapping on the awaited text judgment.
Attributes:
| Name | Type | Description |
|---|---|---|
system_one |
method
|
Judge text with optional provider options. |
Examples:
async def judge(port: AsyncProviderOptionsSystemOnePort):
return await port.system_one("s", {}, "m", provider_options={"k": 1})
system_one(state, questions, model, *, provider_options=None)
async
Judge text with an optional mapping the provider interprets.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
state
|
str | dict[str, Any] | list[Any]
|
The content to evaluate. |
required |
questions
|
Mapping[str, Question | Mapping[str, Any]]
|
Mapping of question names to question definitions. |
required |
model
|
str
|
Caller-selected model. |
required |
provider_options
|
Mapping[str, object] | None
|
Provider-defined settings, or None for none. |
None
|
Returns:
| Type | Description |
|---|---|
SystemOneResponse
|
Typed answers, with any provider receipts. |
ProviderOptionsMediaSystemOnePort
Bases: MediaSystemOnePort, Protocol
Take a provider-options mapping on the text and media judgments.
Attributes:
| Name | Type | Description |
|---|---|---|
system_one |
method
|
Judge text with optional provider options. |
system_one_media |
method
|
Judge media with optional provider options. |
Examples:
def judge(port: ProviderOptionsMediaSystemOnePort, evidence):
return port.system_one_media(
"s", {}, "m", evidence=evidence, provider_options={"k": 1}
)
system_one(state, questions, model, *, provider_options=None)
Judge text with an optional mapping the provider interprets.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
state
|
str | dict[str, Any] | list[Any]
|
The content to evaluate. |
required |
questions
|
Mapping[str, Question | Mapping[str, Any]]
|
Mapping of question names to question definitions. |
required |
model
|
str
|
Caller-selected model. |
required |
provider_options
|
Mapping[str, object] | None
|
Provider-defined settings, or None for none. |
None
|
Returns:
| Type | Description |
|---|---|
SystemOneResponse
|
Typed answers, with any provider receipts. |
system_one_media(state, questions, model, *, evidence, provider_options=None)
Judge media with an optional mapping the provider interprets.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
state
|
str | dict[str, Any] | list[Any]
|
Original caller state. |
required |
questions
|
Mapping[str, Question | Mapping[str, Any]]
|
Original typed or raw question definitions. |
required |
model
|
str
|
Caller-selected model. |
required |
evidence
|
ImageEvidence
|
Immutable ordered attachment snapshot. |
required |
provider_options
|
Mapping[str, object] | None
|
Provider-defined settings, or None for none. |
None
|
Returns:
| Type | Description |
|---|---|
SystemOneResponse
|
Typed answers, with any provider receipts. |
ProviderOptionsSystemOnePort
Bases: SystemOnePort, Protocol
Take a provider-options mapping on the text judgment.
Attributes:
| Name | Type | Description |
|---|---|---|
system_one |
method
|
Judge text with optional provider options. |
Examples:
def judge(port: ProviderOptionsSystemOnePort):
return port.system_one("s", {}, "m", provider_options={"k": 1})
system_one(state, questions, model, *, provider_options=None)
Judge text with an optional mapping the provider interprets.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
state
|
str | dict[str, Any] | list[Any]
|
The content to evaluate. |
required |
questions
|
Mapping[str, Question | Mapping[str, Any]]
|
Mapping of question names to question definitions. |
required |
model
|
str
|
Caller-selected model. |
required |
provider_options
|
Mapping[str, object] | None
|
Provider-defined settings, or None for none. |
None
|
Returns:
| Type | Description |
|---|---|
SystemOneResponse
|
Typed answers, with any provider receipts. |