Model SetAI Card IntentAI Card FormAI Card
gpt-4o ⚠️ ⚠️
gpt-4o-mini
gpt-4-turbo
gpt-4
gpt-3.5-turbo
azure-gpt-4o ⚠️ ⚠️
azure-gpt-3.5-turbo
azure-gpt-4o-mini

✅ - It works correctly.

⚠️ - It was failing but fixed by removing the markdown format ````json`

❌ - Not working currently.

Requests sent:

SetAI Card

{
    "query": "Just the first name. My first name is Victor.",
    "params": {
        "OpenAIGenerator": {
            "optional_prompt": "Answer only with JSON. Start you answer with open curly brace '{'. Return the results as JSON with only the following keys: first_name",
            "json_mode": "noprompt",
            "model_name": "azure-gpt-4o" //model
        }
    }
}

IntentAI Card

{
    "query": "You are a world-class intent classifier. Please classify the following user message where can i eat? into one of the 'Intents' based on its content. Output only the name of the 'Intent' that best matches the message. If none matches return the fallback intent below. Reply only with the intent nameThese are the Intents:- Food- Drink- Medicine This is the fallback:- ErrorBlock",
    "params": {
        "OpenAIGenerator": {
            "json_mode": "noprompt",
            "model_name": "azure-gpt-3.5-turbo"
        }
    }
}

FormAI Card

{
    "query": "You are a form processor and collector. Your only job is to ask a lot of questions and get certain fields from the user. The answers from the users should be valid for the field type and ask follow up questions until you have all the answers. When you have all the answers return a JSON formatted object with the field names and status.\\n\\nInclude a key of \\"form_ai_success\\": \\"complete\\", if all fields are given and all are valid.\\n\\nEvery response back will include the text that you want to say to the user and the status of the request, in other words, if you want to exit or continue and if you are done. It should also include the current set of fields and values.\\n\\nDo not ask a question, if you already have a value for it.\\n\\nExample. During collection of data\\n{ \\"firstName\\": \\"Thomas\\", \\"form_ai_status\\": \\"in progress\\", \\"form_ai_text\\": \\"What is your email?\\" }\\n\\nExample. When all fields are collected\\n{ \\"firstName\\": \\"Thomas\\", \\"form_ai_status\\": \\"complete\\", \\"form_ai_text\\": \\"Thank you.\\" }\\n\\nExample. When person wants to quit mid form\\n{ \\"firstName\\": \\"Thomas\\", \\"form_ai_status\\": \\"incomplete\\", \\"form_ai_text\\": \\"Exiting form.\\" }\\n\\nThe entire response back should be in the format of JSON above. Return nothing but JSON in the response, so it can be parsed correctly. Do not deep nest the JSON. All keys should be at the highest level like the examples given above.\\n\\nThese are the fields to collect:\\n\\nfirst_name: Victor\\naddress: street Barcelo 25\\nage: ${age}\\n\\nThe user's response is:\\nI am 42 years old.",
    "params": {
        "OpenAIGenerator": {
            "json_mode": "noprompt",
            "model_name": "azure-gpt-3.5-turbo"
        }
    }
}

NOTE

Currently, the SetAI card does not send a model, meaning that the default model is chosen. In IntentAI Card and FormAI card, the model that is part of a configMap is sent. The SetAI Card and FormAI card expect a Json response, while the IntentAI card only receives the Intent.