TL;DR Download JustAskIt here.
This is a joint blog post with my friend Mike Gowland, you can find his post here.
Summary:
JustAskIt is a solution powered by prompting. The goal of this solution is to help augment the work of Power Platform Consultants who may not always have insight into domain-specific knowledge of the customers they engage with on a day-to-day basis.
The responses JustAskIt can produce should provide a springboard for consultants to use as a basis for their engagement with customers. As we build out the capabilities and reusability of this solution, so too will the features and use cases expand.
Introduction:
Hey, how are you doing?
I have been in a rabbit hole, for quite a while now. It started back in October this year when I attended the South Coast Summit where there was a key note from Dona Sarka.
Dona spoke about AI and all things copilot. Have you heard of copilot ? Did you play copilot bingo at Ignite ? I hope it wasn't the drinking version of the game or you would have been HAMMERED.
Dona also talked about how AI is here to help and augment our lives. From what I heard, and in my opinion there is going to be a shift towards domain specialism for large language models (LLMs), you can see this happening with the Red Teaming appointments in Open AI. We are moving into a world of enablement, where technology blends into the background and experts from many non-tech fields need to get together to determine the validity of responses from LLMs.
LLMs can be "confidently wrong", as my friend and colleague Mike Gowland mentioned at our joint talk at the Bletchley Park AI Microsoft User Group on the 12th December.
Here we talked about LLMs, how generative AI works and then introduced a Model-Driven App that we have been working on. Mike will be posting on his blog abou other aspects of LLM and this blog post and his, should be read together.
His blog post is here
JustAskIt
JustAskIt came about after Mike and I realised we were in the same AI rabbit hole after the South Coast Summit and we started floating ideas to each other. As domain specialism is key, we wanted to start with topics that we knew to help augment our jobs as Power Platform Consultants.
Initially, I was asked by a Solution Architect to come up with a domain specific idea for a Dataverse lab. The lab would be a training session for people who were from a client, they wanted to use something specific - a use case, one that I don't have the domain knowledge for.
This led me to start looking at Open AI and the custom connector that is available in Power Automate. I was able to quite quickly get a POC going, and providing prompts to the LLM via this connector.
I started off with the fact that I wanted a Dataverse schema for this specific use case. I soon realised that prompt iteration is important. By the time I had finished, I felt like I had a pretty good prompt. I was chucking the result into a Teams channel, spamming my peers and not really liking the format of the output.
I said to Mike, I need to format this response in HTML so that it looks a bit nicer. He said, well just ask it, add a rule to the prompt asking for the response in HTML.
Game Changer !
Just Ask It was born!
Components of JustAskIt
Component wise, JustAskIt is quite simple, it is made up of a few Dataverse tables to allow you to create your prompt by giving it context, purpose and then allowing you to choose which Prompt you want to use In this case - the Dataverse Schema prompt.
Initially, I had created it to just respond with Dataverse tables, columns and relationships, but after speaking to Mike he was able to modify the Power Automate cloud flow so that an Entity Relationship diagram schema was created. We could then use this in conjunction with Mermaid Live, an online tool that uses ERD schema text to generate an image of the ERD.
Normally to create a Dataverse l, I would have to do the following:
Research the client domain
Create the ERD
Create the tables in a Dataverse solution
Points 1 and 2 could take a me a day to do, but with this Prompt, I could cut that down to maybe 5 minutes. Then it was just a matter of creating the Dataverse solution.
Once the prompt is created, a request is created, and through Power Automate, it picks up all of the rules (that we have created) and passes that whole fully formed request to the Open AI connector to get a response back from the LLM.
JustAskIt in action
Here is a screenshot showing you one of the requests and then the responses from the LLM:
As you can see it has provided the basics of the Dataverse tables, based on the request I sent it and using the Dataverse prompt I had created.
Scrolling down a bit further, we can aslo see this:
The ERD:
Prompting and Rules
When sending a prompt to a LLM, rules are important. As a baseline, all responses from a LLM should be:
Honest
Harmless
Helpful
Also known as the Triple H rules, they should form the basis for any response you get from a LLM. That is why in the JustAskIt solution we have a Dataverse table called Rules:
We have been having some very interesting discussions on this topic recently and want to improve this rule set by speaking to domain specific experts, notably around equality, diversity and inclusion, to ensure that the base request is augmented with a rule set that is common for all responses.
Other use cases
In reality, this can be used for anything, I was playing around with it at one point, and I created the PatDot prompt. The LLM pretends it is having a conversation between Pat Butcher and Dot Branning from Eastenders. Obviously this is just for fun, but you can see the power of this and start to realise what is possible.
Imagine, as a pre-sales consultant, you are on the phone to a client. The client is in a domain that you don't know, you have no real knowledge of. They ask - well Dataverse, what could we use that for. No worries, JustAskIt has got you, pop in your request, use the Dataverse prompt and get back instant results.
I have also been using it to create user stories based of a specific use case, complete with story point estimations.
The Holy Grail
Where I would like to get to this is a seemless interaction between requirement gathering, right through Spint 0 into delivery and I think it is possible and I can see this as the future of JustAskIt.
First of, we have a teams meeting, it's recorded and there is a transcript. We take that transcript, and use the LLM to analyse it. From the prompt, we create, we will be able to pull out the component parts like personas, benefits of the project, user journeys. We can then use a tool like Lucid who have recently added an API endpoint that can help you create collaborative work spaces and boards.
Transcript > LLM prompt > Response > Create Lucid board.
Thanks
Great teamwork leads to solutions that you don't really see in their entirety. Colleagues and friends help me to see things in different ways. Mike and I have worked on this together and we compliment each other in many ways. Thank you Mike, I really appreciate all your technical insight and the way you see things.
Resources
Mike and I have uploaded this solution to Git hub and you can download it on Github from here.
What are your thoughts on LLMs? Leave a comment.
Comentarios