Intro0:00
Hi everyone, thank you for having us. I'm Infant, Director of Engineering at BlackRock. This is my colleague Vaibhav, Principal Engineer, and we both work for the Data Teams at BlackRock. Today we're going to talk about how we can scale building custom applications in BlackRock.
Specifically, we're talking about AI applications and Knowledge Apps at BlackRock. Just to level set before I get into the details, BlackRock is an asset management firm, the world's largest asset manager. What we do is our portfolio managers and analysts get a torrent of information on a daily basis.
They synthesize this information, they develop an investment strategy, and then they rebalance their portfolios, which ultimately results in a particular trade. Now, the Investment Operations Teams, you can think of that as the teams that are the backbone or the engine that makes sure that all of the activities that the investment managers actually perform on a day-to-day basis run smoothly.
These teams are kind of responsible for acquiring the data that you kind of need to actually executing a trade, running through compliance, all the way to all of the post-trading activities. All of these teams actually have to build these internal tools that are actually fairly complex for each of their domains.
Use Cases1:25
Building apps and pushing out these apps relatively quickly is of utmost importance to us. If you move on to the next slide, again, if you actually classify what kind of apps we are talking about, what you'll see is it kind of falls into four different buckets.
One is everything to do with document extraction. I have an app, I kind of want to extract entities out of it in that bucket. Second has to do everything with, like, hey, I kind of want to define a complex workflow or an automation.
I could have a case where I kind of want to run through X number of steps and then integrate to my downstream systems. Then you have the normal Q&A type systems that you look at, like this is your chat interfaces, and finally, the agentic systems.
In each of these domains, what we see is we have this big opportunity to leverage your models and LLMs to either augment our existing systems or kind of supercharge those. That is the domain we are speaking about. I'll move quickly to one particular use case.
This is a use case that came to us about three to four months back. We have a team within the Investment Operations space. It's known as a New Issue Operations team. This team is kind of responsible for setting up securities whenever there is a market event.
A company goes IPO, or there is a stock split for a particular organization. The team actually has to take the security and they have to set it up in our internal systems before our portfolio managers or traders can actually action upon it.
We kind of have to build this tool for the Investment Operations team to set up a particular security. This is actually, honestly, this is like a super simplified version of what happens, but at super high level, we have to build an app that is able to ingest your prospectus or a term sheet.
It pushes it through a particular pipeline. Then you talk to your domain experts, and these are like your business teams, your equity teams, ETF teams, etc. They actually know how to set up these complex instruments. You get some kind of structured output, and now that team works with the engineering teams to actually build this transformation logic and the like, and then integrate it with our downstream applications.
You can see that this process actually takes a long time. Building an app, and then you're introducing new model providers, you're trying to put in new strategies, the lot of challenges to get a single app out. We tried this with agentic systems.
Challenges3:48
It doesn't quite workright now because of the complexity and the domain knowledge that's imbued in the human head. The big challenges with scale are, again, these three categories. One is you're spending a lot of time with our domain experts prompt engineering.
In the first phase where we have to extract these documents, they're very complex. Your prompt itself, in the simplest case, started with a couple of sentences. Before you knew it, you're trying to describe this financial instrument, and it's like three paragraphs long.
There's this challenge of, like, hey, I have to iterate over these prompts, I have to version and compare these prompts, how do I manage that effectively? I think even the previous speaker had mentioned, you kind of need to eval and have this data set how good is your prompt performing.
That's the first set of challenges in creating AI apps itself. How are you going to manage this in what direction? Second set of challenges is around LLM strategies. What I mean by this is when you're building an AI app, so to speak, you have to choose what strategy.
Am I going to use an RAG-based approach, or am I going to use a chain-of-thought-based approach? Even for a simple task of data extraction, depending on what your instrument is, this actually varies very highly. If you take an investment corporate bond, like the Vanilla one, it's fairly simple.
I can do this with, in context, pass it to model, I'm able to get my stuff back if the document size is small. Some documents are like thousands of pages long, 10,000 pages long. Now suddenly you're like, oh, okay, I don't know if I can pass more than a million tokens into, say, the OpenAI models.
What do I do then? Then, okay, I need to choose a different strategy. Often what we do is we have to choose different strategies and kind of mix them with your prompts to kind of build this iterative process where I have to play around with my prompts, I have to play around with the different LLM strategies, and we kind of want to make that process as quickly as possible.
That's a challenge. Then you have obviously the context limitations, model limitations, different vendors, and you're trying and testing things for quite a while, and this kind of goes into the month. Then the biggest challenge is like, okay, fine, I've kind of built this app.
Now what? How do I get this to deployment? And it's this whole other set of challenges. You have your traditional challenges, which has to do with distribution, access control, how am I going to federate the app to the users?
But then in the AI space, it's like you have this new challenge of what type of cluster am I going to deploy this to? Our equity team would come and say something like, hey, I need to analyze 500 research reports overnight.
Can you help me do this? Okay, if you're going to do that, I probably have to have a GPU-based inference cluster that I can kind of spin up. This is the use case that I kind of described with the new issue setup.
In that case, what we do is, okay, I don't really want to use my GPU inference cluster, etc. What I do instead is I use a burstable cluster. All those have to be kind of defined so that our app deployment phase is as close to a CI/CD pipeline as possible.
Then you have cost controls. These are, again, it's not an exhaustive list. I think what I'm trying to highlight is the challenges with kind of building AI apps.
Architecture7:01
What we did at BlackRock is what I'm going to do is I'll kind of give you a high-level architecture, and then maybe Vaibhav, you can dive into the details and mechanics of how this works and how we are able to build apps relatively quickly.
We took this, an app took us close to eight months, somewhere between three to eight months to build a single app for a complex use case, and we were able to compress time, bring it down to a couple of days.
We achieved that by building out this framework. What I kind of want to focus on is on the top two boxes that you see, which is your sandbox and your app factory. To the data platform and the developer platform, the names are just, hey, the platform is someone for ingesting data, etc.
You have an orchestration layer that has a pipeline that kind of transforms it, brings it into some new format, and then you kind of distribute that as an app or a report. What kind of accelerates app development is like.
If you're able to federate out those pain points or those bottlenecks, which is like prompt creation or extraction templates, choosing an LLM strategy, having extraction runs, and then building out these logic pieces, which are calling transformer and executors, if you can get that sandbox out into the hands of the domain experts, then your iteration speed becomes really fast.
You're kind of saying that, hey, I have this modular component, can I move across the situation really quickly, and then pass it along to an app factory, which is like our cloud-native operator, which takes a definition and spins out an app.
That's super high level with that quick demo.
Perfect.
Allright. Cool. What I'm going to show you guys is a pretty slim-down version of the actual tool we used internally. To start with, when the operator... We have two different core components. One is the sandbox and the other one is the factory.
Demo8:38
Think of sandbox as a playground for the operators to sort of quickly build and refine the extraction templates, sort of run the extraction on the set of documents, and then compare and contrast the results of these extractions. Sort of to get started with the extraction template itself, you might have seen in the other tools, both closed and open source, they have similar concepts like prompt template management, where you have certain fields that you want to extract out of the documents, and you have their corresponding prompts and some metadata that you can associate with them, such as the data type that you expect of the final result values.
But when these operators sort of like trying to run extractions on these documents, they need far more sort of like greater configuration capabilities than just configuring prompts and configuring the data types that they expect for the end result.
They need, like, hey, I need to have multiple QC checks on the result values. I need to have a lot of validations and constraints on the fields, and there might be like inter-field dependencies what the fields that are getting extracted.
As Infant mentioned with the new security operation issuance, basically onboarding that stuff, there could be a case where the security or the bond is callable, and you have other fields such as call date and call price, which now needs to have a value.
There is like this inter sort of field dependencies that operators sort of like need to take that into consideration, be able to configure that. Here's like what a sample extraction template looks like.
Here is how, again, this is an example template where we have issuer callable, call price, and call date is field setup. To sort of like add new fields, we would define the field name, define the data type that is expected out of that, define the source, whether it's extracted or derived.
Not every time you want to sort of like run an extraction for a field, there might be a derived field that operator expect, which is sort of like populated through some transformation downstream. Once, again, whether the field is required and the field dependencies.
Here is where you define what sort of dependencies this field have and sort of validations. This is how they set up the extraction. The next thing is the document management itself. This is where the documents are ingested from the data platform.
They are tagged according to the business category, and they are labeled, they're embedded, all of that stuff.
Okay, I think while Vaibhav kind of brings it up, I think what in essence what we're saying is we have kind of built this tool which has like a UI component and like a framework that actually lets you take these different pieces and these modular components and give it to the hands of like the domain expert to build out their app really quickly.
I think something happened. It just happened. Let me just sort of walk you guys through what happens next. Once you have set up the extraction templates and documents management, the operators basically run the extractions. That's where they basically see the values that they expect from these documents and sort of like review them.
The thing we have seen with these operators trying to use other tools, no, this is just sand. Yeah, I did. The thing we have seen with these operators is that most of the tools that they have used in past, these tools basically do extraction, they do a pretty good job at extraction, but when it comes to like, hey, I need to use this result that has been presented to me and pass it to the downstream processes, the processright now is very manual where they have to like download a CSV or a JSON file, run manual or add a transformation, and then push it to the downstream process.
What we have done, and again, I can't show you, but what we have done is like build this sort of like low code, no code framework where the operators can basically essentially run the sort of build this transformation and execution workflows and sort of like have this end-to-end pipeline running.
Takeaways12:55
I think, yeah. I think we'll conclude by saying that our key takeaways of this, I would say there are like three key takeaways. Invest heavily on your prompt engineering skills for your domain experts, especially in the financial space and world.
Defining and describing these documents is really hard. A second is like educating the firm and the company on what an LLM strategy means and how to actually fix these different pieces for your particular use case. I think the third one I would say is, hey, the key takeaway that we had is all of this is great in experimentation and prototyping mode, but if you kind of want to bring this, you have to really evaluate what your ROI is.
Is it going to be like more expensive actually spinning up an AI app versus just having like an off-the-shelf product that does it quicker and faster? Those are the three key takeaways in terms of like building apps at scale.
What we have realized was like, hey, this notion of like human in the loop. One more thing I'll add is human in the loop, super important. We all are like really tempted, like let's go all agentic with this, but in the financial space with compliance, with regulations, you kind of need those four eyes check and you kind of need the human in the loop.
Design for human in the loop first if you're in a highly regulated environment.
Yeah, and as Infant said, one thing we couldn't show is the whole app factory sort of like component, which is all the things that operators do through this iteration cycle of through the sandbox. They take all that knowledge, the extraction templates, the transformers and executors that build through this workflow pipeline, and through our app ecosystem within BlackRock, they sort of like build this custom applications that are then exposed to the users where users of this app don't have to worry about how to configure templates or how to basically figure out how to integrate the result values into final downstream processes.
They are presented with this whole end-to-end app where they can just go and like sort of like upload documents and run extraction and sort of get the whole pipeline set running.
Q&A14:51
Yeah. With that, we'll open up for questions. I think we have like a minute or two left.
Yeah.
I have a question which may directly be related to...
Good morning. I have a question which may directly be related to the architecture that you developed. You can tell me, I can discuss later, but the question is going to be, you have developed the key takeaways, one of those key takeaways had been in invest heavily on prompt engineering.
You have essentially automated the process from the leaf level. For example, a company is coming to an IPO from that level all the way to cataloging through ETL processes and then finally to the data analytics. Now your CEO who looks at the balance sheet, assets and liability will be using your AI the most.
For your CEO, now what are the features involved here at the lowest level? For example, term, maturity, duration. There are so many metrics at the leaf level. How are you transforming those features from the lowest level to highest level?
I'm looking for an answer in reference to decentralized data.
Yeah. I can give you a quick answer and then we can discuss in detail like offline. I think real quickly, like the framework that we built was specifically targeting like the investment operation domain experts who are trying to build applications.
To your question of like, hey, what does the CEO care about? Can I construct a memo that gives me my asset liabilities XYZ? Those would be like different initiatives which may or may not use our particular framework. But yes, there are many reusable components in here that people can use.
Yeah.
I'm kind of wondering for something similar for...
Yeah, I do like a lot of document processing for insurance company, pretty much same problems as you guys run into. I wonder, how do you build a wall around your information extraction from the documents? Because there are so many things that can go wrong, certain from OCR, like LLM doesn't understand what all these terms actually mean, no matter how you prompt it, all this stuff.
That's kind of what's bothering me.
Again, I mean, we had all of that that we wanted to show, but yeah.
I think a short answer to your question is in terms of like information security and what are the boundaries that we are putting in terms of like, hey, we are not having data leakage or errors or understanding of like in terms of security, you can think of it as different layers all the way from like your infra, platform, application, and the user levels.
There are different controls and policies in place, and it's also within your SDN network. I think there are policies across the stack that we can get into in detail later that kind of addresses your concerns.
And also to your point, I think we have like different sort of like strategies that we use based on the sort of like the use case at hand. It's not just like, hey, one RAG versus this. There are multiple model providers that we use, multiple different strategies, et cetera, different like engineering sort of tweaks.
It's a quite complex sort of process.
Allright.
Very cool.
Awesome.
Thank you.
Allright.





