Upload files to "/"
This commit is contained in:
55
fnc_26ai_rag.sql
Normal file
55
fnc_26ai_rag.sql
Normal file
@@ -0,0 +1,55 @@
|
||||
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;
|
||||
/
|
||||
Reference in New Issue
Block a user