ITokenizerService
Overview
[SmartTool.Tool]
[Description("[DocumentSearchTools.search_documents]")]
protected virtual async Task<string> search_documents(
[Description("[DocumentSearchTools.search_documents.question]")]
string question)
{
var query = await EmbedQuestionAsync(question);
var documents = await this.EmbeddingStorageService.QueryAsync(
_collectionName,
query?.Vectors[0], 100, this.MinSimilarity, _filter);
var count = 0;
var sb = new StringBuilder();
foreach (var document in documents)
{
sb.Append(
@$"
Name:'{document.Name}'
{document.Metadata.ToString()}
===
{document.GetChunks()[0]}
===
");
if (++count >= 100)
break;
}
return this.TokenizerService.TruncateContent(sb.ToString(), this.MaxContextTokens);
}Default Implementation
Last updated
