Sapling Logo

AI Content Detection in C++

C++

C++ is an object-oriented programming language that provides a superset of features of C. It is a popular choice for large programming projects that require the performance characteristics of C but want code organized as classes. Cross-platform applications developed with the Qt framework typically are written in C++.

Sapling: AI Generated Content Detector

How do you distinguish or determine between text written by a human and text written by Large Language Model generative AIs? With Sapling, you can integrate AI Content Detection to an existing C++ application. You can also add grammar, spell checking, and other text AI functionality.

This page demonstrates a quick way to integrate AI writing and AI text checking functionality into a C++ application using Sapling's API. If you are not looking for a C++ guide, click here for guides for other programming languages.

Sapling does not currently maintain a C++-specific SDK, but you can access the Sapling AI Detection HTTP API using any programming language that supports HTTP POST requests. An example of an AI text detector is shown below.

Setup Steps

Distinguish human text from AI text using C++:

C++ Grammar Check Quickstart

C++ does not have a standard HTTP or socket library. HTTP POST requests in C++ require an HTTP library like libcurl.

#include <stdio.h>
#include <curl/curl.h>

int main(void) {
      char* jsonObj = "{\"key\":\"<API_KEY>\", \"text\":\"I am an artificial intelligence system designed to help people solve complex problems. My capabilities include natural language processing, machine learning, and predictive analytics.\"}";

      struct curl_slist *headers = NULL;
      curl_slist_append(headers, "Accept: application/json");
      curl_slist_append(headers, "Content-Type: application/json");
      curl_slist_append(headers, "charset: utf-8");

      curl_easy_setopt(curl, CURLOPT_URL, "https://api.sapling.ai/api/v1/aidetect");

      curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "PUT");
      curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
      curl_easy_setopt(curl, CURLOPT_POSTFIELDS, jsonObj);
      curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteMemoryCallback);
      curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *)&chunk);
      curl_easy_setopt(curl, CURLOPT_USERAGENT, "libcrp/0.1");

      res = curl_easy_perform(curl);
}

Returned result:

{
  "score":0.9989707556330055,
  "sentence_scores":[
    {
      "score":0.9764397893790885,
      "sentence": "I am an artificial intelligence system designed to help people solve complex problems."
    },
    {
      "score":0.9923806397189778,
      "sentence":"My capabilities include natural language processing, machine learning, and predictive analytics."
    }
  ],
  "text":"I am an artificial intelligence system designed to help people solve complex problems. My capabilities include natural language processing, machine learning, and predictive analytics."
}

Documentation

Addtional parameters and Sapling's full API documentation can be accessed here: https://sapling.ai/docs/api/detector