Forum Discussion

bruparel's avatar
bruparel
Microsoft Employee
1 year ago

AI Skill works using UI but doesn't work when calling programmatically

I am trying to debug the Python code that a colleague wrote following the example given here:

 

https://learn.microsoft.com/en-us/fabric/data-science/ai-skill-scenario#use-the-ai-skill-programmatically

 

the code is really simple.  We just plugged in our URL and question and ran it.  Here is the code:

 

 

 

import requests
import json
import pprint
from synapse.ml.mlflow import get_mlflow_env_config


# the URL could change if the workspace is assigned to a different capacity
url = "https://msitapi.fabric.microsoft.com/v1/workspaces/65c73be1-bfdf-4683-812e-cab91cc98cbeNaN"

configs = get_mlflow_env_config()

headers = {
    "Authorization": f"Bearer {configs.driver_aad_token}",
    "Content-Type": "application/json; charset=utf-8"
}

#print (configs)
#question = "{userQuestion: \"Please list all providers\"}"
question = "{userQuestion: \"Please give me total number of claims in the claims.csv table\"}"
# question = "{userQuestion: \"Could you give me total cost of procedures done in year 2023 grouped by procedure code?\"}"

response = requests.post(url, headers=headers, data = question)
print ("I am here now")

print("RESPONSE: ", response)

#print("")

responsebody = json.loads(response.content)

print (responsebody)

#print(response["result"])

 

 

 

 

Here is the response:

I am here now
RESPONSE:  <Response [405]>
{'requestId': '9c739b23-d366-4c71-8fe2-4107e09cbf29', 'errorCode': 'UnknownError', 'message': 'An error occurred while processing the operation'}

 

the log shows no errors.  How do we go about debugging this script.  If anyone can help, that would be great.

2 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    HI bruparel,

    I check the error message and I found it means the request method not allowed, you may need to check the api document to use allow methods to send these requests.

    405 Method Not Allowed 

    Regards,
    Xiaoxin Sheng

  • I have the same issue, the difference I see is the trailing NaN in the URL, is it by design?