SaaSpect

Set Period

All Tabs

  • Dashboard
  • Usage CSV
  • Documentation
  • Profile
  • Feedback
  • Create New Project

    Please fill in the details of your new project.

    Dashboard

    Welcome back

    Cost - This Period

    Input Tokens - This Period

    Output Tokens - This Period

    Anomalys found - This Period

    Usage Statistics

    Graphs the number of calls in this period

    Quick Tutorial

    User Usage Data: Input a threshold on the right and press generate
      Storyboard: Input a user in the box and press generate to see all their inputs and outputs
        Users

        Getting Started

        **SaaSpec is currently compatible with only OpenAI models

        SaaSpec is a powerful API analytics and monitoring tool designed to help developers manage and optimize their usage of pay-as-you-go APIs. By integrating SaaSpec into your application, you can track key metrics, detect anomalies, and implement dynamic billing models based on actual usage. SaaSpec is currently able to be utilized with the OpenAI models only.

        Making an Account

        Watch the following video to learn how to use the dashboard:

        Quick Tutorial

        Parameters for Making a Request

        • Who: (String) UID - A unique identifier for the user making the request. This helps in tracking individual usage and behavior. This needs to either match with how they are identified in Stripe or you need a way to match this identifier back to the correct user when creating the invoice.
        • input: (String) - The query that was sent to the LLM model API.
        • output: (String) - The response returned from the LLM model API.
        • what_api: (String) - The LLM model that you used. It is extremely important that this is from the response of the LLM request and not hard coded, as models are updated constantly by OpenAI, Google, etc. Making a more dynamic approach is needed.
        • api_token: (String) - This can be found in your SaaSpec dashboard in the profile section.

        Additional Examples

        Generic Request Example

        
        import requests
        
        api_url = 'https://us-central1-saaspect-424004.cloudfunctions.net/api_call/call'
        # Define the payload with 5 variables
        payload = {
            "Who": "*insert UID here",
            "api_token": "your SaaSpec project API token here",
            "input": "question",
            "output": "response from model here",
            "what_api": "gpt-4..etc",
        }
        
        # Send the POST request to the API
        response = requests.post(api_url, json=payload)
        
                  

        **SaaSpec is currently compatible with only OpenAI models

        OpenAI API Requests Example

        
        import requests
        from openai import OpenAI
        
        # Define SaaSpec API endpoint
        api_url = 'https://us-central1-saaspect-424004.cloudfunctions.net/api_call/call'
        client = OpenAI(api_key="your-openai-api-key")
        
        question = "Rephrase this text..."
        completion = client.chat.completions.create(
          model="gpt-4",
          messages=[
            {"role": "system", "content": "You are a school teacher, skilled in explaining concepts and editing school work."},
            {"role": "user", "content": question}
          ]
        )
        
        # Define the payload with 5 variables
        payload = {
            "Who": "*insert UID here",
            "api_token": "your SaaSpec project API token here",
            "input": question,
            "output": completion.choices[0].message.content,
            "what_api": completion.model,
        }
        
        # Send the POST request to the API
        response = requests.post(api_url, json=payload)
        
        # Check the response
        if response.status_code == 200:
            print("Success:", response.json())
        else:
            print("Failed:", response.status_code, response.text)
        
                  

        Example SaaSpec to Stripe Invoice code

        
          import csv
          import stripe
          
          # Stripe secret key
          stripe.api_key = 'your_secret_key_here'
          
          def read_csv(file_path):
              users = []
              with open(file_path, mode='r', newline='') as file:
                  csv_reader = csv.DictReader(file)
                  for row in csv_reader:
                      users.append({
                          'user': row['USER'],
                          'token_cost': float(row['TOKEN COST'].replace('$', '').strip()),
                          'input_count': int(row['INPUT COUNT']),
                          'output_count': int(row['OUTPUT COUNT']),
                          'anomaly': row['ANOMALY']
                      })
              return users
          
          def create_invoice(user, token_cost):
              # Find or create a customer
              customers = stripe.Customer.list(email=user)
              if customers['data']:
                  customer_id = customers['data'][0]['id']
              else:
                  customer = stripe.Customer.create(email=user)
                  customer_id = customer.id
              
              # Create an invoice item
              stripe.InvoiceItem.create(
                  customer=customer_id,
                  amount=int(token_cost * 100),  # Stripe amount is in cents
                  currency='usd',
                  description=f'Token usage for {user}'
              )
          
              # Create and send the invoice
              invoice = stripe.Invoice.create(
                  customer=customer_id,
                  auto_advance=True  # Auto-finalize this draft after ~1 hour
              )
              invoice.send_invoice()
          
          # Read CSV and create invoices
          csv_file_path = '/mnt/data/users_data.csv'  # replace with your actual CSV file path
          users_data = read_csv(csv_file_path)
          for user_data in users_data:
              create_invoice(user_data['user'], user_data['token_cost'])
        
                  

        stoplookingatmycode@gmail.com

        Security - Coming Soon!

        Here you can change the password to your account.

        Payment & Subscription - Coming soon!

        If you would like to cancel your subscription please email saaspecapi@gmail.com

        Success! Your changes have been saved.