Git Product home page Git Product logo

franbonafina / llm-pricing-analytic Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 13 KB

This repository offers a fine-tuned large language model (LLM) specifically designed to analyze and extract valuable insights from software product pricing data. The model identifies patterns and relationships within the data to uncover pricing trends and inform decision-making.

Dockerfile 69.04% Python 30.96%
fine-tuning llm machine-learning

llm-pricing-analytic's Introduction

# System Outline for Automating Cloud-Based Solution Suggestions using Three LLMs

This document outlines a system utilizing three cooperating Large Language Models (LLMs) to automate the process of suggesting cloud-based solutions for software requirements.

## 1. LLM for Classification and Labeling (LLM-C)

### Function
LLM-C takes unstructured text sources like books, GitHub repositories, and articles related to software development and cloud technologies as input. It classifies and labels specific sections within the text, identifying:
- **Software Functionalities (Requirements):** Sections describing the functionalities of software (what the software needs to do).
- **Cloud Implementations:** Sections showcasing how to build those functionalities using cloud services from AWS, Azure, or GCP.

### Benefits
- Automates the labeling process, reducing manual effort in creating training data for LLM-1.
- Enables processing of large volumes of text data compared to manual annotation.
- Continuously improves its accuracy as it analyzes more data.

### Challenges
- Relies on high-quality training data to ensure accurate classification and labeling.
- Can struggle with ambiguity in text descriptions of functionalities and implementations.
- Requires domain knowledge specific to software development and cloud technologies.

### Implementation
- LLM-C can be trained using a supervised learning approach with labeled data. Tools like Prodigy or spaCy can assist with labeling tasks.
- Sequence labeling techniques can be employed, where LLM-C predicts a label (requirement vs. implementation) for each token in the text sequence.

## 2. LLM for Suggesting Cloud Alternatives (LLM-1)

### Function
LLM-1 takes a software requirement description as input. It leverages its knowledge of cloud implementations learned from labeled data to suggest alternative ways to build that functionality using cloud services from AWS, Azure, and GCP. LLM-1 provides a brief explanation of the key components and services involved in each suggested cloud solution.

### Benefits
- Increases developer productivity by providing alternative cloud-based approaches.
- Allows exploration of different cloud service options based on specific requirements.

### Challenges
- Relies on the quality and comprehensiveness of the training data for LLM-C.
- Complex software requirements might pose challenges for accurate suggestions.
- Requires ongoing maintenance and refinement as cloud services and functionalities evolve.

### Implementation
- LLM-1 can be a fine-tuned version of a pre-trained model like T5 or Codex, specializing in code understanding and generation.
- Training involves feeding LLM-1 pairs of software requirement descriptions and their corresponding cloud implementations (extracted from LLM-C labeled data).

## 3. LLM for Cost Estimation (LLM-2)

### Function
LLM-2 takes the suggested cloud solutions from LLM-1 as input. It analyzes the key components and services mentioned in each solution and estimates the associated costs. LLM-2 provides a breakdown of the estimated costs for each suggested cloud solution, considering factors like resource usage and pricing models of different cloud providers.

### Benefits
- Enables early cost estimations during the software design phase.
- Helps developers make informed decisions when choosing cloud services for their projects.

### Challenges
- Requires access to real-time or historical pricing data from AWS, Azure, and GCP.
- Cloud pricing can change frequently, necessitating regular updates to LLM-2's cost estimation model.
- Accuracy of cost estimations depends on the detailed information extracted by LLM-C.

### Implementation
- LLM-2 can be a separate model trained on cost estimation data, potentially combining techniques like:
  - Training on historical pricing information from cloud providers.
  - Utilizing cost calculators and APIs offered by each cloud provider during estimation.
- LLM-2 interacts with LLM-1's output to extract relevant information about the cloud services used in each suggested solution.

## Overall System Workflow

1. **Data Collection:** Gather text sources relevant to software development and cloud technologies.
2. **LLM-C Training:** Train LLM-C to classify and label sections within the text data, identifying functionalities and implementations.
3. **LLM-1 Training:** Fine-tune LLM-1 on labeled data pairs of software requirements and their corresponding cloud implementations extracted by LLM-C.
4. **LLM-2 Training:** Train LLM-2 on cost estimation data and integrate it with APIs or cost calculators from cloud providers.
5. **User Input:** A user provides a description of a software requirement.
6. **LLM-1 Processing:** LLM-1 analyzes the requirement and suggests alternative cloud-based solutions using AWS, Azure, and GCP services.
7. **LLM-2 Processing:** LLM-2 estimates the costs of the suggested cloud solutions.

llm-pricing-analytic's People

Contributors

franbonafina avatar

Stargazers

Devin Halladay avatar

Watchers

 avatar Kostas Georgiou avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.