In my previous article, I speculated on using OpenAI’s LLM API for service selection at the day job. Idea being to guide a prospective researcher into the appropriate services from our catalogue to conduct their research.

I bashed something together on a frustrating Friday afternoon, and it seems to work quite well!

To accomplish this, I pre-load the chat with some instructions, e.g. “behave like an expert structural biologist with experience of all suitable technologies” which is surprisingly straightforward.

The secret sauce comes when it comes to loading the catalogue. Basically, I pull all the services and construct some JSON consisting of the names, the description (which is useful for understanding the limitations of the technology), and a “apply url”. I instruct the LLM to select appropriate technologies from the list, and then give me a valid application like where appropriate. These links will automatically create a new proposal in our access management system, ARIA, so that the user can directly apply.

I ask the LLM to consider alternative technologies that the researcher may not have considered, as well as pipelines where appropriate.

Initial tests are… very positive, I have to say!

This was of course an experiment, and there’s a question as to whether we roll this out on our live site (not least of which the European Commission is … touchy… right now about using US based LLMs), but… not bad for an afternoon’s flight of fancy.

Next, I’m going to possibly start looking at vector databases and how they could be applied to the statistical analysis of deposition metadata, but this might be better directed towards some lucky individual’s PHD thesis.

What a difference a year makes… and I ain’t dead (yet). Long time, no post. Suffice it to say it has been a very busy year, with a lot going on, both professionally and personally, both good and bad. But, I won’t go into that here.

AI is the new hotness, as has been remarked. A lot of my day job now involves AI in some form or another, and indeed, the field of Structural Biology leads the way on a lot of the technological adoption. Notably, things like AlphaFold for AI based structural predictions, but also, some of the stuff I’m more directly involved with which aims to build a model for improved fragment based drug discovery. More on that stuff in due course.

Compared to that, this little thing I put together while bored during a meeting today may not be earth shattering, but as a proof of concept I think it does start to address a problem we on the ARIA team have faced for a little while.

Namely, our catalogue is very well placed to allow people who know what they’re after to get what they want, but not if they want to, for example, find something out but have no idea how to go about it.

Previously, we had used human experts, and even played with a live chat feature. None of this really scaled very well, but now we’ve got fancy pants AI, I figured I’d give it a try!

My thinking on this is fairly simple, the first step is to make sure all the services in ARIA have good descriptions, including down to what each machine can and can’t do. The better the description, the better the results from the model.

The second is to feed this context into the prompt, and instruct the AI (via the new fangled technique of prompt engineering) to act as an expert and set the parameters according. For example, to instruct to only recommend information in the context, and to provide, as a result, a list of suitable application URLs (which in reality will allow the user to directly apply for the service).

I also instructed the AI to consider how it could connect services together into a pipeline, as well as to consider alternative recommendations.

Proof of concept right now, but already I’m getting possibly interesting results. I’ve got more tedious meetings coming up, as well as a fair amount of sitting in airports, so my plan is to wire this up with a chat interface and let real scientists play. No doubt we’ll have to tweak the prompt a number of times as we go, but as a first play with the technology I think this was a morning well spent!

» Visit the project on Gitlab...