Skip to content

adm_ai_qdrant_api

Package for interacting with Qdrant vector database Handles point creation, updates, and queries

Type for collection detailed info

Definition:

type r_collection_detail_type is record (
status varchar2(100 char),
optimizer_status varchar2(100 char),
points_count number,
segments_count number
);

Fields:

NameTypeDescription
statusvarchar2(100 char)-
optimizer_statusvarchar2(100 char)-
points_countnumber-
segments_countnumber-

Store a single vector point in Qdrant

Signature:

procedure upsert_point (
p_collection_name in varchar2,
p_point_id in varchar2,
p_vector in json_array_t,
p_payload in json_object_t default null
);

Parameters:

NameDirectionTypeDescription
p_collection_nameinvarchar2Name of the Qdrant collection
p_point_idinvarchar2Unique identifier for the point
p_vectorinjson_array_tJSON array containing the vector embeddings
p_payloadinjson_object_t default nullOptional JSON object with metadata

Store multiple vector points in Qdrant in a single request

Signature:

procedure upsert_points (
p_collection_name in varchar2,
p_points_array in json_array_t
);

Parameters:

NameDirectionTypeDescription
p_collection_nameinvarchar2Name of the Qdrant collection
p_points_arrayinjson_array_tJSON array of point objects (each with id, vector, and optional payload)

Delete a point from Qdrant

Signature:

procedure delete_point (
p_collection_name in varchar2,
p_point_id in varchar2
);

Parameters:

NameDirectionTypeDescription
p_collection_nameinvarchar2Name of the Qdrant collection
p_point_idinvarchar2ID of the point to delete

Search for similar vectors in Qdrant

Signature:

function search_similar (
p_collection_name in varchar2,
p_vector in json_array_t,
p_limit in number default 10,
p_score_threshold in number default 0.5
) return json_array_t;

Parameters:

NameDirectionTypeDescription
p_collection_nameinvarchar2Name of the Qdrant collection
p_vectorinjson_array_tQuery vector
p_limitinnumber default 10Maximum number of results to return
p_score_thresholdinnumber default 0.5Minimum similarity score threshold

Returns: json_array_t - JSON array of search results


Scroll through all points in a Qdrant collection

Signature:

function scroll_all_point_ids (
p_collection_name in varchar2,
p_limit in number default 100
) return apex_t_varchar2;

Parameters:

NameDirectionTypeDescription
p_collection_nameinvarchar2Name of the Qdrant collection
p_limitinnumber default 100Number of points to retrieve per scroll request (default: 100)

Returns: apex_t_varchar2 - JSON array of all point IDs in the collection


Delete multiple points from Qdrant in a single request

Signature:

procedure delete_points (
p_collection_name in varchar2,
p_point_ids in apex_t_varchar2
);

Parameters:

NameDirectionTypeDescription
p_collection_nameinvarchar2Name of the Qdrant collection
p_point_idsinapex_t_varchar2Array of point IDs to delete

Synchronize Qdrant collection with Oracle DB

  • Removes points from Qdrant that don’t exist in adm_ai_rag_chunks
  • Sets embedded_at to NULL for chunks in DB that don’t exist in Qdrant

Signature:

procedure sync_with_db (
p_rag_collection_id in number
);

Parameters:

NameDirectionTypeDescription
p_rag_collection_idinnumberID of the RAG collection to sync

Get all collections from Qdrant

Signature:

function get_all_collections return t_collection_names pipelined;

Returns: t_collection_names pipelined - Pipelined table of collection names


Create a new collection in Qdrant

Signature:

procedure create_collection (
p_collection_name in varchar2,
p_vector_size in number default 1024,
p_distance in varchar2 default 'Cosine'
);

Parameters:

NameDirectionTypeDescription
p_collection_nameinvarchar2Name for the new collection
p_vector_sizeinnumber default 1024Size of the vector embeddings (default: 1024)
p_distanceinvarchar2 default 'Cosine'Distance metric for similarity (default: ‘Cosine’)

Get detailed information about a specific collection

Signature:

function get_collection_info (
p_collection_name in varchar2
) return r_collection_detail_type;

Parameters:

NameDirectionTypeDescription
p_collection_nameinvarchar2Name of the collection to query

Returns: r_collection_detail_type - Collection statistics (status, optimizer_status, points_count, segments_count)


Delete a collection from Qdrant

Signature:

procedure delete_collection (
p_collection_name in varchar2
);

Parameters:

NameDirectionTypeDescription
p_collection_nameinvarchar2Name of the collection to delete