3.2.3 • Published 5 months ago

grafana-openai-monitoring-with-streaming v3.2.3

Weekly downloads
-
License
GPL-3.0-or-later
Repository
-
Last release
5 months ago

grafana-openai-monitoring-with-streaming

This is a forked version of grafana-openai-monitoring. This library extends the chat_v2.monitor and supports requests with streaming response.

It's build in typescript and provides types

This library currently tracks

  • openai.chat.completions.create
  • openai.images.generate
  • openai.images.edit
  • openai.images.createVariation

Installation

npm install grafana-openai-monitoring-with-streaming

Usage

import { monitor } from 'grafana-openai-monitoring-with-streaming/dist'
import OpenAI from 'openai'

const openai = new OpenAI({
    // ...
});

monitor(openai, {
    metrics_url: 'https://...',
    logs_url: 'https://...',
    metrics_username: 12345,
    logs_username: 12345,
    access_token: "...",

    // Log the user's prompt in grafana (default true)
    log_prompt: true,
    // Log the user's response in grafana (default true)
    log_response: true
    // Setting this to false logs "no data" as value 
});


// Example without streaming

const result = await openai.chat.completions.create({
    messages: [{ role: 'user', content: 'Say this is a test' }],
    model: 'gpt-3.5-turbo',
});

console.log(result)


// Example with streaming

const result = await openai.chat.completions.create({
    messages: [{ role: 'user', content: 'Say this is a test' }],
    model: 'gpt-3.5-turbo',
    stream: true
});


for await(const chunk of result){
    console.log(chunk.choices[0].delta.content)
}

Overwrite model pricing

monitor(openai, {
    metrics_url: 'https://...',
    logs_url: 'https://...',
    metrics_username: 12345,
    logs_username: 12345,
    access_token: "...",
    log_prompt: true,
    log_response: true,

    // Default {}
    overwrite_chat_model_price: {
        "gpt-4o": [10, 30], // Instead of 5/15 for In/Out per million

        // Include new models
        "new-gpt-model": [0.1, 0.1] // In case there is a new model and not added yet
    },

    // Default {}
    overwrite_image_model_price: {
        // Model
        "dall-e-3": {
            // Quality "hd" or "standard"
            "hd": {
                // Size
                "1024x1024": 0.04
            }
        }
    }

});

Build

To build the library locally run following command. This generates a /dist folder

npm run build
3.2.2

6 months ago

3.2.3

5 months ago

3.2.1

9 months ago

3.2.0

9 months ago

3.1.4

9 months ago

3.1.3

11 months ago

3.1.2

11 months ago

3.1.1

11 months ago

3.1.0

11 months ago

3.0.0

11 months ago

2.0.1

11 months ago

2.0.0

11 months ago

1.0.8

11 months ago

1.0.7

11 months ago

1.0.6

11 months ago

1.0.5

11 months ago

1.0.4

11 months ago

1.0.2

11 months ago

1.0.1

11 months ago

1.0.0

11 months ago