Files
26ai_mvp_poc/prc_26ai_rerank_vllm.sql
2026-05-08 13:09:57 +00:00

34 lines
1.1 KiB
SQL

create or replace procedure prc_26AI_rerank_VLLM( p_text in varchar2, p_string_options in varchar2)
as
l_resp DBMS_CLOUD_TYPES.resp;
l_text CLOB;
l_body_clob CLOB;
l_body BLOB;
l_query VARCHAR2(500) := 'qual o melhor meio de transporte para ir ate o trabalho em SP'; -- := p_text;
BEGIN
-- montar o JSON do body corretamente
l_body_clob := '{'
|| '"model": "Qwen/Qwen3-Reranker-8B",'
|| '"topN": 1,'
|| '"query": "' || l_query || '",'
|| '"documents": ["foguete", "planeta", "carro"]'
|| '}';
-- "documents": [ p_string_options ]
l_body := UTL_I18N.STRING_TO_RAW(l_body_clob, 'AL32UTF8');
l_resp := DBMS_CLOUD.SEND_REQUEST(
credential_name => NULL,
uri => 'https://hub-gpus.DOMINIO.com.br/rerank/v1/rerank',
method => DBMS_CLOUD.METHOD_POST,
headers => JSON_OBJECT('Content-Type' VALUE 'application/json'),
body => l_body
);
l_text := DBMS_CLOUD.GET_RESPONSE_TEXT(l_resp);
DBMS_OUTPUT.PUT_LINE('Status: ' || DBMS_CLOUD.GET_RESPONSE_STATUS_CODE(l_resp));
DBMS_OUTPUT.PUT_LINE(SUBSTR(l_text, 1, 5000));
END;
/