Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

grafana-openai-monitoring-with-streaming

Package Overview
Dependencies
Maintainers
0
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

grafana-openai-monitoring-with-streaming

This is a forked version of [grafana-openai-monitoring](https://www.npmjs.com/package/grafana-openai-monitoring). This library extends the chat_v2.monitor and supports requests with streaming response.

  • 3.2.1
  • latest
  • npm
  • Socket score

Version published
Maintainers
0
Created
Source

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

FAQs

Package last updated on 16 Sep 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc