Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

.Net: Add API to create a PromptTemplateConfig from a Prompty template #6414

Conversation

markwallace-microsoft
Copy link
Member

@markwallace-microsoft markwallace-microsoft commented May 27, 2024

Motivation and Context

Adding this API allows developers to write code which creates an IPromptTemplate instance from a Prompty template so that it can be used with any IAIService implementation.

This change enables the following flow:

      Kernel kernel = Kernel.CreateBuilder()
          .AddOpenAIChatCompletion(
              modelId: TestConfiguration.OpenAI.ChatModelId,
              apiKey: TestConfiguration.OpenAI.ApiKey)
          .Build();

      string promptyTemplate = """
          ---
          name: Contoso_Prompt
          description: A sample prompt that responds with what Seattle is.
          authors:
            - ????
          model:
            api: chat
          ---
          What is Seattle?
          """;

      var promptConfig = PromptyKernelExtensions.ToPromptTemplateConfig(promptyTemplate);
      var promptTemplateFactory = new LiquidPromptTemplateFactory();
      var promptTemplate = promptTemplateFactory.Create(promptConfig);
      var prompt = await promptTemplate.RenderAsync(kernel);

      var chatService = kernel.GetRequiredService<IChatCompletionService>();
      var result = await chatService.GetChatMessageContentAsync(prompt);

Description

Contribution Checklist

@markwallace-microsoft markwallace-microsoft requested a review from a team as a code owner May 27, 2024 16:01
@markwallace-microsoft markwallace-microsoft added the .NET Issue or Pull requests regarding .NET code label May 27, 2024
@github-actions github-actions bot changed the title Add API to create a PromptTemplateConfig from a Prompty template .Net: Add API to create a PromptTemplateConfig from a Prompty template May 27, 2024
@markwallace-microsoft
Copy link
Member Author

FYI @LittleLittleCloud

@RogerBarreto
Copy link
Member

Add this Example in the README.md from Concepts

@markwallace-microsoft markwallace-microsoft added this pull request to the merge queue May 30, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks May 30, 2024
@markwallace-microsoft markwallace-microsoft added this pull request to the merge queue May 30, 2024
Merged via the queue into microsoft:main with commit d471425 May 30, 2024
15 checks passed
@markwallace-microsoft markwallace-microsoft deleted the users/markwallace/issue_6413 branch May 30, 2024 15:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation .NET Issue or Pull requests regarding .NET code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants