V3 Migration Guide¶
V1 to V2 migration
If you are still on V1 please see the V2 Migration Guide first.
What has changed?¶
We have simplified and improved moderations.
All Schemas were moved to a single place and should now be imported from
genai.schemamodule.Some schemas were renamed for better readability.
Moderations¶
Stigma (
ModerationStigmaclass) has been replaced by Social Bias (ModerationSocialBiasclass).Implicit Hate (
ModerationImplicitHateclass) has been replaced by Social Bias (ModerationSocialBiasclass).You can now set a different threshold for input and output moderations.
Text generation response
moderationwas renamed tomoderations:TextChatStreamCreateResponse.moderation->TextChatStreamCreateResponse.moderationsTextGenerationStreamCreateResponse.moderation->TextGenerationStreamCreateResponse.moderationsTextGenerationResult.moderation->TextGenerationResult.moderations
❌ Old Way
from genai.schema import ModerationHAP, ModerationStigma, ModerationImplicitHate, ModerationParameters
for response in client.text.generation.create(
    model_id="google/flan-t5-xl",
    inputs=["What is a molecule?", "What is NLP?"],
    moderations=ModerationParameters(
        hap=ModerationHAP(input=True, output=True, threshold=0.8),
        stigma=ModerationStigma(input=True, output=True, threshold=0.8),
        implicit_hate=ModerationImplicitHate(input=True, output=True, threshold=0.8),
    )
):
    for result in response.results:
        moderation = result.moderation
✅ New Way
from genai.schema import (
    ModerationHAP,
    ModerationHAPInput,
    ModerationHAPOutput,
    ModerationParameters,
    ModerationSocialBias,
    ModerationSocialBiasInput,
    ModerationSocialBiasOutput,
)
for response in client.text.generation.create(
    model_id="google/flan-t5-xl",
    inputs=["what is a molecule?", "what is nlp?"],
    moderations=moderationparameters(
        hap=moderationhap(
            input=moderationhapinput(enabled=true, threshold=0.8),
            output=moderationhapoutput(enabled=true, threshold=0.8),
        ),
        social_bias=moderationsocialbias(
            input=moderationsocialbiasinput(enabled=true, threshold=0.8),
            output=moderationsocialbiasoutput(enabled=true, threshold=0.8),
        ),
    )
):
    for result in response.results:
        moderation = result.moderations
Imports¶
It is no longer to import schemas from submodules, use
from genai.schema import ...
❌ Old Way
from genai.text.generation import DecodingMethod
✅ New Way
from genai.schema import DecodingMethod
📝 Other changes¶
Deprecate
TuningTypeenum; use values fromclient.tune.types()method.- Following schemas or their properties were renamed:
 UserPromptResult -> PromptResult
PromptsResponseResult -> PromptResult
UserResponseResult -> UserResult
UserCreateResultApiKey -> UserApiKey
PromptRetrieveRequestParamsSource -> PromptListSource
BaseMessage.file_ids -> BaseMessage.files