의미 체계 커널 프롬프트 템플릿 사용
의미 체계 커널 프롬프트 템플릿 언어는 일반 텍스트를 사용하여 AI 함수를 정의하고 작성하는 간단한 방법입니다. 이를 사용하여 자연어 프롬프트를 만들고, 응답을 생성하고, 정보를 추출하고, 다른 프롬프트를 호출하거나, 텍스트로 표현할 수 있는 다른 작업을 수행할 수 있습니다. 프롬프트 템플릿은 강력한 재사용 가능한 프롬프트를 만들어 애플리케이션의 기능을 확장할 수 있기 때문에 유용합니다.
언어를 사용하면 중괄호 {{...}}를 사용하여 변수를 포함하고, 외부 함수를 호출하고, 함수에 매개 변수를 전달할 수 있습니다. 프롬프트에 식을 포함하기만 하면 됩니다. 의미 체계 커널은 템플릿을 구문 분석하고 그 뒤에 있는 논리를 실행합니다. 프롬프트 템플릿을 사용하면 복잡한 코드 없이도 AI를 앱에 쉽게 통합할 수 있습니다.
프롬프트 템플릿 만들기
프롬프트에서 변수를 사용하려면 구문을 사용합니다 {{$variableName}} . 공백은 무시되므로 원하는 경우 사용할 {{ $variableName }} 수도 있습니다. 다음은 변수 city를 사용하는 프롬프트 템플릿의 예입니다.
I'm traveling to {{$city}}. What is the best way to get around and explore the city?
함수를 호출하고 프롬프트에서 결과를 사용하려면 {{namespace.functionName}} 구문을 사용합니다. 예를 들어 함수 weather.getForecast가 있는 경우 다음을 작성할 수 있습니다.
The weather today is {{weather.getForecast}}
변수 또는 하드 코드된 값을 사용하여 함수에 매개 변수를 전달할 수도 있습니다. 예를 들어 도시 이름을 입력으로 사용하는 경우 weather.getForecast 다음 예제를 사용할 수 있습니다.
The weather today in {{$city}} is {{weather.getForecast $city}}.
The weather today in Barcelona is {{weather.getForecast "Barcelona"}}.
프롬프트 템플릿 실행
프롬프트를 실행하려면 먼저 KernelFunction를 사용하여 프롬프트에서 kernel.CreateFunctionFromPrompt 개체를 만들어야 합니다. 그런 다음 변수들을 포함하는 KernelArguments 개체를 만들고 InvokeAsync를 사용하여 함수를 호출할 수 있습니다. 커널 자체에 호출할 수 있거나 개체에서 InvokeAsync를 호출할 수 있습니다. 예제는 다음과 같습니다.
string city = "Rome";
var prompt = "I'm visiting {{$city}}. What are some activities I should do today?";
var activitiesFunction = kernel.CreateFunctionFromPrompt(prompt);
var arguments = new KernelArguments { ["city"] = city };
// InvokeAsync on the KernelFunction object
var result = await activitiesFunction.InvokeAsync(kernel, arguments);
Console.WriteLine(result);
// InvokeAsync on the kernel object
result = await kernel.InvokeAsync(activitiesFunction, arguments);
Console.WriteLine(result);
city = "Rome"
prompt = "I'm visiting {{$city}}. What are some activities I should do today?"
activities_function = kernel.create_function_from_prompt(prompt)
arguments = {"city": city}
# Invoke on the KernelFunction object
result = await activities_function.invoke_async(kernel, arguments)
print(result)
# Invoke on the kernel object
result = await kernel.invoke_async(activities_function, arguments)
print(result)
의미 체계 커널 프롬프트 템플릿 언어를 사용하면 자연어를 사용하여 앱에 AI 기반 기능을 쉽게 추가할 수 있습니다. 변수, 함수 호출 및 매개 변수를 지원하여 복잡한 코드 없이 재사용 가능하고 동적 템플릿을 만들 수 있습니다. 더 스마트하고 적응 가능한 애플리케이션을 빌드하는 간단하면서도 강력한 방법입니다.