Highlights from JavaScript Developer Days

Sep 4, 2024

JavaScript Developer Days

Introduction

  • Special guest: Lars Brink, Microsoft MVP, GitHub star, NX champion, Angular hero of education
  • Community involvement in "This is Learning" and "This is Angular"
  • Discussion on OpenAI JavaScript sample

Speakers

  • Lars Brink: Involved in various tech communities, focusing on Angular.
  • Wasim: Senior Developer Advocate Engineer at Microsoft, JavaScript background
  • Natalia Bendito: Principal Product Manager at Microsoft, focuses on developer experience on Azure for JavaScript.

Presentation Overview

Retrieval Augment Generation (RAG)

  • Concept: Predictive model to determine next word in a sentence
  • Use Case: Generative AI, utilizes large language models
  • Technologies: Azure components and services, OpenAI

Architecture Overview

  • Components:
    • Azure Static Web Apps for front-end
    • Azure Container Apps for backend (indexer, search API)
    • Azure AI Search, OpenAI as main API
  • Libraries: LangChain.js for interaction with Azure OpenAI

Key Features and Techniques

  • Indexer: Processes documents, supports Markdown, text, PDFs
    • Uses sliding window algorithm for text splitting
  • Search: Utilizes REST API via Fastify, supports two techniques (read-retrieve-read, retrieve-then-read)
    • Offers chat and ask search experiences

Application Demonstration

  • Features:
    • Chat client with follow-up questions
    • Powered by RAG
  • Settings:
    • Overrides, retrieval modes, semantic ranking
    • Streaming vs. chunk response

Angular Updates

  • New Features in Angular:
    • Signals: Managing granular state
    • New template syntax (@if, @for)
    • Deferrable views
  • Implementation:
    • Signals in Angular components (e.g., streaming settings)

Deployment

  • Azure Developer CLI: Use to provision and deploy application
  • Resources:
    • Azure Static Web Apps, Container Registry
    • Azure OpenAI service

Conclusion

  • Open invitation for community contributions
  • Recognition of contributors like Johan to LangChain.js
  • Encouragement to use and contribute to the sample application