CREATE OR REPLACE APPLICATION VectorDB_Demo;
CREATE OR REPLACE SOURCE ReadChangesFromOracleDB USING OracleReader (
Username: '**',
Password: '**',
Tables: 'AIDEMO.PRODUCTS',
ConnectionURL: 'jdbc:oracle:thin:@oracle19c-infra123.abcdefghij.us-west-1.rds.amazonaws.com:1521/orcl'
)
OUTPUT TO sourceCDCStream;
CREATE OR REPLACE EMBEDDINGS_GENERATOR OpenAIEmbedder26 WITH (
modelProvider: 'OpenAI',
modelName: 'text-embedding-ada-002',
apiKey: '***'
);
CREATE CQ EmbGenCQ
INSERT INTO EmbeddingCDCStream
SELECT putUserData(e, 'embedding', java.util.Arrays.toString(generateEmbeddings("admin.OpenAIEmbedder26",
TO_STRING(GETDATA(e, "description")))))
FROM sourceCDCStream e;
CREATE OR REPLACE TARGET DeliverEmbeddingChangesToPostgresDB USING DatabaseWriter (
Tables: 'AIDEMO.PRODUCTS,aidemo.products2
ColumnMap(product_id=product_id,product_name=product_name,description=description,list_price=
list_price,embedding=@USERDATA(embedding))',
Username: '**',
Password: '**',
BatchPolicy: 'EventCount:100,Interval:2',
CommitPolicy: 'EventCount:100,Interval:2',
ConnectionURL: 'jdbc:postgresql://34.173.25.51:5432/postgres?stringtype=unspecified'
) INPUT FROM EmbeddingCDCStream;
END APPLICATION VectorDB_Demo;