create or replace FUNCTION FNC_26ai_rag (p_ai_prompt IN clob, p_oci_cred IN VARCHAR2 default 'OCI_CRED', p_comp in varchar2 ) RETURN CLOB AS /* Criado por: fernando.leal@oracle.com Data: Oct/2025 Objetivo: demonstrar casos de uso do Oracle AI Database 26ai v1 - funcao global de RAG com Llama4 - leal */ v_gen_ai_endpoint varchar2(500) := 'https://inference.generativeai.us-chicago-1.oci.oraclecloud.com'; v_gen_ai_model varchar2(500) := 'meta.llama-4-maverick-17b-128e-instruct-fp8'; resp dbms_cloud_types.RESP; BEGIN resp := dbms_cloud.send_request( credential_name => p_oci_cred, uri => v_gen_ai_endpoint || '/20231130/actions/chat', method => dbms_cloud.METHOD_POST, body => utl_raw.cast_to_raw(json_object( 'compartmentId' value p_comp, 'servingMode' value (json_object( 'modelId' value v_gen_ai_model, 'servingType' value 'ON_DEMAND' )), 'chatRequest' value (json_object( 'apiFormat' value 'GENERIC', 'messages' value (json_array(JSON_OBJECT( 'role' value 'USER', 'content' value (json_array(JSON_OBJECT( 'type' value 'TEXT', 'text' value p_ai_prompt ))) ))), 'temperature' value 0.1, 'topK' value -1 )) )) ); RETURN json_value( dbms_cloud.get_response_text(resp) , '$.chatResponse.choices[0].message.content[0].text') ; -- cuidado: removido 'maxTokens' value 1000 em 14-11-25 leal EXCEPTION WHEN OTHERS THEN RETURN 'Não foi possível gerar um texto com base nas informações.'; END; /