10min
Read
Insights: Talking to your Enterprise Data with LLMs
by
Nuklai

Enterprises generate vast amounts of data due to the scale of their operations. This is especially true in key business areas such as product development and sales. The marketing, and intellectual property departments also hold vast amounts of data.

In most cases, businesses hire data scientists within each department to analyze this wealth of data. They may also bring in data analysts on an enterprise-wide basis.

Unfortunately, these efforts may not yield the desired results. First, not all data is visible or accessible to everyone within the organization.

For example, a marketing professional in a large organization wants to create a marketing strategy. They also plan to generate a content plan for the upcoming period. They may contact the sales and product teams and request data to do so.

This request usually ends up deep in colleagues' inboxes. It may also appear in the data department's backlog.

At this point, the marketing professional data request hits roadblocks. Costs build up as time goes on to waste over cross-departmental alignment between different teams.

Then, there are deeper cost risks since employees might not know what data is available within their organization. Which data should they send back to the marketing professional to use in their work?

Since they lack awareness and visibility of the data available, they could miss opportunities that spark new ideas. The innovator could also miss important insights that could transform the organization.

Second, let’s say the marketing department employees know all about product data. The barrier to innovation they may encounter is their inability to use the data without the help of a data professional.

Modern companies have limited bandwidth for each data professional they work with. As a result, an employee with a data idea might first need to submit a proposal. After that, they must get in line with their co-workers, who also have data needs and ideas.

Wouldn’t it be great if anyone within an enterprise could explore the data they have available to them? Or even better – what if they could work with their findings and create new insights themselves?

This article will explore how Nuklai helps enterprise employees capitalize on their internal data sources. We will also examine how our SmartData ecosystem helps businesses explore their data securely using large language models (LLMs).

Identifying and activating the right data from across the organization

To start,  Nuklai helps enterprises explore available data. We enable organizations to create a data catalog of all available data within a department. We can also ease the generation of data catalogs within the larger organization.

Nuklai can integrate with several different databases or systems. They include whole enterprise data warehouses or data lakes such as those from Snowflake and Databricks.

The beauty of our protocols is that your data stays at its source. You will not need to copy it over to our ecosystem. As a result, the data that an enterprise connects to Nuklai is always the most up-to-date data source.

That said, revealing available data is only the first step in this process. Next, Nuklai embarks on supporting businesses in extracting insights from their data. We first connect data sources and give employees access rights to certain data sources.

Then, you can extract insights and information from the data by adding deep contextualization. Contextualization ensures that a person working with the data can better understand it. It also describes data within the metadata in as much detail as possible.

For example, rather than label data as “sales,” describe a column with numerical data as “gross sales volume of products for the fiscal year 2022 in USD ($)

Additionally, you can add other information like the minimum, maximum, and average attributes. You can also include the mean and other values of the column in the metadata.

Describing and enriching data with metadata helps users understand it in more detail. Users could be data analysts or data scientists. They could also be large LLMs or artificial intelligence (AI) models that need a more detailed understanding of the data.

As you can see, one of the biggest hindrances to data use is not providing enough context about the data. Then, you barely know what the data holds.

Nuklai helps overcome this challenge by enhancing the metadata of all data within an organization. We also increase the performance of LLMs and other AI models using deeply descriptive metadata.

Leveraging Nuklai’s secure, enterprise-grade large language model

At Nuklai, we believe that all employees should have access to certain data within their organization. That data is a resource that is too valuable to leave unanalyzed.

That said, technical constraints hinder employees from exploring the data independently. These obstacles include the capacity of those who can analyze the data. That is why Nuklai enables employees without technical expertise or data analysis skills to make sense of data.

Data security and privacy are also important aspects of this process. Giving an LLM direct access to enterprise data might raise legitimate concerns about potential data leakage outside the organization!

To counter this challenge, Nuklai offers a secure environment for enterprise-grade LLMs. We allow enterprises to run open-source models within their secured environment.

This approach ensures that your and your customers’ data remains within your organization's security perimeter. It also allows you to customize and train these models on the organization's data.

Third, there is a performance side to this process. You may have to invest in the necessary GPU infrastructure to run and fine-tune these models. Compute hardware costs are prohibitive.

To this end, we provide an alternative solution. Our protocols run LLMs on our computational network. So you can leverage the computational power required for these tasks without committing to high upfront costs. You will also not have ongoing expenses related to renting this computing power.

Exploring enterprise data without the need for the data team

One of our smart data ecosystems' benefits is that we allow employees to explore internal data repositories with LLM support. These models act as an internal catalyst for innovation. They also are a driver for cost reduction, and they enhance operational efficiency.

For instance, in our earlier example, a marketing professional could ask the model to analyze sales data. The LLM will identify trends in customer preferences or seasonal demand patterns.

The use of a model eliminates the need for intermediaries. It also accelerates the decision-making process. Over and above that, it enables the marketing team to adjust their targeting strategies during certain seasons.

Other benefits of LLMs include the marketing team's easy product data analysis. They will quickly identify features used the most by customers. By doing so, they will have a deeper understanding of customer needs.

An in-depth grasp of customer motivations allows marketers to tailor their strategies to these needs.

The removal of data analysis barriers makes business decision-making processes more data-driven. It also ensures that insights are not siloed across the organization. Last, access allows more efficient cross-functional collaborations for continuous improvement and innovation.

Interested in learning about how to activate data across your enterprise?

Reach out to our team of experts. We will work with you to understand your company's business needs and data opportunities.

About Nuklai

Nuklai is a collaborative infrastructure provider for data ecosystems. It combines community-driven data analysis with the datasets of successful modern businesses.

Our ecosystem helps grassroots data enthusiasts and institutional partners to find new ways to use untapped data. We also enable the generation of new revenue streams.

Our vision is to unify the fragmented data landscape. We meet this mandate by providing a user-friendly, streamlined, and inclusive approach to sharing, requesting, and evaluating data. 

We also enable key insights, better processes, and new business opportunities. Nuklai is empowering next-generation Large Language Models and AI.

const ApiUrl = "https://api.nukl.ai/api/public/v1/datasets/:datasetId/queries";
const ApiKey = "[API_KEY]";
const DatasetId = "[DATASET_ID]";

const headers = {
  "Content-Type": "application/json",
  'authentication': ApiKey
}
ApiUrl = "https://api.nukl.ai/api/public/v1/datasets/:datasetId/queries"
ApiKey = "[API_KEY]"
DatasetId = "[DATASET_ID]"

headers = {
  "Content-Type": "application/json",
  "authentication": ApiKey
}
$ApiUrl = "https://api.nukl.ai/api/public/v1/datasets/:datasetId/queries";
$ApiKey = "[API_KEY]";
$DatasetId = "[DATASET_ID]";

$headers = [
  "Content-Type: application/json",
  "authentication: $ApiKey"
];
// @dataset represents your dataset rows as a table
const body = {
  sqlQuery: "select * from @dataset limit 5",
}
@dataset represents your dataset rows as a table
body = {
  "sqlQuery": "select * from @dataset limit 5"
}
// @dataset represents your dataset rows as a table
$body = [
  "sqlQuery" => "select * from @dataset limit 5"
];
const ApiUrl = "https://api.nukl.ai/api/public/v1/datasets/:datasetId/queries";
const ApiKey = "[API_KEY]";
const DatasetId = "[DATASET_ID]";

const headers = {
  "Content-Type": "application/json",
  'authentication': ApiKey
}

// @dataset represents your dataset rows as a table
const body = {
  sqlQuery: "select * from @dataset limit 5",
}

// make request
fetch(ApiUrl.replace(':datasetId', DatasetId), {
  method: "POST",
  headers: headers,
  body: JSON.stringify(body), // convert to json object
})
  .then((response) => response.json())
  .then((data) => {
    console.log(data);
  })
  .catch((error) => {
    console.error(error);
  });
import requests
import json

ApiUrl = "https://api.nukl.ai/api/public/v1/datasets/:datasetId/queries"
ApiKey = "[API_KEY]"
DatasetId = "[DATASET_ID]"

headers = {
  "Content-Type": "application/json",
  "authentication": ApiKey
}

# @dataset represents your dataset rows as a table
body = {
  "sqlQuery": "select * from @dataset limit 5"
}

# make request
url = ApiUrl.replace(':datasetId', DatasetId)
try:
  response = requests.post(url, headers=headers, data=json.dumps(body))
  data = response.json()
  print(data)
except requests.RequestException as error:
  print(f"Error: {error}")
$ApiUrl = "https://api.nukl.ai/api/public/v1/datasets/:datasetId/queries";
$ApiKey = "[API_KEY]";
$DatasetId = "[DATASET_ID]";

$headers = [
  "Content-Type: application/json",
  "authentication: $ApiKey"
];

// @dataset represents your dataset rows as a table
$body = [
  "sqlQuery" => "select * from @dataset limit 5"
];

// make request
$ch = curl_init(str_replace(':datasetId', $DatasetId, $ApiUrl));

curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($body)); // convert to json object
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

$result = curl_exec($ch);
curl_close($ch);

echo $result;
curl -X POST 'https://api.nukl.ai/api/public/v1/datasets/[DATASET_ID]/queries' \
  -H 'Content-Type: application/json' \
  -H 'authentication: [API_KEY]' \
  -d '{"sqlQuery":"select * from @dataset limit 5"}'
const ApiUrl = "https://api.nukl.ai/api/public/v1/datasets/:datasetId/queries/:jobId";
const ApiKey = "[API_KEY]";
const DatasetId = "[DATASET_ID]";
const JobId = "[JOB_ID]"; // retrieved from /queries request

const headers = {
  "Content-Type": "application/json",
  'authentication': ApiKey
}

// make request
fetch(ApiUrl.replace(':datasetId', DatasetId).replace(':jobId', JobId), {
  method: "GET",
  headers: headers
})
  .then((response) => response.json())
  .then((data) => {
    console.log(data);
  })
  .catch((error) => {
    console.error(error);
  });
import requests

ApiUrl = "https://api.nukl.ai/api/public/v1/datasets/:datasetId/queries/:jobId"
ApiKey = "[API_KEY]"
DatasetId = "[DATASET_ID]"
JobId = "[JOB_ID]"  # retrieved from /queries request

headers = {
  "Content-Type": "application/json",
  "authentication": ApiKey
}

# make request
url = ApiUrl.replace(':datasetId', DatasetId).replace(':jobId', JobId)
try:
  response = requests.get(url, headers=headers)
  data = response.json()
  print(data)
except requests.RequestException as error:
  print(f"Error: {error}")
$ApiUrl = "https://api.nukl.ai/api/public/v1/datasets/:datasetId/queries/:jobId";
$ApiKey = "[API_KEY]";
$DatasetId = "[DATASET_ID]";
$JobId = "[JOB_ID]"; // retrieved from /queries request

$headers = [
  "Content-Type: application/json",
  "authentication: $ApiKey"
];

// @dataset represents your dataset rows as a table
$body = [
  "sqlQuery" => "select * from @dataset limit 5"
];

// make request
$ch = curl_init(str_replace(array(':datasetId', ':jobId'), array($DatasetId, $JobId), $ApiUrl));

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

$result = curl_exec($ch);
curl_close($ch);

echo $result;
curl 'https://api.nukl.ai/api/public/v1/datasets/[DATASET_ID]/queries/[JOB_ID]' \
  -H 'Content-Type: application/json' \
  -H 'authentication: [API_KEY]'