Files
26ai_mvp_poc/pkg_26ai_auto_load.sql
2026-05-08 13:13:13 +00:00

95 lines
3.1 KiB
SQL

create or replace package pkg_26ai_auto_load
as
/*
-- Teste
-- gerar arquivos a serem vetorizados
begin
PKG_26AI_AUTO_LOAD.prc_refresh_files(p_mimetype => 'PDF',p_embedding_name=>'COHERE');
PKG_26AI_AUTO_LOAD.prc_refresh_files(p_mimetype => 'JPG',p_embedding_name=>'COHERE');
PKG_26AI_AUTO_LOAD.prc_refresh_files(p_mimetype => 'CLOB',p_embedding_name=>'COHERE');
end;
-- liste de dados a serem vetorizados. Status incial: NULL
select * from tb_26ai_auto_load
-- reserva de dados para associar aos jobs que executarao, marcado status como R
-- CUIDADO: nao preciso executar manulamnete opois faz parte da rotina de embedding AUTOMATICAMENTE
declare
v_name SYS.ODCIVARCHAR2LIST;
begin
PKG_26AI_AUTO_LOAD.prc_reserve_files (
p_limit => 10,
p_worker_id => 1 ,
p_oci_cred => 'OCI_CRED',
p_bucket => '',
p_docs =>v_name
) ;
end;
-- liste de dados a serem vetorizados. Status reservado por worker id em R
select * from tb_26ai_auto_load
-- Embedding
-- CUIDADO: ja faz o reserve de acordo com p_worker_id e p_limit
declare
v_name SYS.ODCIVARCHAR2LIST;
begin
PKG_26AI_AUTO_LOAD.proc_embed_files (
p_limit => 10,
p_worker_id => 1 ,
p_stop_process_list => 'N'
) ;
end;
-- liste status
select * from tb_26ai_auto_load
-- erro
select * from tb_26ai_auto_load_debug
-- vector
select * from tb_26ai_auto_load_vector
-- em caso de erro nos TESTES
begin
update tb_26ai_auto_load set ERROR_MSG= null, status = NULL, WORKER_ID = null where status is not null ;
delete tb_26ai_auto_load_debug;
delete tb_26ai_auto_load_vector;
end;
*/
c_embedding_name CONSTANT VARCHAR2(10) := 'ONNX-E5'; -- requer ajuste do JSON usado nas rotinas de embedding no BODY
PROCEDURE prc_refresh_files(p_oci_cred IN VARCHAR2 default 'OCI_CRED',
p_bucket in varchar2 default null,
p_mimetype in varchar2 default 'PDF',
p_embedding_name in varchar2 default 'COHERE');
PROCEDURE prc_reserve_files (
p_limit IN NUMBER,
p_worker_id IN VARCHAR2,
p_oci_cred IN VARCHAR2 default 'OCI_CRED',
p_bucket in varchar2 ,
p_docs OUT SYS.ODCIVARCHAR2LIST,
p_mimetype in varchar2 default 'PDF',
p_embedding_name in varchar2 default 'COHERE' ) ;
PROCEDURE proc_embed_files(p_limit in number default 10,
p_worker_id in number,
p_stop_process_list in varchar2 default 'N',
p_mimetype in varchar2 default 'PDF',
p_embedding_name in varchar2 default 'COHERE');
PROCEDURE proc_remove_jobs;
PROCEDURE proc_add_jobs(p_limit in number,
p_total_jobs in number,
p_mimetype in varchar2 default 'PDF',
p_embedding_name in varchar2 default 'COHERE');
end;
/