diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml new file mode 100644 index 0000000..d5073fc --- /dev/null +++ b/.github/workflows/gh-pages.yml @@ -0,0 +1,85 @@ +name: github pages + +on: + # Runs on pushes targeting the default branch + push: + branches: [main] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow one concurrent deployment +concurrency: + group: "pages" + cancel-in-progress: true + +# Default to bash +defaults: + run: + shell: bash + +jobs: + # Build job + build: + runs-on: ubuntu-latest + env: + HUGO_VERSION: 0.119.0 + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + submodules: recursive + + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: '18' + + - name: Cache dependencies + uses: actions/cache@v2 + with: + path: ~/.npm + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node- + + - name: Install Hugo CLI + run: | + wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \ + && sudo dpkg -i ${{ runner.temp }}/hugo.deb + + - name: Setup Pages + id: pages + uses: actions/configure-pages@v1 + + - name: Build with Hugo + run: | + npm install -D autoprefixer + npm install -D postcss-cli + npm install -D postcss + npm install + hugo --gc --minify --cleanDestinationDir --baseURL https://azure.github.io/aihub/ + working-directory: ./docs + + - name: Upload artifact + uses: actions/upload-pages-artifact@v1 + with: + path: ./docs/public + + # Deployment job + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v1 \ No newline at end of file diff --git a/.gitignore b/.gitignore index 8a30d25..d6f4b69 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,12 @@ ## ## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore +public/ +resources/ +node_modules/ +package-lock.json +.hugo_build.lock + # User-specific files *.rsuser *.suo diff --git a/docs/assets/icons/logo.svg b/docs/assets/icons/logo.svg new file mode 100644 index 0000000..ff5dfa5 --- /dev/null +++ b/docs/assets/icons/logo.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/assets/scss/_variables_project.scss b/docs/assets/scss/_variables_project.scss new file mode 100644 index 0000000..9072857 --- /dev/null +++ b/docs/assets/scss/_variables_project.scss @@ -0,0 +1,21 @@ +/* +Add styles or override variables from the theme here. +*/ + +$primary: #004589; +$secondary: #0080ff; + +$light: #89c4ff; +$dark: #001e3b; + +// UI element colors +$td-sidebar-bg-color: rgba($primary, 0.15); + +/* +AZURE COLOR PALETTE +#d8ebff (216,235,255) +#89c4ff (137,196,255) +#0080ff (0,128,255) +#004589 (0,69,137) +#001e3b (0,30,59) +*/ \ No newline at end of file diff --git a/docs/config.yaml b/docs/config.yaml new file mode 100644 index 0000000..9070e38 --- /dev/null +++ b/docs/config.yaml @@ -0,0 +1,15 @@ +# THIS IS A TEST CONFIG ONLY! +# FOR THE CONFIGURATION OF YOUR SITE USE hugo.yaml. +# +# As of Docsy 0.7.0, Hugo 0.110.0 or later must be used. +# +# The sole purpose of this config file is to detect Hugo-module builds that use +# an older version of Hugo. +# +# DO NOT add any config parameters to this file. You can safely delete this file +# if your project is using the required Hugo version. + +module: + hugoVersion: + extended: true + min: 0.110.0 diff --git a/docs/content/en/_index.md b/docs/content/en/_index.md new file mode 100644 index 0000000..93fa8fd --- /dev/null +++ b/docs/content/en/_index.md @@ -0,0 +1,38 @@ +--- +title: AI Hub +--- + +{{< blocks/cover title="AI Hub!" image_anchor="top" height="full" >}} + + Learn More + + + GitHub Repo + +

AI Hub with real scenarios examples.

+{{< blocks/link-down color="info" >}} +{{< /blocks/cover >}} + + +{{% blocks/lead color="primary" %}} + +This delivery guide will help you test AI capabilities thru real scenarios. + +{{% /blocks/lead %}} + + +{{% blocks/section color="dark" type="row" %}} + +{{% blocks/feature icon="fa-solid fa-file-lines" title="Read the Docs!" url="https://azure.github.io/aihub/" %}} +Read the delivery guide and learn how to deploy the solution. +{{% /blocks/feature %}} + +{{% blocks/feature icon="fa-solid fa-boxes-stacked" title="Deploy the Solution!" url="https://github.com/azure/aihub/" %}} +Use `terraform` to deploy the complete solution. +{{% /blocks/feature %}} + +{{% blocks/feature icon="fa-solid fa-code-pull-request" title="Contributions welcome!" url="https://github.com/azure/aihub" %}} +We do a [Pull Request](https://github.com/azure/aihub/pulls) contributions workflow on **GitHub**. New users are always welcome! +{{% /blocks/feature %}} + +{{% /blocks/section %}} diff --git a/docs/content/en/docs/Concepts/_index.md b/docs/content/en/docs/Concepts/_index.md new file mode 100644 index 0000000..5696cce --- /dev/null +++ b/docs/content/en/docs/Concepts/_index.md @@ -0,0 +1,6 @@ +--- +title: Concepts +weight: 4 +description: > + Understand the core components of the solution: Azure Open AI, Azure Cognitive Search, Context Safety and more. +--- diff --git a/docs/content/en/docs/Concepts/azure-cognitive-search.md b/docs/content/en/docs/Concepts/azure-cognitive-search.md new file mode 100644 index 0000000..c63448b --- /dev/null +++ b/docs/content/en/docs/Concepts/azure-cognitive-search.md @@ -0,0 +1,27 @@ +--- +title: Azure Cognitive Search +date: 2023-10-06 +description: > + Used to build a rich search experience over private, heterogeneous content in web, mobile, and enterprise applications. +categories: [Azure] +tags: [docs, cognitive-search] +weight: 2 +--- + +Azure Cognitive Search (formerly known as "Azure Search") is a cloud search service that gives developers infrastructure, APIs, and tools for building a rich search experience over private, heterogeneous content in web, mobile, and enterprise applications. + +Search is foundational to any app that surfaces text to users, where common scenarios include catalog or document search, online retail apps, or data exploration over proprietary content. When you create a search service, you'll work with the following capabilities: + +* A search engine for full text and vector search over a search index containing user-owned content +* Rich indexing, with lexical analysis and optional AI enrichment for content extraction and transformation +* Rich query syntax for vector queries, text search, fuzzy search, autocomplete, geo-search and more +* Programmability through REST APIs and client libraries in Azure SDKs +* Azure integration at the data layer, machine learning layer, and AI (Azure AI services) + +![Imagen arquitectura Azure Cognitive Search](https://learn.microsoft.com/en-us/azure/search/media/search-what-is-azure-search/azure-search-diagram.svg) + +**Activate GenAI with Azure** uses Azure Cognitive Search to serve an index of vectorized content, that will be used by our LLM (ChatGPT) to respond to user's query. + +Learn more at the official documentation: [What is Azure Cognitive Search?](https://learn.microsoft.com/en-us/azure/search/search-what-is-azure-search). + +Learning Path:[Implement knowledge mining with Azure Cognitive Search](https://learn.microsoft.com/en-us/training/paths/implement-knowledge-mining-azure-cognitive-search/) diff --git a/docs/content/en/docs/Concepts/azure-container-apps.md b/docs/content/en/docs/Concepts/azure-container-apps.md new file mode 100644 index 0000000..212f6a6 --- /dev/null +++ b/docs/content/en/docs/Concepts/azure-container-apps.md @@ -0,0 +1,21 @@ +--- +title: Azure Container Apps +date: 2023-10-06 +description: > + Host the application in Azure Container Apps. +categories: [Azure] +tags: [docs, container-apps, serverless] +weight: 4 +--- + +Azure Container Apps is a managed serverless container service that enables executing code in containers without the overhead of managing virtual machines, orchestrators, or adopting a highly opinionated application framework. + +Common uses of Azure Container Apps include: +* Deploying API endpoints +* Hosting background processing jobs +* Handling event-driven processing +* Running microservices + +**Activate GenAI with Azure** uses Azure Container Apps to deploy the chat user interface that will answer user queries based on the company's documents. + +Learn more about Azure Container Apps: [Azure Container Apps documentation?](https://learn.microsoft.com/en-us/azure/container-apps/) \ No newline at end of file diff --git a/docs/content/en/docs/Concepts/azure-functions.md b/docs/content/en/docs/Concepts/azure-functions.md new file mode 100644 index 0000000..97bea71 --- /dev/null +++ b/docs/content/en/docs/Concepts/azure-functions.md @@ -0,0 +1,17 @@ +--- +title: Azure Functions +date: 2023-10-06 +description: > + Serveles application used to bacth-process documents and create embeddings. +categories: [Azure] +tags: [docs, functions, serverless] +weight: 6 +--- + +Azure Functions is a serverless solution that allows you to write less code, maintain less infrastructure, and save on costs. Instead of worrying about deploying and maintaining servers, the cloud infrastructure provides all the up-to-date resources needed to keep your applications running. + +Functions provides a comprehensive set of event-driven triggers and bindings that connect your functions to other services without having to write extra code. You focus on the code that matters most to you, in the most productive language for you, and Azure Functions handles the rest. + +**Activate GenAI with Azure** uses Azure Function to create chunks of the documents text and create embeddings to be added to the Azure Cognitive Search index. + +Learn more about Azure Functions: [What is Azure Function?](https://learn.microsoft.com/en-us/azure/azure-functions/functions-overview?pivots=programming-language-csharp). For the best experience with the Functions documentation, choose your preferred development language from the list of native Functions languages at the top of the article. \ No newline at end of file diff --git a/docs/content/en/docs/Concepts/azure-openai.md b/docs/content/en/docs/Concepts/azure-openai.md new file mode 100644 index 0000000..eaf0716 --- /dev/null +++ b/docs/content/en/docs/Concepts/azure-openai.md @@ -0,0 +1,29 @@ +--- +title: Azure OpenAI +date: 2023-10-06 +description: > + The core of the Generative AI solution. +categories: [Azure] +tags: [docs, openai] +weight: 1 +--- + +Azure OpenAI Service provides REST API access to OpenAI's powerful language models including the GPT-4, GPT-35-Turbo, and Embeddings model series. In addition, the new GPT-4 and gpt-35-turbo model series have now reached general availability. These models can be easily adapted to your specific task including but not limited to content generation, summarization, semantic search, and natural language to code translation. Users can access the service through REST APIs, Python SDK, or our web-based interface in the Azure OpenAI Studio. + +Important concepts about Azure OpenAI: + +* [Azure OpenAI Studio](oai.azure.com) +* **Models available** + * GPT-35-Turbo series: typical "chatGPT" model, recommended for most of the Azure OpenAI projects. When we might need more capability, GPT4 can me considered (take into account it will imply more latency and cost) + * GPT-4 series: they are the most advanced language models, available once you fill in the [GPT4 Request Form](https://customervoice.microsoft.com/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbR7en2Ais5pxKtso_Pz4b1_xURjE4QlhVUERGQ1NXOTlNT0w1NldTWjJCMSQlQCN0PWcu) + * Embeddings series: embeddings make it easier to do machine learning on large inputs representing words by capturing the semantic similarities in a vector space. Therefore, you can use embeddings to determine if two text chunks are semantically related or similar, and provide a score to assess similarity. + + Take into account that not all models are available in all Azure Regions, for Regional availability check the documentation: [Model summary table and region availability](https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models#model-summary-table-and-region-availability) + +* **Deployment**: once you instantiate a specific model, it will be available as deployment. You can create and delete deployments of available models as you wish. This is managed through the AOAI Studio. +* **Quotas**: the quotas available in Azure are allocated per model and per region, within a subscription. [Learn more about quotas](https://learn.microsoft.com/en-us/azure/ai-services/openai/quotas-limits). In the documentation you can find best practices to manage your quota. + + +**Activate GenAI with Azure** uses Azure OpenAI Embeddings model to vectorize the content and ChatGPT model to conversate with that content. + +More information at the official documentation: [What is Azure OpenAI](https://learn.microsoft.com/en-us/azure/ai-services/openai/overview) diff --git a/docs/content/en/docs/Concepts/azure-storage.md b/docs/content/en/docs/Concepts/azure-storage.md new file mode 100644 index 0000000..3e2c6ee --- /dev/null +++ b/docs/content/en/docs/Concepts/azure-storage.md @@ -0,0 +1,24 @@ +--- +title: Azure Storage +date: 2023-10-06 +description: > + Store the documents in Azure Blob Storage.s +categories: [Azure] +tags: [docs, storage] +weight: 7 +--- + +Azure Blob Storage is Microsoft's object storage solution for the cloud. Blob Storage is optimized for storing massive amounts of unstructured data. Unstructured data is data that doesn't adhere to a particular data model or definition, such as text or binary data. + +Blob Storage is designed for: + +* Serving images or documents directly to a browser. +* Storing files for distributed access. +* Streaming video and audio. +* Writing to log files. +* Storing data for backup and restore, disaster recovery, and archiving. +* Storing data for analysis by an on-premises or Azure-hosted service. + +**Activate GenAI with Azure** uses Blob Storage to store the documents (PDFs) that will be then vectorized and indexed. + +Learn more about Azure Blob Storage: [What is Azure Blob Storage?](https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blobs-overview) \ No newline at end of file diff --git a/docs/content/en/docs/Concepts/semantic-kernel.md b/docs/content/en/docs/Concepts/semantic-kernel.md new file mode 100644 index 0000000..c3bdf77 --- /dev/null +++ b/docs/content/en/docs/Concepts/semantic-kernel.md @@ -0,0 +1,23 @@ +--- +title: Semantic Kernel +date: 2023-10-06 +description: > + An open-source SDK that lets you easily combine AI services like OpenAI, Azure OpenAI, and Hugging Face with conventional programming languages like C# and Python. +categories: [SDK] +tags: [docs, tools] +weight: 3 +--- + +Semantic Kernel is an open-source SDK that lets you easily combine AI services like OpenAI, Azure OpenAI, and Hugging Face with conventional programming languages like C# and Python. By doing so, you can create AI apps that combine the best of both worlds. + +Microsoft powers its Copilot system with a stack of AI models and plugins. At the center of this stack is an AI orchestration layer that allows us to combine AI models and plugins together to create brand new experiences for users. + +![Image of Copilots](https://learn.microsoft.com/en-us/semantic-kernel/media/copilot-stack.png) + +To help developers build their own Copilot experiences on top of AI plugins, we have released Semantic Kernel, a lightweight open-source SDK that allows you to orchestrate AI plugins. With Semantic Kernel, you can leverage the same AI orchestration patterns that power Microsoft 365 Copilot and Bing in your own apps, while still leveraging your existing development skills and investments. + +![Image of Semantic Kernel](https://learn.microsoft.com/en-us/semantic-kernel/media/mind-and-body-of-semantic-kernel.png) + +**Activate GenAI with Azure** uses Semantic Kernel to orchestrate the prompts, Azure OpenAI calls and Azure Cognitive Search queries and results. + +Learn more at the official documentation of [Semantic Kernel](https://learn.microsoft.com/en-us/semantic-kernel/overview/) \ No newline at end of file diff --git a/docs/content/en/docs/Contribution guidelines/_index.md b/docs/content/en/docs/Contribution guidelines/_index.md new file mode 100644 index 0000000..2db8089 --- /dev/null +++ b/docs/content/en/docs/Contribution guidelines/_index.md @@ -0,0 +1,20 @@ +--- +title: Contribution Guidelines +weight: 10 +description: How to contribute to the project +--- + +## 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.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., label, comment). Simply follow the +instructions provided by the bot. You will only need to do this once across all repositories using our CLA. + +This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). +For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) +or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. \ No newline at end of file diff --git a/docs/content/en/docs/Overview/_index.md b/docs/content/en/docs/Overview/_index.md new file mode 100644 index 0000000..64a99b6 --- /dev/null +++ b/docs/content/en/docs/Overview/_index.md @@ -0,0 +1,50 @@ +--- +title: Overview +description: AI Hub — A Hub to test AI capabilities thru real scenarios. +weight: 1 +--- + +## Description +**AI Hub** is a new delivery bla bla bla. + +## Pre-requisites +To use this solution, you will need the following: +- An Azure subscription +- A User, Service Principal or Managed Identity with the following permissions: + - Contributor role on the Azure subscription +- Azure CLI v2.53.0 or later +- Terraform v1.6.0 or later + +## Objectives +By the end of this delivery, you will be able to: +- Configure and deploy the **AI Hub** solution +- Use the chat interface to query documents and get relevant results +- Upload custom data files and perform vector search +- Extend the solution with plugins +- Manage the charge back functionality +- Secure and monitor the solution +- Scale and integrate the solution with other services + +## Delivery Guidance +This delivery consists of the following steps: + +### Day 1: +1. Scoping and planning. +1. Prepare the environment. +1. Adapt deployment scripts according to the customer's requirements. + +### Day 2: +1. Deploy the **AI Hub** solution: Create and configure the Azure resources. +1. Test and use the chat interface to query documents. +1. Upload custom data files and perform vector search. + +### Day 3: +1. Customize the solution's look and feel. +1. Extend the solution with prompt engineering and plugins. +1. Show how the solution scales and integrates with other services. +1. Show how the security and monitoring works. +1. Plan the next steps. + +## Closing +By the end of the **AI Hub** delivery, stakeholders will have a powerful and innovative solution that can help them improve their document retrieval efficiency, enhance their user experience, increase their productivity, share their knowledge, gain data insights and analytics, and comply with security standards.ss + diff --git a/docs/content/en/docs/Reference/_index.md b/docs/content/en/docs/Reference/_index.md new file mode 100644 index 0000000..53053b3 --- /dev/null +++ b/docs/content/en/docs/Reference/_index.md @@ -0,0 +1,26 @@ +--- +title: Resources & References +description: Check out other resources and references +weight: 9 +--- + +## Sample Repos: + +* [Chat Copilot Sample Application](https://github.com/microsoft/chat-copilot) +* [ChatGPT + Enterprise data with Azure OpenAI and Cognitive Search](https://github.com/Azure-Samples/azure-search-openai-demo) +* [Azure OpenAI Embeddings QnA](https://github.com/ruoccofabrizio/azure-open-ai-embeddings-qna) + +## Azure APIM & Azure OpenAI + +* [Load Balancing in Azure OpenAI Service](https://journeyofthegeek.com/2023/05/31/load-balancing-in-azure-openai-service/) +* [Granular Chargebacks in Azure OpenAI Service](https://journeyofthegeek.com/2023/05/18/granular-chargebacks-in-azure-openai-service/) +* [Enterprise Azure OpenAI](https://github.com/Azure-Samples/openai-python-enterprise-logging) + +## Azure Services + +* [Azure OpenAI](https://azure.microsoft.com/en-us/products/ai-services/openai-service) +* [Azure Cognitive Search](https://learn.microsoft.com/en-us/azure/search/search-what-is-azure-search) +* [Azure Container Apps](https://learn.microsoft.com/en-us/azure/container-apps/overview) +* [Azure API Management](https://learn.microsoft.com/en-us/azure/api-management/api-management-key-concepts) +* [Azure Application Insights](hhttps://learn.microsoft.com/en-us/azure/azure-monitor/app/app-insights-overview?tabs=net) +* [Azure Active Directory](https://learn.microsoft.com/en-us/azure/active-directory/fundamentals/whatis) \ No newline at end of file diff --git a/docs/content/en/docs/Supported Scenarios/_index.md b/docs/content/en/docs/Supported Scenarios/_index.md new file mode 100644 index 0000000..e9123d4 --- /dev/null +++ b/docs/content/en/docs/Supported Scenarios/_index.md @@ -0,0 +1,29 @@ +--- +title: Supported Scenarios +weight: 2 +description: Understand the supported Scenarios. +--- + +## Business Scenarios + +### Document Retrieval + +**AI Hub** is a new delivery that leverages bla bla bla. + +## Technical Scenarios + +### Azure OpenAI enhanced Monitoring + +Ensure models are being used responsibly within the corporate environment and within the approved use cases of the service. + +**References:** + +* [Enterprise Azure OpenAI](https://github.com/Azure-Samples/openai-python-enterprise-logging) + +**References:** + +[Load Balancing in Azure OpenAI Service](https://journeyofthegeek.com/2023/05/31/load-balancing-in-azure-openai-service/) + +**References:** + +[Azure OpenAI Embeddings QnA](https://github.com/ruoccofabrizio/azure-open-ai-embeddings-qna) \ No newline at end of file diff --git a/docs/content/en/docs/_index.md b/docs/content/en/docs/_index.md new file mode 100644 index 0000000..a9825f9 --- /dev/null +++ b/docs/content/en/docs/_index.md @@ -0,0 +1,13 @@ +--- +title: Activate GenAI with Azure +linkTitle: Documentation +menu: {main: {weight: 20}} +weight: 20 +--- + +{{% pageinfo %}} +**Activate GenAI with Azure!** — Talk with your Enterprise data with Azure OpenAI and Cognitive Search. +{{% /pageinfo %}} + +This delivery guide will help you build a ChatGPT-like experiences over your Enterprise data using the Retrieval Augmented Generation pattern. Under the hood the solution uses Azure OpenAI Service to access the ChatGPT model (gpt-35-turbo), and Azure Cognitive Search for data indexing and retrieval. + diff --git a/docs/content/en/search.md b/docs/content/en/search.md new file mode 100644 index 0000000..394feea --- /dev/null +++ b/docs/content/en/search.md @@ -0,0 +1,4 @@ +--- +title: Search Results +layout: search +--- diff --git a/docs/go.mod b/docs/go.mod new file mode 100644 index 0000000..ec0974f --- /dev/null +++ b/docs/go.mod @@ -0,0 +1,9 @@ +module github.com/google/docsy-example + +go 1.12 + +require ( + github.com/FortAwesome/Font-Awesome v0.0.0-20230327165841-0698449d50f2 // indirect + github.com/google/docsy v0.7.1 // indirect + github.com/twbs/bootstrap v5.2.3+incompatible // indirect +) diff --git a/docs/go.sum b/docs/go.sum new file mode 100644 index 0000000..e1d4ad4 --- /dev/null +++ b/docs/go.sum @@ -0,0 +1,22 @@ +github.com/FortAwesome/Font-Awesome v0.0.0-20220831210243-d3a7818c253f h1:bvkUptSRPZBr3Kxuk+bnWCEmQ5MtEJX5fjezyV0bC3g= +github.com/FortAwesome/Font-Awesome v0.0.0-20220831210243-d3a7818c253f/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo= +github.com/FortAwesome/Font-Awesome v0.0.0-20221115183454-96cafbd73ec4 h1:xfr9SidRCMEh4A8fdkLhFPcHAVbrdv3Ua0Jp/nSmhhQ= +github.com/FortAwesome/Font-Awesome v0.0.0-20221115183454-96cafbd73ec4/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo= +github.com/FortAwesome/Font-Awesome v0.0.0-20230327165841-0698449d50f2 h1:Uv1z5EqCfmiK4IHUwT0m3h/u/WCk+kpRfxvAZhpC7Gc= +github.com/FortAwesome/Font-Awesome v0.0.0-20230327165841-0698449d50f2/go.mod h1:IUgezN/MFpCDIlFezw3L8j83oeiIuYoj28Miwr/KUYo= +github.com/google/docsy v0.5.1 h1:D/ZdFKiE29xM/gwPwQzmkyXhcbQGkReRS6aGrF7lnYk= +github.com/google/docsy v0.5.1/go.mod h1:maoUAQU5H/d+FrZIB4xg1EVWAx7RyFMGSDJyWghm31E= +github.com/google/docsy v0.6.0 h1:43bVF18t2JihAamelQjjGzx1vO2ljCilVrBgetCA8oI= +github.com/google/docsy v0.6.0/go.mod h1:VKKLqD8PQ7AglJc98yBorATfW7GrNVsn0kGXVYF6G+M= +github.com/google/docsy v0.7.0 h1:JaeZ0/KufX/BJ3SyATb/fmZa1DFI7o5d9KU+i6+lLJY= +github.com/google/docsy v0.7.0/go.mod h1:5WhIFchr5BfH6agjcInhpLRz7U7map0bcmKSpcrg6BE= +github.com/google/docsy v0.7.1 h1:DUriA7Nr3lJjNi9Ulev1SfiG1sUYmvyDeU4nTp7uDxY= +github.com/google/docsy v0.7.1/go.mod h1:JCmE+c+izhE0Rvzv3y+AzHhz1KdwlA9Oj5YBMklJcfc= +github.com/google/docsy/dependencies v0.5.1/go.mod h1:EDGc2znMbGUw0RW5kWwy2oGgLt0iVXBmoq4UOqstuNE= +github.com/google/docsy/dependencies v0.6.0/go.mod h1:EDGc2znMbGUw0RW5kWwy2oGgLt0iVXBmoq4UOqstuNE= +github.com/google/docsy/dependencies v0.7.0/go.mod h1:gihhs5gmgeO+wuoay4FwOzob+jYJVyQbNaQOh788lD4= +github.com/google/docsy/dependencies v0.7.1/go.mod h1:gihhs5gmgeO+wuoay4FwOzob+jYJVyQbNaQOh788lD4= +github.com/twbs/bootstrap v4.6.2+incompatible h1:TDa+R51BTiy1wEHSYjmqDb8LxNl/zaEjAOpRE9Hwh/o= +github.com/twbs/bootstrap v4.6.2+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0= +github.com/twbs/bootstrap v5.2.3+incompatible h1:lOmsJx587qfF7/gE7Vv4FxEofegyJlEACeVV+Mt7cgc= +github.com/twbs/bootstrap v5.2.3+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0= diff --git a/docs/hugo.toml b/docs/hugo.toml new file mode 100644 index 0000000..b70ba07 --- /dev/null +++ b/docs/hugo.toml @@ -0,0 +1,188 @@ +baseURL = "/" +title = "AI Hub" + +# Language settings +contentDir = "content/en" +defaultContentLanguage = "en" +defaultContentLanguageInSubdir = false +# Useful when translating. +enableMissingTranslationPlaceholders = true + +enableRobotsTXT = true + +# Will give values to .Lastmod etc. +enableGitInfo = true + +# Comment out to enable taxonomies in Docsy +# disableKinds = ["taxonomy", "taxonomyTerm"] + +# You can add your own taxonomies +[taxonomies] +tag = "tags" +category = "categories" + +[params.taxonomy] +# set taxonomyCloud = [] to hide taxonomy clouds +taxonomyCloud = ["tags", "categories"] + +# If used, must have same length as taxonomyCloud +taxonomyCloudTitle = ["Tag Cloud", "Categories"] + +# set taxonomyPageHeader = [] to hide taxonomies on the page headers +taxonomyPageHeader = ["tags", "categories"] + +# Highlighting config +pygmentsCodeFences = true +pygmentsUseClasses = false +# Use the new Chroma Go highlighter in Hugo. +pygmentsUseClassic = false +#pygmentsOptions = "linenos=table" +# See https://help.farbox.com/pygments.html +pygmentsStyle = "tango" + +# Configure how URLs look like per section. +[permalinks] +blog = "/:section/:year/:month/:day/:slug/" + +# Image processing configuration. +[imaging] +resampleFilter = "CatmullRom" +quality = 75 +anchor = "smart" + +[services] +[services.googleAnalytics] +# Comment out the next line to disable GA tracking. Also disables the feature described in [params.ui.feedback]. +id = "UA-00000000-0" + +# Language configuration + +[languages] +[languages.en] +languageName ="English" +# Weight used for sorting. +weight = 1 +[languages.en.params] +title = "AI Hub" +description = "AI Hub" + +[markup] + [markup.goldmark] + [markup.goldmark.parser.attribute] + block = true + [markup.goldmark.renderer] + unsafe = true + [markup.highlight] + # See a complete list of available styles at https://xyproto.github.io/splash/docs/all.html + style = "tango" + # Uncomment if you want your chosen highlight style used for code blocks without a specified language + # guessSyntax = "true" + +# Everything below this are Site Params + +# Comment out if you don't want the "print entire section" link enabled. +[outputs] +section = ["HTML", "print", "RSS"] + +[params] +copyright = "Microsoft Corporation" +# privacy_policy = "https://github.com/azure/aihub/SECURITY.md" + +# First one is picked as the Twitter card image if not set on page. +# images = ["images/project-illustration.png"] + +# Menu title if your navbar has a versions selector to access old versions of your site. +# This menu appears only if you have at least one [params.versions] set. +version_menu = "Releases" + +# Flag used in the "version-banner" partial to decide whether to display a +# banner on every page indicating that this is an archived version of the docs. +# Set this flag to "true" if you want to display the banner. +archived_version = false + +# The version number for the version of the docs represented in this doc set. +# Used in the "version-banner" partial to display a version number for the +# current doc set. +version = "0.0" + +# A link to latest version of the docs. Used in the "version-banner" partial to +# point people to the main doc site. +url_latest_version = "https://azure.github.io/aihub" + +# Repository configuration (URLs for in-page links to opening issues and suggesting changes) +github_repo = "https://github.com/azure/aihub" +# An optional link to a related project repo. For example, the sibling repository where your product code lives. +github_project_repo = "https://github.com/azure/aihub" + +# Specify a value here if your content directory is not in your repo's root directory +github_subdir = "docs" + +# Uncomment this if your GitHub repo does not have "main" as the default branch, +# or specify a new value if you want to reference another branch in your GitHub links +github_branch= "main" + +# Google Custom Search Engine ID. Remove or comment out to disable search. +# gcs_engine_id = "d72aa9b2712488cc3" + +# Enable Algolia DocSearch +algolia_docsearch = false + +# Enable Lunr.js offline search +offlineSearch = true + +# Enable syntax highlighting and copy buttons on code blocks with Prism +prism_syntax_highlighting = false + +# User interface configuration +[params.ui] +# Set to true to disable breadcrumb navigation. +breadcrumb_disable = false +# Set to true to disable the About link in the site footer +footer_about_disable = false +# Set to false if you don't want to display a logo (/assets/icons/logo.svg) in the top navbar +navbar_logo = true +# Set to true if you don't want the top navbar to be translucent when over a `block/cover`, like on the homepage. +navbar_translucent_over_cover_disable = false +# Enable to show the side bar menu in its compact state. +sidebar_menu_compact = false +# Set to true to hide the sidebar search box (the top nav search box will still be displayed if search is enabled) +sidebar_search_disable = false + +# Adds a H2 section titled "Feedback" to the bottom of each doc. The responses are sent to Google Analytics as events. +# This feature depends on [services.googleAnalytics] and will be disabled if "services.googleAnalytics.id" is not set. +# If you want this feature, but occasionally need to remove the "Feedback" section from a single page, +# add "hide_feedback: true" to the page's front matter. +[params.ui.feedback] +enable = true +# The responses that the user sees after clicking "yes" (the page was helpful) or "no" (the page was not helpful). +yes = 'Glad to hear it! Please tell us how we can improve.' +no = 'Sorry to hear that. Please tell us how we can improve.' + +# Adds a reading time to the top of each doc. +# If you want this feature, but occasionally need to remove the Reading time from a single page, +# add "hide_readingtime: true" to the page's front matter +[params.ui.readingtime] +enable = false + +[params.links] +# Developer relevant links. These will show up on right side of footer and in the community page if you have one. +[[params.links.developer]] + name = "Microsoft - Activate GenAI with Azure" + url = "https://github.com/azure/aihub" + icon = "fab fa-microsoft" + desc = "" + +# hugo module configuration + +[module] + # uncomment line below for temporary local development of module + # replacements = "github.com/google/docsy -> ../../docsy" + [module.hugoVersion] + extended = true + min = "0.110.0" + [[module.imports]] + path = "github.com/google/docsy" + disable = false + [[module.imports]] + path = "github.com/google/docsy/dependencies" + disable = false diff --git a/docs/layouts/404.html b/docs/layouts/404.html new file mode 100644 index 0000000..1a9bd70 --- /dev/null +++ b/docs/layouts/404.html @@ -0,0 +1,7 @@ +{{ define "main" -}} +
+

Not found

+

Oops! This page doesn't exist. Try going back to the home page.

+

You can learn how to make a 404 page like this in Custom 404 Pages.

+
+{{- end }} diff --git a/docs/package.json b/docs/package.json new file mode 100644 index 0000000..8deed38 --- /dev/null +++ b/docs/package.json @@ -0,0 +1,38 @@ +{ + "name": "aihub", + "version": "0.7.1", + "description": "AI HUB documentation.", + "repository": "github:azure/aihub", + "homepage": "https://azure.github.io/aihub/", + "author": "Docsy Authors", + "license": "Apache-2.0", + "bugs": "https://github.com/azure/aihub/issues", + "spelling": "cSpell:ignore HTMLTEST precheck postbuild -", + "scripts": { + "_build": "npm run _hugo-dev", + "_check:links": "echo IMPLEMENTATION PENDING for check-links; echo", + "_hugo": "hugo --cleanDestinationDir", + "_hugo-dev": "npm run _hugo -- -e dev -DFE", + "_serve": "npm run _hugo-dev -- --minify serve", + "build:preview": "npm run _hugo-dev -- --minify --baseURL \"${DEPLOY_PRIME_URL:-/}\"", + "build:production": "npm run _hugo -- --minify", + "build": "npm run _build", + "check:links:all": "HTMLTEST_ARGS= npm run _check:links", + "check:links": "npm run _check:links", + "clean": "rm -Rf public/* resources", + "make:public": "git init -b main public", + "precheck:links:all": "npm run build", + "precheck:links": "npm run build", + "postbuild:preview": "npm run _check:links", + "postbuild:production": "npm run _check:links", + "serve": "npm run _serve", + "test": "npm run check:links", + "update:pkg:dep": "npm install --save-dev autoprefixer@latest postcss-cli@latest", + "update:pkg:hugo": "npm install --save-dev --save-exact hugo-extended@latest" + }, + "devDependencies": { + "autoprefixer": "^10.4.14", + "hugo-extended": "0.119.0", + "postcss-cli": "^10.1.0" + } +} \ No newline at end of file diff --git a/docs/static/favicons/android-chrome-192x192.png b/docs/static/favicons/android-chrome-192x192.png new file mode 100644 index 0000000..4d073b0 Binary files /dev/null and b/docs/static/favicons/android-chrome-192x192.png differ diff --git a/docs/static/favicons/android-chrome-512x512.png b/docs/static/favicons/android-chrome-512x512.png new file mode 100644 index 0000000..f1f3945 Binary files /dev/null and b/docs/static/favicons/android-chrome-512x512.png differ diff --git a/docs/static/favicons/android-chrome-maskable-192x192.png b/docs/static/favicons/android-chrome-maskable-192x192.png new file mode 100644 index 0000000..f905409 Binary files /dev/null and b/docs/static/favicons/android-chrome-maskable-192x192.png differ diff --git a/docs/static/favicons/android-chrome-maskable-512x512.png b/docs/static/favicons/android-chrome-maskable-512x512.png new file mode 100644 index 0000000..9db7f0c Binary files /dev/null and b/docs/static/favicons/android-chrome-maskable-512x512.png differ diff --git a/docs/static/favicons/apple-touch-icon.png b/docs/static/favicons/apple-touch-icon.png new file mode 100644 index 0000000..fa379d0 Binary files /dev/null and b/docs/static/favicons/apple-touch-icon.png differ diff --git a/docs/static/favicons/favicon-16x16.png b/docs/static/favicons/favicon-16x16.png new file mode 100644 index 0000000..afcf1b4 Binary files /dev/null and b/docs/static/favicons/favicon-16x16.png differ diff --git a/docs/static/favicons/favicon-32x32.png b/docs/static/favicons/favicon-32x32.png new file mode 100644 index 0000000..91ca673 Binary files /dev/null and b/docs/static/favicons/favicon-32x32.png differ diff --git a/docs/static/favicons/favicon.ico b/docs/static/favicons/favicon.ico new file mode 100644 index 0000000..09e51ef Binary files /dev/null and b/docs/static/favicons/favicon.ico differ diff --git a/docs/static/favicons/site.webmanifest b/docs/static/favicons/site.webmanifest new file mode 100644 index 0000000..45dc8a2 --- /dev/null +++ b/docs/static/favicons/site.webmanifest @@ -0,0 +1 @@ +{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} \ No newline at end of file diff --git a/docs/static/img/ActivateGenAI-HLD.png b/docs/static/img/ActivateGenAI-HLD.png new file mode 100644 index 0000000..c73ab11 Binary files /dev/null and b/docs/static/img/ActivateGenAI-HLD.png differ