I'm exploring options to build a virtual assistant type of product. Creating good dialog is mostly solved with GPT-3 or even DialoGPT.
My main question is how do I add larger amounts of relational data, for the AI to draw on.
e.g. I have a list of properties, with address, details like number of rooms, bedrooms etc. Each properties as a historic list of tenancies, as well as owners, each tenancies has a list of tenants and rent agreements. Each Owner & Tenant has personal details. And we can go all the way down to financial transactions, invoices against properties. etc.
In a prototype I got GPT-3 to write SQL code for me, which works reasonably well for Q&A. Not so much for a continuous conversation, that allow you to dig further into details.
I could also write out all details on a per record bases. e.g. "Property 15125 has address '20 W 34th St., New York, NY 10001' with 3 Bedrooms and 2 Bathrooms". I haven't tried it, but I'm relatively confident that if a dataset becomes sufficiently large (hundreds of records) the system would fail to make the correct connections.
An ideal conversation would look something like this:
Me: "Who is the owner of 20 W 34th St., New York, NY 10001?"
AI: "Peter Pan and Wendy Darling share the property."
Me: "Who is the most recent tenant?"
AI: "Dr. John Darling is the current tenant."
Me: "How much is the rent?"
AI: "Then rent is $1902 a week."
Me: "What's John's phone number?"
AI: "His mobile number is (311) 555-2368."