Artificial Intelligence

Understand how Google and other search engines use LLMs to gain insights into the semantic meaning of the language in search queries using embedding and cosine similarity.
I was part of a Scott Logic team that developed and delivered a Proof of Concept (PoC) for a major retail bank which demonstrated high potential business value and showed how GenAI could be reined in as part of a range of options to mitigate risk. In this post, I provide an overview of how it worked.
ChatGPT is put through its paces to see how the AI fares as a productivity tool for developing a small project. We look at where it helps, where it doesn't, and where AI tooling might go in the future.
AI tools are being trialled in many areas including software development, with huge potential to transform ways of working. What might the impact of AI be on software architecture? In this post, I make some predictions and argue that software architecture may become more data-driven, with prototype architectures and architectural diagrams being generated from the actual code itself.
Generative AI is moving at an incredible pace, bringing with it a whole new raft of terminology. With articles packed full of terms like prompt injection, embeddings and funky acronyms like LoRA, it can be a little hard to keep pace. For a while now I've been keeping a notebook where I record brief definitions of these new terms as I encounter them. I find it such a useful reference, I thought I'd share it in this blog post.
This post offers a proposed architecture for mitigating the risks of deploying Generative AI technologies in complex enterprises, particularly when used in highly regulated environments such as Financial Services. As well as the proposed architecture, I provide a primer on the business risks of Enterprise GenAI along with the technology risks and challenges.
LangChain has become a tremendously popular toolkit for building a wide range of LLM-powered applications, including chat, Q&A and document search. In this blogpost I re-implement some of the novel LangChain functionality as a learning exercise, looking at the low-level prompts it uses to create these higher level capabilities.
It’s been over a year since I last blogged about OpenAI. Whilst DALL-E 2, ChatGPT and GPT4 have grabbed all of the headlines, there were a lot of other interesting things showing up on their blog in the background. This post runs through just over six months of progress from Sept 2021 - March 2022.
The buzz and excitement around generative AI is continuing to grow as their capabilities rapidly expand. However, their ability to generate content is just the starting point. From my perspective, the emergent reasoning capability, coupled with their intelligent use of tools, is what will make this technology truly transformational, and will mark the start of a new technology epoch.
It is quite common for blogs, or news / content distribution websites, to organise their content around categories of tags. However, this approach is time-consuming, and from measuring behaviours, it doesn't seem to do much to encourage browsing. In this blog post I use the new OpenAI embedding API to create highly targeted article recommendations, resulting in a four-fold (x4) increase in engagement.
· Video
In this talk, I share the key things AI can learn from Neuroscience, and why these two disciplines need each other in order to progress successfully.
You can tell powerful stories with data, but so often we are faced with raw data (albeit beautifully presented), and are left to create our own narratives. My previous attempts at turning data into stories have been time consuming and underwhelming. In this post I demonstrate how GPT-3, a new and advanced language model, can construct engaging and unique stories from user-specific data, with relative ease.
· Video
I talk about GPT3, one of the massive and very impressive AI models to come out of OpenAI. I quickly cover off the basics of how it works and where its creativity comes from, before accidentally delving into existentialism.
The OpenAI Codex JavaScript Sandbox and the API which backs it, have (rightly!) generated a lot of interest and comment in the development community. When faced with something so different to what we expect, it's easy to assume it's all magic. In this post I'll peel back some of the layers and try to describe what's going on.
...or what I should have known before I jumped in and started playing around. In this post I cover few shot learning and fine-tuning.
...or what I should have known before I jumped in and started playing around. In this post I cover the basics of tokens, the model and prompt design.
· Video
Last month GitHub released Copilot, an AI powered tool that provides surprising accurate suggestions ranging from a few lines of code to entire functions. Copilot uses a vast and powerful AI model that is trained on billions of lines of open source code from GitHub. This, combined with the context provided by your code and comments, allows it to provide amazingly accurate suggestions. This is no simple autocomplete, this is pair programming with a robot!
I've been lucky enough to be granted access to the preview of Copilot, GitHub's new 'AI pair programmer' that is causing quite a stir. This blog post shares my initial thoughts and experiences with this tool. In brief, I'm stunned by its capabilities. It has genuinely made me say 'wow' out loud a few times in the past few hours, not something you expect from your developer tooling.
Recently I've been doing a bit of research on machine learning and particularly TensorFlow and Keras. This blog provides a brief introduction to the tech, and then a simple tutorial using both TensorFlow and Keras, exploring the differences between the two.