Azure / azure-sdk

This is the Azure SDK parent repository and mostly contains documentation around guidelines and policies as well as the releases for the various languages supported by the Azure SDK.
http://azure.github.io/azure-sdk
MIT License
483 stars 296 forks source link

Board Review: Introducing Azure.OpenAI #5328

Closed jpalvarezl closed 1 year ago

jpalvarezl commented 1 year ago

Thank you for starting the process for approval of the client library for your Azure service. Thorough review of your client library ensures that your APIs are consistent with the guidelines and the consumers of your client library have a consistently good experience when using Azure.

The Architecture Board reviews Track 2 libraries only. If your library does not meet this requirement, please reach out to Architecture Board before creating the issue.

Please reference our review process guidelines to understand what is being asked for in the issue template.

Before submitting, ensure you adjust the title of the issue appropriately.

Note that the required material must be included before a meeting can be scheduled.

Contacts and Timeline

About the Service

About the client library

Python ApiView: https://apiview.dev/Assemblies/Review/131735ded1a144a6a15ee68831e25852 Java ApiView: https://apiview.dev/Assemblies/Review/cff7890772ed40e8a5785e5efda9d2e2 .NET ApiView: https://apiview.dev/Assemblies/Review/a4d96437df8848ada1339fbf0a0f29c8 JS/TS ApiView: https://apiview.dev/Assemblies/Review/a20cde963d8942a1940722acaad389eb

Step 1: Champion Scenarios

README link containing more details and code samples for the champion scenario.

Ultimately the library should be easy to use for common scenarios that developers want. Consider the following questions when thinking about champion scenarios:

  1. What is the app the developer is building that uses your client library? Applications leveraging embeddings and/or completions of OpenAI
  2. Who is the end-user of the application (the developer's customer)? Any current or new user of OpenAI Inference features.
  3. What features of the API need to be explained in the sample so that someone could use this API in real app? See above in question 1. the link to the public documentation of embeddings and completions.
  4. How does the authentication workflow look? By using either Azure.Core.AzureKeyCredential or Azure.Core.TokenCredential

See Champion Scenario section here.

Code is appreciated but optional. Pseudocode is fine.

Step 2: Quickstart Samples (Optional)

The GenerateChatbotResponses method gives an example of generating text responses to input prompts.

using System;
using System.Collections.Generic;
using Azure.OpenAI.Inference.Models;

namespace Azure.OpenAI.Inference.Tests.Samples
{
    public partial class Chatbot
    {
        public void GetChatbotResponses()
        {
            // Replace with your Azure subscription key
            string key = "YOUR_AZURE_KEY";
            string endpoint = "http://myaccount.openai.azure.com/";
            OpenAIClient client = new OpenAIClient(new Uri(endpoint), new AzureKeyCredential(key));

            #region Snippet:GenerateChatbotResponses
            List<string> examplePrompts = new(){
                "How are you today?",
                "What is Azure OpenAI?",
                "Why do children love dinosaurs?",
                "Generate a proof of Euler's identity",
                "Describe in single words only the good things that come into your mind about your mother.",
            };

            foreach (var prompt in examplePrompts)
            {
                Console.Write($"Input: {prompt}");
                var request = new CompletionsRequest();
                request.Prompt.Add(prompt);

                Completion completion = client.Completions("myModelDeployment", request);
                var response = completion.Choices[0].Text;
                Console.WriteLine($"Chatbot: {response}");
            }
            #endregion
        }
    }
}
ronniegeraghty commented 1 year ago

Scheduled for Jan 25th from 10:05AM - 12PM PST.

tg-msft commented 1 year ago

Recording (MS INTERNAL ONLY)