채팅 기록에서 텍스트 프롬프트 또는 텍스트 콘텐츠를 처리할 때 일반적인 요구 사항은 이 텍스트와 관련된 추가 관련 정보를 제공하는 것입니다. 이렇게 하면 AI 모델에 보다 정확한 응답을 제공하는 데 도움이 되는 관련 컨텍스트가 제공됩니다. 이 요구 사항을 충족하기 위해 의미 체계 커널은 웹 검색 엔진, 벡터 저장소 등과 같은 다양한 원본의 텍스트 입력을 사용할 수 있는 텍스트 검색 추상화를 제공하고 몇 가지 표준화된 형식으로 결과를 제공합니다.
참고 항목
이미지 콘텐츠 또는 오디오 콘텐츠 검색은 현재 지원되지 않습니다.
텍스트 검색 추상화
의미 체계 커널 텍스트 검색 추상화는 다음 세 가지 메서드를 제공합니다.
SearchGetSearchResultsGetTextSearchResults
Search
지정된 쿼리와 관련된 콘텐츠에 대한 검색을 수행하고 검색 결과를 나타내는 문자열 값을 반환합니다. Search 는 검색 결과를 사용하여 서식 프롬프트 템플릿을 보강하는 경우와 같이 가장 기본적인 사용 사례에서 semantic-kernel 사용할 수 있습니다. Search 항상 검색 결과당 단일 문자열 값만 반환하므로 인용이 필요한 경우에는 적합하지 않습니다.
GetSearchResults
지정된 쿼리와 관련된 콘텐츠에 대한 검색을 수행하고 구현에서 정의한 형식으로 검색 결과를 반환합니다. GetSearchResults 는 기본 검색 서비스에서 정의한 대로 전체 검색 결과를 반환합니다. 이렇게 하면 코드를 특정 검색 서비스 구현에 연결하는 데 드는 비용에서 가장 다양한 기능을 제공합니다.
GetTextSearchResults
지정된 쿼리와 관련된 콘텐츠에 대한 검색을 수행하고 검색 결과를 나타내는 정규화된 데이터 모델을 반환합니다. 정규화된 이 데이터 모델에는 문자열 값과 선택적으로 이름 및 링크가 포함됩니다. GetTextSearchResults 에서는 코드를 특정 검색 서비스 구현에서 격리할 수 있으므로 여러 다른 검색 서비스에서 동일한 프롬프트를 사용할 수 있습니다.
팁
이 페이지에 표시된 샘플을 실행하려면 GettingStartedWithTextSearch/Step1_Web_Search.cs 이동합니다.
아래 샘플 코드는 작동 중인 각 텍스트 검색 방법을 보여 줍니다.
using Microsoft.SemanticKernel.Data;
using Microsoft.SemanticKernel.Plugins.Web.Bing;
// Create an ITextSearch instance using Bing search
var textSearch = new BingTextSearch(apiKey: "<Your Bing API Key>");
var query = "What is the Semantic Kernel?";
// Search and return results
KernelSearchResults<string> searchResults = await textSearch.SearchAsync(query, new() { Top = 4 });
await foreach (string result in searchResults.Results)
{
Console.WriteLine(result);
}
// Search and return results as BingWebPage items
KernelSearchResults<object> webPages = await textSearch.GetSearchResultsAsync(query, new() { Top = 4 });
await foreach (BingWebPage webPage in webPages.Results)
{
Console.WriteLine($"Name: {webPage.Name}");
Console.WriteLine($"Snippet: {webPage.Snippet}");
Console.WriteLine($"Url: {webPage.Url}");
Console.WriteLine($"DisplayUrl: {webPage.DisplayUrl}");
Console.WriteLine($"DateLastCrawled: {webPage.DateLastCrawled}");
}
// Search and return results as TextSearchResult items
KernelSearchResults<TextSearchResult> textResults = await textSearch.GetTextSearchResultsAsync(query, new() { Top = 4 });
await foreach (TextSearchResult result in textResults.Results)
{
Console.WriteLine($"Name: {result.Name}");
Console.WriteLine($"Value: {result.Value}");
Console.WriteLine($"Link: {result.Link}");
}
서비스 예정
더 곧 출시될 예정입니다.
서비스 예정
더 곧 출시될 예정입니다.