Posts

Showing posts from 2014

Visualising AI Embeddings in APEX

Image
" To deal with hyper-planes in a 14-dimensional space, visualize a 3-D space and say 'fourteen' to yourself very loudly. Everyone does it."     - Geoffrey Hinton , 2018 Turing Award winner. Within the wonderful world of  Generative AI , one concept that is all the rage is RAG, or  Retrieval Augmented Generation , which is an  AI framework that combines the strengths of traditional information retrieval systems (such as databases) with the capabilities of generative large language models (LLM s) . RAG's goal is to improve the accuracy, relevance, and timeliness of information  generation  - such as  documents, text and images -  by optimizing LLM output.  When creating a RAG system, it’s essential to store information in a format that a LLM can retrieve. This is where  data is converted into embeddings through a pro...

UKOUG Tech14 - APEX Highlights

Image
Last week I spent 4 days at the annual UK Oracle User Group conference, this time around called  Tech14 .  It was my first  UKOUG  conference in a number of years and I set out with the intention of treating it like an all you can eat buffet of APEX presentations and workshops. So, what were the APEX highlights of Tech14? Well, I have to start with the presentations given by  Joel Kallman ,  David Peake  and  Shakeeb Rahman .  They gave a number of talks over all 4 days, a fair few of these covered various features of APEX 5.  I'm really impressed with the new Page Designer which looks even more like a traditional IDE and will help convince Forms (and ADF,  .Net, etc) developers of just how serious a development tool APEX really is.  Oracle consider this to be a 'game changer' for APEX and it's hard to disagree. Shakeeb gave a number of talks centred on the new Universal Theme within APEX 5.  This is a new centra...

Fun with Bubbles - Part 2

Image
In my previous  post a couple of days back, I demonstrated a simple APEX demo with D3 pulling dynamic data from the database in the form of a bubble chart.  I promised to share the code so here it is. It's really quite simple.  In short, i've created a table, D3_COUNTRIES, which contains 10 sets of rows each with a country code, name and a value.  The Javascript code on the page has an interval that runs every 2 seconds, and each time calls an Ajax callback process to get another set of country data.  The code then uses D3 to create a bubble chart for that data, using a nice transition between each set. First of all create the table and upload the data.  Here's the DDL to create the D3_COUNTRIES table. CREATE TABLE "D3_COUNTRIES" ( "ID" NUMBER(10,0), "COUNTRY_CODE" VARCHAR2(2) NOT NULL ENABLE, "COUNTRY_NAME" VARCHAR2(100) NOT NULL ENABLE, "CREATED_DATE" DATE, ...

Fun with Bubbles!

Image
I'm on a train up to Liverpool for the UK Oracle User Group Tech 14 conference, and decided it's about time for a post showing something I've been working on.  I don't post often these days, which I blame on work and family commitments, but is probably just down to pure laziness.  Anyhow, I'm feeling in the mood so I'll just get on with it in case the desire to catch some zzz's becomes overwhelming.  Also it takes my mind of the bad coffee served up on the train. So, I've been getting into  D3  a little, which if you don't already know is a JavaScript library for manipulating data to create interactive graphs and charts.  Some of the stuff people are creating using D3 is amazing, including this dynamic bubble chart example.  I thought I would use this example as the basis for creating a bubble chart in Apex, that dynamically updates with some cool transitions, using data from the database rather than the real time API in the example. The demo ca...