A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://python.langchain.com/docs/integrations/document_loaders/airbyte_zendesk_support/ below:

Airbyte Zendesk Support (Deprecated) | 🦜️🔗 LangChain

Airbyte Zendesk Support (Deprecated)

Note: This connector-specific loader is deprecated. Please use AirbyteLoader instead.

Airbyte is a data integration platform for ELT pipelines from APIs, databases & files to warehouses & lakes. It has the largest catalog of ELT connectors to data warehouses and databases.

This loader exposes the Zendesk Support connector as a document loader, allowing you to load various objects as documents.

Installation

First, you need to install the airbyte-source-zendesk-support python package.

%pip install --upgrade --quiet  airbyte-source-zendesk-support
Example

Check out the Airbyte documentation page for details about how to configure the reader. The JSON schema the config object should adhere to can be found on Github: https://github.com/airbytehq/airbyte/blob/master/airbyte-integrations/connectors/source-zendesk-support/source_zendesk_support/spec.json.

The general shape looks like this:

{
"subdomain": "<your zendesk subdomain>",
"start_date": "<date from which to start retrieving records from in ISO format, e.g. 2020-10-20T00:00:00Z>",
"credentials": {
"credentials": "api_token",
"email": "<your email>",
"api_token": "<your api token>"
}
}

By default all fields are stored as metadata in the documents and the text is set to an empty string. Construct the text of the document by transforming the documents returned by the reader.

from langchain_community.document_loaders.airbyte import AirbyteZendeskSupportLoader

config = {

}

loader = AirbyteZendeskSupportLoader(
config=config, stream_name="tickets"
)

Now you can load documents the usual way

As load returns a list, it will block until all documents are loaded. To have better control over this process, you can also use the lazy_load method which returns an iterator instead:

docs_iterator = loader.lazy_load()

Keep in mind that by default the page content is empty and the metadata object contains all the information from the record. To create documents in a different way, pass in a record_handler function when creating the loader:

from langchain_core.documents import Document


def handle_record(record, id):
return Document(page_content=record.data["title"], metadata=record.data)


loader = AirbyteZendeskSupportLoader(
config=config, record_handler=handle_record, stream_name="tickets"
)
docs = loader.load()
Incremental loads

Some streams allow incremental loading, this means the source keeps track of synced records and won't load them again. This is useful for sources that have a high volume of data and are updated frequently.

To take advantage of this, store the last_state property of the loader and pass it in when creating the loader again. This will ensure that only new records are loaded.

last_state = loader.last_state  

incremental_loader = AirbyteZendeskSupportLoader(
config=config, stream_name="tickets", state=last_state
)

new_docs = incremental_loader.load()

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4