namespace AIStudio.Tools.ERIClient.DataModel; /// /// The retrieval request sent by AI Studio. /// /// /// Images and other media are base64 encoded. /// /// The latest user prompt that AI Studio received. /// The type of the latest user prompt, e.g., text, image, etc. /// The chat thread that the user is currently in. /// Optional. The ID of the retrieval process that the data source should use. /// When null, the data source chooses an appropriate retrieval process. Selecting a retrieval process is optional /// for AI Studio users. Most users do not specify a retrieval process. /// A dictionary of parameters that the data source should use for the retrieval process. /// Although each parameter will be sent as a string, the retrieval process specifies the expected type and range. /// The maximum number of matches that the data source should return. AI Studio uses /// any value below 1 to indicate that the data source should return as many matches as appropriate. public readonly record struct RetrievalRequest( string LatestUserPrompt, ContentType LatestUserPromptType, ChatThread Thread, string? RetrievalProcessId, Dictionary? Parameters, int MaxMatches);