Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’intégration alpha TypeSafe AI adapte les modèles System One, y compris Jev, à Agent Framework Python. Ces modèles évaluent l’état de l’application par rapport aux questions typées et retournent des probabilités et des scores. Ils ne génèrent pas de réponses de conversation de forme libre ordinaires.
Installer le package
pip install agent-framework-typesafe --pre
Configuration
Définissez la clé API avant de créer le client :
TYPESAFE_API_KEY="<api-key>"
# Optional:
TYPESAFE_DEFAULT_MODEL="jev-latest"
TYPESAFE_BASE_URL="<api-root>"
Les valeurs du constructeur sont prioritaires sur les variables d’environnement. Vous pouvez également injecter un TypeSafe configuré AsyncTypeSafeClient. Les clients injectés restent à la charge de l’appelant ; fermez les clients créés par TypeSafeChatClient à l’aide de close() ou d’un gestionnaire de contexte asynchrone.
Créer un agent de décision typé
Transmettez un mappage TypeSafe Questions via l’option Agent Framework response_format :
import asyncio
from agent_framework import Agent
from agent_framework_typesafe import TypeSafeChatClient
from typesafe_sdk import Choice, Noul
async def main() -> None:
client = TypeSafeChatClient()
try:
agent = Agent(
client=client,
name="TicketEvaluator",
instructions="Evaluate the support request.",
)
response = await agent.run(
"Our checkout has failed for three days and we are losing sales.",
options={
"response_format": {
"department": Choice(
instructions="Which team should handle this request?",
criteria={
"billing": None,
"technical": None,
"sales": None,
},
),
"urgent": Noul(
instructions="Does this request need urgent attention?"
),
},
},
)
print(response.value)
finally:
await client.close()
asyncio.run(main())
Pour ce connecteur, response_format correspond à un mappage TypeSafe Questions non vide contenant des questions Noul, Choice ou Score. Vous pouvez accéder à l’intégralité du contenu typé SystemOneResponse via response.value.
Utiliser default_questions sur le client lorsqu’une intégration a un contrat fixe. Par exemple, un client TypeSafe avec des questions par défaut peut agir comme client de quarantaine pour SecureAgentConfig.
Fonctions et outils MCP
TypeSafeChatClient prend en charge la boucle standard d’invocation de fonctions du framework Agent Framework pour les schémas à ensemble fermé. Les formes d’argument prises en charge sont les suivantes :
- Constantes fixes.
- Énumérations ou valeurs Python
Literal. - Valeurs booléennes.
- Tableaux d’énumérations ou de valeurs
Literalsans contraintes supplémentaires sur les tableaux. - Versions facultatives de ces formes.
Le client ne prend pas en charge les chaînes de forme libre ou les nombres requis, les objets imbriqués, les tableaux généraux, les arguments nullables requis ou les contraintes de schéma que le connecteur ne peut pas conserver. Si vous spécifiez un argument non pris en charge, le client exclut l’ensemble de l’outil en mode automatique ou rejette l’outil lorsque vous en avez besoin.
Les outils MCP fonctionnent via Agent, qui découvre les fonctions MCP et les développe en outils de fonction avant le routage TypeSafe. Seules les fonctions dont les schémas correspondent au sous-ensemble pris en charge sont routables. Une demande prend en charge au maximum 32 outils routables, 64 propriétés par outil, 64 membres d’énumération par argument et 128 questions internes générées.
Par défaut, le client appelle un seul outil par exécution. Configurez function_invocation_configuration={"max_function_calls": N} pour autoriser les allers-retours d’outils séquentiels.
Fonctionnalités et limites
| Capability | Support |
|---|---|
| Classification, notation et routage typés | TypeSafe Questions et SystemOneResponse |
| Intergiciel agent Framework et télémétrie | Supported |
| Outils de fonction locaux | Pris en charge pour le sous-ensemble contraint du schéma |
| Fonctions MCP | Pris en charge pour le sous-ensemble contraint de schémas |
| Diffusion en continu | Non pris en charge |
| Génération de texte de forme libre | Non pris en charge |
| Contenu de message non texte | Non pris en charge |
Options génératives telles que temperature |
Rejected |
Utiliser TypeSafeChatClient pour les couches de framework standard. Utilisez RawTypeSafeChatClient uniquement lorsque vous souhaitez composer intentionnellement une pile de couches personnalisée ou refuser l’exécution de la fonction, l’intergiciel et la télémétrie.