Partilhar via


Como usar a Pesquisa de texto do Google (visualização)

Aviso

A funcionalidade de Pesquisa de Texto do Kernel Semântico está em pré-visualização, e melhorias que exigem alterações de quebra ainda podem ocorrer em circunstâncias limitadas antes do lançamento.

Descrição geral

A implementação da Pesquisa de texto do Google usa a Pesquisa personalizada do Google para recuperar os resultados da pesquisa. Você deve fornecer sua própria chave de api de pesquisa do Google e ID do mecanismo de pesquisa para usar esse componente.

Limitações

Área de funcionalidades Suporte
API de Pesquisa Apenas API de Pesquisa Personalizada do Google.
Cláusulas de filtro suportadas Apenas cláusulas de filtro "igual a" são suportadas.
Teclas de filtro suportadas Os seguintes parâmetros são suportados: "cr", "dateRestrict", "exactTerms", "excludeTerms", "filter", "gl", "hl", "linkSite", "lr", "orTerms", "rights", "siteSearch". Para obter mais informações, consulte parâmetros.

Gorjeta

Siga este link para obter mais informações sobre como a pesquisa é realizada

Introdução

O exemplo abaixo mostra como criar um GoogleTextSearch e usá-lo para executar uma pesquisa de texto.

using Google.Apis.Http;
using Microsoft.SemanticKernel.Data;
using Microsoft.SemanticKernel.Plugins.Web.Google;

// Create an ITextSearch instance using Google search
var textSearch = new GoogleTextSearch(
    initializer: new() { ApiKey = "<Your Google API Key>", HttpClientFactory = new CustomHttpClientFactory(this.Output) },
    searchEngineId: "<Your Google Search Engine Id>");

var query = "What is the Semantic Kernel?";

// Search and return results as string items
KernelSearchResults<string> stringResults = await textSearch.SearchAsync(query, new() { Top = 4, Skip = 0 });
Console.WriteLine("——— String Results ———\n");
await foreach (string result in stringResults.Results)
{
    Console.WriteLine(result);
}

// Search and return results as TextSearchResult items
KernelSearchResults<TextSearchResult> textResults = await textSearch.GetTextSearchResultsAsync(query, new() { Top = 4, Skip = 4 });
Console.WriteLine("\n——— Text Search Results ———\n");
await foreach (TextSearchResult result in textResults.Results)
{
    Console.WriteLine($"Name:  {result.Name}");
    Console.WriteLine($"Value: {result.Value}");
    Console.WriteLine($"Link:  {result.Link}");
}

// Search and return results as Google.Apis.CustomSearchAPI.v1.Data.Result items
KernelSearchResults<object> fullResults = await textSearch.GetSearchResultsAsync(query, new() { Top = 4, Skip = 8 });
Console.WriteLine("\n——— Google Web Page Results ———\n");
await foreach (Google.Apis.CustomSearchAPI.v1.Data.Result result in fullResults.Results)
{
    Console.WriteLine($"Title:       {result.Title}");
    Console.WriteLine($"Snippet:     {result.Snippet}");
    Console.WriteLine($"Link:        {result.Link}");
    Console.WriteLine($"DisplayLink: {result.DisplayLink}");
    Console.WriteLine($"Kind:        {result.Kind}");
}

Brevemente

Mais em breve.

Brevemente

Mais em breve.

Próximos passos

As seções a seguir da documentação mostram como:

  1. Crie um plugin e use-o para Retrieval Augmented Generation (RAG).
  2. Use a pesquisa de texto juntamente com a chamada de função.
  3. Saiba mais sobre como usar repositórios vetoriais para pesquisa de texto.