Skip to content

Azure-Samples/miyagi

Repository files navigation

Project Miyagi - Envisioning sample for Copilot stack

“Start with the customer experience and work backwards for the technology” - Steve Jobs

"Change is the only constant" - Ancient wisdom

Project Miyagi showcases Microsoft's Copilot Stack in an envisioning workshop aimed at designing, developing, and deploying enterprise-grade intelligent apps. By exploring both generative and traditional ML use cases, Miyagi offers an experiential approach to developing AI-infused product experiences that enhance productivity and enable hyper-personalization. Additionally, the workshop introduces traditional software engineers to emerging design patterns in prompt engineering, such as chain-of-thought and retrieval-augmentation, as well as to techniques like vectorization for long-term memory, fine-tuning of OSS models, agent-like orchestration, and plugins or tools for augmenting and grounding LLMs.

Note
Work in Progress. Meanwhile, signup at intelligentapp.dev for updates and checkout our related repo that showcases Generative AI capabilities for cloud-native, event-driven microservices: Azure/reddog-solutions.

📺 For a preview, catch the recording on Cosmos DB Live TV

The project includes examples of usage for Semantic Kernel, Promptflow, LlamaIndex, LangChain, vector stores (Azure AI Search, CosmosDB Postgres pgvector, and generative image utilities such as DreamFusion and ControlNet. Additionally, it features fine-tuned foundation Models from AzureML such as Llama2 and Phi-2. Utilize this project to gain insights as you modernize and transform your applications with AI and fine-tune your private data to build your own Copilots.

This polyglot codebase relies on a multitude of microservices, implementing several use cases using our Copilot stack. It includes generative text and images for personalized financial coaching, summarization, and agent-like orchestration. Built on a cloud-native event-diven architecture (EDA) backbone, the design and codebase ensures enterprise-grade quality attributes such as availability, scalability, and maintainability.

Embark on a journey to transform your applications into cutting-edge, intelligent systems with the self-guided workshop and discover the art of the possible.

Partial Implementations

Due to the rapid pace of advancements in foundation models, we are incrementally implementing use cases for Miyagi in the experiments folder. So far, we have the following implemented:

  1. MVP with Personalize (Synthesis via Semantic Kernel) and Chat on Azure Container Apps.
    1. Detailed breakdown and implementations
    2. Quickstart with RaG
    3. Agents with Assistants API
    4. Agents with Autogen
  2. VSCode extension for GitHub Copilot Agent
  3. Miyagi ChatGPT Plugin
  4. Knowledge Graph memory using Langchain's entity cache
  5. Qdrant vector store for embeddings via Langchain
  6. MS Graph API intent invoked via Semantic Kernel's skills
  7. Miyagi prompt engineered chat interaction using LangChain's PromptTemplate
  8. Azure OpenAI GPT-3.5 basic flow
  9. GPT-3.5-turbo and Whisper-1 usage to transcribe audio and demonstrate few-shot example
  10. DeepSpeed Chat MiyagiGPT (BYO Weights w/ RLHF - Reinforcement Learning from Human Feedback) - coming soon

Frontend

Interaction with foundation models is more than chat. This sample shows a few use cases frontend

VSCode extension for GitHub Copilot Agent

Architecture

High-level logical architecture

azure

Semantic Kernel Orchestration for Miyagi usecase

sk-orchestration

In-context learning flow

round-trip

30k foot view

Typical AI Application

AI Application in Azure

Prompt Flow

prompt-flow

OSS Pre-trained Foundation Models

aml-miyagi-dolly aml-training

Initial ideation for EDA + SK flow

architecture

Generative image use case architecture with Dreambooth

This will be similar to reddog product image generation use case.

generative-image

Tech Stack

Copilot Stack

copilot stack

Services and capabilities

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

Disclaimer

This software is provided for demonstration purposes only. It is not intended to be relied upon for any purpose. The creators of this software make no representations or warranties of any kind, express or implied, about the completeness, accuracy, reliability, suitability or availability with respect to the software or the information, products, services, or related graphics contained in the software for any purpose. Any reliance you place on such information is therefore strictly at your own risk.

License

This software is provided for demonstration purposes only. It is not intended to be relied upon for any purpose. The software is provided “as is” and without any warranties, express or implied. The software is not intended to be used for any commercial purpose. The software is provided solely for demonstration purposes and should not be used for any other purpose. The software is provided without any warranty of any kind, either express or implied, including, but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. The software is provided “as is” and without any warranty of any kind. The user assumes all risk and responsibility for the use of the software.