AI-Studio/app/MindWork AI Studio/Tools/RAG/IDataSourceSelectionProcess.cs
2025-02-17 16:51:26 +01:00

33 lines
1.2 KiB
C#

using AIStudio.Chat;
using AIStudio.Provider;
namespace AIStudio.Tools.RAG;
public interface IDataSourceSelectionProcess
{
/// <summary>
/// How is the RAG process called?
/// </summary>
public string TechnicalName { get; }
/// <summary>
/// How is the RAG process called in the UI?
/// </summary>
public string UIName { get; }
/// <summary>
/// How works the RAG process?
/// </summary>
public string Description { get; }
/// <summary>
/// Starts the data source selection process.
/// </summary>
/// <param name="provider">The LLM provider. Used as default for data selection agents.</param>
/// <param name="lastPrompt">The last prompt that was issued by the user.</param>
/// <param name="chatThread">The chat thread.</param>
/// <param name="dataSources">The allowed data sources yielded by the data source service.</param>
/// <param name="token">The cancellation token.</param>
/// <returns></returns>
public Task<DataSelectionResult> SelectDataSourcesAsync(IProvider provider, IContent lastPrompt, ChatThread chatThread, AllowedSelectedDataSources dataSources, CancellationToken token = default);
}