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.schema
module.Some schemas were renamed for better readability.
Moderations¶
Stigma (
ModerationStigma
class) has been replaced by Social Bias (ModerationSocialBias
class).Implicit Hate (
ModerationImplicitHate
class) has been replaced by Social Bias (ModerationSocialBias
class).You can now set a different threshold for input and output moderations.
Text generation response
moderation
was renamed tomoderations
:TextChatStreamCreateResponse.moderation
->TextChatStreamCreateResponse.moderations
TextGenerationStreamCreateResponse.moderation
->TextGenerationStreamCreateResponse.moderations
TextGenerationResult.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
TuningType
enum; 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