Reading User Documents as Input to Copilot Prompts

Guillaume Gingras 5 Reputation points
2024-11-15T19:29:09.4533333+00:00

Hello everyone,

We are exploring the possibility of creating a custom chat and RAG solution using Azure OpenAI for our team, and we have a specific requirement that I hope someone can help clarify.

We would like to implement a system where each user can have their own personalized knowledge base. The idea is that users would be able to upload their documents directly in the chat, and the Azure OpenAI model would then utilize this individual knowledge base to provide tailored responses and assistance via a copilot interface.

However, we want to understand how user-uploaded documents can be used within a copilot system for querying these documents. The following are possible solutions we have found, but aren’t sure about their effectiveness in the task we are trying to accomplish:

  • How can the content of a user-uploaded document be accessed and used in a RAG system from a deployed Azure AI Studio chatbot?
  • Is there a functionality in Azure AI Search that enables a data storage and index that is user-based and where user-uploaded content can be sent?

I would appreciate your thoughts on these approaches. Any insights, resources, or experiences you could share would be greatly appreciated. Thank you for your assistance!

Azure AI Search
Azure AI Search
An Azure search service with built-in artificial intelligence capabilities that enrich information to help identify and explore relevant content at scale.
1,084 questions
Azure OpenAI Service
Azure OpenAI Service
An Azure service that provides access to OpenAI’s GPT-3 models with enterprise capabilities.
3,301 questions
Microsoft Copilot
Microsoft Copilot
Microsoft terminology for a universal copilot interface.
379 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Max Lacy 95 Reputation points
    2024-11-16T16:12:58.1166667+00:00

    I'll start with the first question question as I think the answer is more straightforward.

    • Is there a functionality in Azure AI Search that enables a data storage and index that is user-based and where user-uploaded content can be sent?

    Yes, you could design a document index in which one of the attributes is something like index_user_id. You could query your index and only return results with the current user's id. There are several storage options for Azure AI search. For this use case I would use Blob storage based on the file types and metadata you could pass to the search service. For this solution you'd need to build a document intake process, indexing process(AI search indexer), azure OpenAI integration, and WebApp for end user interface.

    • How can the content of a user-uploaded document be accessed and used in a RAG system from a deployed Azure AI Studio chatbot?
      The deployed AI Studio deploys a boilerplate application to a app service. There are env variables that allow you to connect to an azure search or similar service. If you connect to a data source within the studio you'll be asked for your search service and those env variables will be set on the app service when you select "Deploy to a web App". At that point you'd be able to use whatever your storage solution is to be the "User Uploaded document repository".

    Let me know if this helps!

    Max

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.