# August 8: Support for LLM-based document extraction, .NET SDK, bug fixes

### New Features

* :bulb: Graphlit now supports LLM-based document preparation, using vision-capable models such as OpenAI GPT-4o and Anthropic Sonnet 3.5.  This is available via the `MODEL_DOCUMENT` preparation service type, and you can assign a custom`specification` object and bring your own LLM keys.
* :bulb: Graphlit now provides an open source .NET SDK, supporting .NET 6 and .NET 8 (and above).  SDK package can be found on [Nuget.org](https://www.nuget.org/packages/Graphlit).  Code samples can be found on [GitHub](https://github.com/graphlit/graphlit-samples/tree/main/dotnet).
* Added `identifier` property to `Content` object for mapping content to external database identifiers.  This is supported for content filtering as well.
* Added support for Claude 3 vision models for image-based entity extraction, using the `MODEL_IMAGE` entity extraction service.
* Added context augmentation to conversations, via the `augmentedFilter` property on the `Conversation` object.  Any content which matches this augmented filter will be injected into the LLM prompt content, without needing to be related by vector similarity to the user prompt.  This is useful for specifying domain knowledge which should always be referenced by the RAG pipeline.
* Added support for the latest snapshot of OpenAI GPT-4o, with the model enum `GPT4O_128K_20240806.`&#x20;
* Added reranking of related entities, when preparing the LLM prompt context for GraphRAG.  If reranking is enabled, the metadata from the related entities will be reranked with the same reranker assigned to the conversation specification.
* :zap: We have changed the type of the `duration` field in the `AudioMetadata` and `VideoMetadata` types to be `TimeSpan` rather than `string`, as to be more consistent with the rest of the API data model.

### Bugs Fixed

* GPLA-2884: Support retry on HTTP 529 (Overloaded) error from Anthropic API.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://changelog.graphlit.dev/august-2024/august-8-support-for-llm-based-document-extraction-.net-sdk-bug-fixes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
