OpenAI Adapter Restrictions

Note the following OpenAI Adapter restrictions.

  • When you define the tools parameter in your JSON structure, you must manually convert the JSON format into string format to successfully pass it to the OpenAI model. The following example shows a sample request JSON structure specified in the REST Adapter trigger connection. Back slashes are used to convert the JSON format to string format.
    { "previous_response_id" : "resp_67fcf9d44a308136841b47ff252cb2c40f3934e820b8b734", 
    "messages" : [ { "role" : "user", "content" : "What is the weather like in Boston today?", "id" : 
    "fc_68186d15c16c8192bfd40ea203016e2709a262500b6fb5c2", "type" : "function_call", "status" : 
    "completed", "arguments" : "{\"document_name\":\"R010\"}", "call_id" : "call_MUbVuvEfzFkwFwD30ZiBQCUg", 
    "name" : "classify_document", "output" : "receipts" }, { "role" : "user", "content" : 
    "What is the weather like in Boston today?", "id" : "fc_68186d15c16c8192bfd40ea203006e2709a262500b6fb5c2", 
    "type" : "function_call", "status" : "completed", "arguments" : "{\"document_name\":\"R010\"}", "call_id" : 
    "call_MUbVuvEfzFkwFwD30ZiBQCUg", "name" : "classify_document", "output" : "receipts" } ],
    "tools" : "[ {\r\n \"type\" : \"function\",\r\n \"name\" : \"classify_document\",\r\n 
    \"description\" : \"classifies document whether its item reciept or invoice\",\r\n 
    \"parameters\" : {\r\n \"type\" : \"object\",\r\n \"required\" : [ \"document_name\"],\r\n 
    \"properties\" : {\r\n \"document_name\" : {\r\n \"type\" : \"string\",\r\n \"description\" : 
    \"This tells the document name\"\r\n }\r\n }\r\n }\r\n }, {\r\n \"type\" : \"function\",\r\n \"name\" : 
    \"extract_receipt_data\",\r\n \"description\" : \"Extracts Receipt data\",\r\n \"parameters\" : {\r\n 
    \"type\" : \"object\",\r\n \"required\" : [ \"receipt_id\"],\r\n \"properties\" : {\r\n 
    \"receipt_id\" : {\r\n \"type\" : \"string\",\r\n \"description\" : \"the receipt id to extract.\"\r\n }
    \r\n }\r\n }\r\n }, {\r\n \"type\" : \"function\",\r\n \"name\" : \"rag_retrieval\",\r\n \"description\" : 
    \"Extracts Receipt data\",\r\n \"parameters\" : {\r\n \"type\" : \"object\",\r\n \"properties\" : {\r\n 
    \"question\" : {\r\n \"type\" : \"string\",\r\n \"description\" : \"The user's query.\"\r\n },\r\n 
    \"collection_name\" : {\r\n \"type\" : \"string\",\r\n \"description\" : \"Name of the ChromaDB collection.
    \",\r\n \"default\" : \"oracle_integration_documents\",\r\n \"enum\" : [ \"oracle_integration_documents\", 
    \"expense_report_policy_documents\" ]\r\n }\r\n },\r\n \"required\" : [ \"question\"]\r\n }\r\n }, {\r\n 
    \"type\" : \"function\",\r\n \"name\" : \"create_expense_report\",\r\n \"description\" : \"This tool creates 
    expense report\", \r\n \"parameters\" : {\r\n \"type\" : \"object\",\r\n \"properties\" : {\r\n \"amount\" : 
    {\r\n \"type\" : \"string\",\r\n \"description\" : \"recipt expense amount\"\r\n }\r\n },\r\n \"required\" : 
    [ \"amount\" ]\r\n }\r\n } ]" }
    
    

Note:

There are overall service limits for Oracle Integration. A service limit is the quota or allowance set on a resource. See Service Limits.