genaiops-promptflow-template  by microsoft

LLMOps template for building LLM-infused apps using Prompt Flow

created 1 year ago
332 stars

Top 83.7% on sourcepulse

GitHubView on GitHub
Project Summary

This template provides a comprehensive framework for managing the lifecycle of LLM-infused applications using Microsoft's Prompt Flow. It targets engineers, data scientists, and developers seeking to streamline prompt engineering, experimentation, evaluation, and deployment, offering a structured approach to LLMOps.

How It Works

The template centralizes code hosting for multiple Prompt Flow projects, enabling robust lifecycle management from local experimentation to production deployment. It supports variant and hyperparameter experimentation, A/B deployments, and detailed reporting for all runs. The system automatically detects and executes various flow types (Python class, function, YAML, DAG) and integrates with CI/CD pipelines (Azure DevOps, GitHub Actions, Jenkins).

Quick Start & Requirements

  • Install: pip install promptflow promptflow-tools promptflow-sdk jinja2 promptflow[azure] openai promptflow-sdk[builtins] python-dotenv
  • Prerequisites: Python environment, .env file for Azure OpenAI connection details (API key, base, type, version).
  • Setup: Requires cloning the repository and setting up environment variables.
  • Docs: Full documentation

Highlighted Details

  • Supports both Azure AI Studio and Azure Machine Learning.
  • Enables local and cloud-based execution and deployment to Kubernetes, Azure Web Apps, and AML/AI Studio managed compute.
  • Facilitates "bring-your-own-flows" (BYOF) and configuration-based development with minimal boilerplate code.
  • Includes comprehensive reporting for experiments and metrics, with examples for various use cases like Web Classification, NER, Chat with PDF, and Code Generation.

Maintenance & Community

This is a Microsoft-maintained project. Contributions are welcome, subject to a Contributor License Agreement (CLA). The project adheres to the Microsoft Open Source Code of Conduct.

Licensing & Compatibility

  • License: MIT License
  • Compatibility: Permissive MIT license allows for commercial use and integration with closed-source applications.

Limitations & Caveats

Currently, only Azure OpenAI is supported as a provider for connections. The template's CI/CD configurations in .azure-pipelines are specific to Azure DevOps and may require adaptation for other CI/CD systems beyond the provided GitHub Actions and Jenkins examples.

Health Check
Last commit

3 months ago

Responsiveness

Inactive

Pull Requests (30d)
3
Issues (30d)
0
Star History
14 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.