---
sidebar_position: 1
---

# Welcome to the Unstract SDK documentation

Large Language Models (LLMs) are a generation-defining technology that can be used to solve critical business process problems that currently require a human in the loop. While LLMs can be leveraged to speed up tasks across the enterprise, technology across the LLM ecosystem is fast developing, oft-changing and not to mention vast and unwieldy.

## A No-Code Approach
Unstract takes a no-code approach, hiding a lot of technology complexity for you, letting you take full advantage of new LLM technology, while it takes care of the heavy lifting.
* Unstract uses the state-of-the-art techniques like Retrieval Augmented Generation (RAG) with the ability for you to easily switch out one LLM, Embedding Model or Vector Database for another—as simple as changing values in a drop-down control.
* Using LLMWhisperer, our proprietary retriever which uses advanced techniques to translate PDF, Word documents and other custom unstructured sources into input that is optimized for LLMs to understand, we're able to produce industry-leading results for various LLM applications across the enterprise.

## No-Code Prompt Studio
Easily create new Tools that are able to handle new classes of unstructured documents with either our Python SDK or with the no-code Prompt Studio.

## Built for the Enterprise

Unstract also makes it easy to implement common enterprise use case patterns when it comes to dealing with unstructured data—powered by Large Language Models, such as:

* **Unstructured Data APIs:** When there's a need to integrate workflows that involve unstructured data into your existing applications, it is possible to invoke APIs you create and deploy on the Unstract platform to help automate these workflows. You can create no-code Workflows that help structure a variety of document types and deploy them as APIs, which get their own unique endpoint URLs. Make your products more powerful, eliminate slowdowns by automating workflows that previously needed a human to step in to review or to help structure unstructured documents, killing your UX and potentially introducing more errors into the process.
* **Unstructured data ETL worflows:** These are like normal ETL worflows, except that data sources are complex documents that until now required a human in the loop to help structure. This opens up the whole world of unstructured data to your existing data stack. Once the data is in your warehouse or database, you can use familiar tools to transform, govern or visualize the data. Unstract allows unstructured data to be treated like any other data from a structure source leveraging the power of LLMs.
* **Q&A on your own data:** While the previous 2 use cases mentioned are useful more in situations where automation is required, there are times when you need human interactivity over your internal data. For times like these, you can create no-code Workflows in Unstract and deploy them as Q&A Apps. Each one gets its own unique URL, which can then be used to ask questions over your own data, no matter where it lives.

## Welcome to the Unstract Python Tool SDK
While Unstract ships with a variety of tools to parse various document types and connect to various data sources and destinations, there might be times when you need to extend the platform's capabilities to support custom document types, data sources or destinations. 

The Unstract platform allows users to create and use their own custom tools in no-code Workflows. The Unstract SDK provides a convenient interface to the platform to create your own tools. These tools can be invoked as part of Workflows created in the platform.

The platform uses Large Language Models (LLMs) extensively to manage many of the comprehension and reasoning task involved in these worflows and applications. The platform and the SDK hides the complexities involved in these operations to both the end user and most tool creators to achieve complex transformations and processing of unstructured data.
