Tikfollowers

Llm embedding. html>yc

In this paper, we introduce a novel and simple method for obtaining high-quality text embeddings using only synthetic data and less than 1k training steps. Beyond the general use of these behemoths for text generation or summarization lies a less-talked-about concept: LLM Embeddings. Enabling dynamic LLM temperature allows the setting of the LLM temperature to override the workspace default. […] Nov 8, 2023 · Despite Multi-modal Large Language Models (MM-LLMs) have made exciting strides recently, they are still struggling to efficiently model the interactions among multi-modal inputs and the generation in non-textual modalities. Conduct online evaluations of your app. Sep 17, 2023 · ##### # Calculate cosine similarity between the query vector and all other embedding vectors ##### import numpy as np from numpy. When text is passed through a tokenizer, it encodes the input based on a specific scheme and emits specialized vectors that can be understood by the LLM. ChromaDB offers you both a user-friendly API and impressive performance, making it a great choice for many embedding applications. The embeddings themselves can be generated from each companies’ unstructured text data passed through an LLM. Feb 12, 2024 · To embed text, whether from a file or from an LLM generated summary, a embedding model like “text-embedding-3-small” can be used: def TexttoEmbedding(text): 💡 Pipelines powered by language models that run LLM prompts, question-answering, labeling, transcription, translation, summarization and more ↪️️ Workflows to join pipelines together and aggregate business logic. The Linear layer has as many in-features as it has v. The technique uses open-source LLMs instead of BERT-like encoders to reduce the steps for retraining. The key thing about that array is that it will always be the same length, no matter how long the content is. Embeddings make it easier to do machine learning on large inputs like sparse vectors representing words. 📄️ Baichuan Text Embeddings Adding AI services to Semantic Kernel. . embed("my happy hound") The engineering capabilities required for LLM development highlight the collaborative efforts needed between researchers and engineers. Search-Adaptor modifies the embeddings generated by pre-trained LLMs, and can be integrated with any LLM, including those only available via prediction APIs. Additionally, Semantic Kernel integrates with other Microsoft services to provide additional Sep 13, 2023 · MTEB is a comprehensive benchmark for text embedding models. input: string or array - Input text to embed, encoded as a string or array of tokens. May 17, 2024 · Explore the intricacies of LLM embeddings with our comprehensive guide. A straightforward unsupervised method called LLM2Vec can be used to convert any decoder-only LLM into an embedding model. 5/GPT-4, as it allows for semantic understanding and representation of text in a numerical format. Use PyPDF to convert those bytes into string text. You (or whoever you want to share the embeddings with) can quickly load them. So you may think that I’m gonna write part 2 of Feb 16, 2024 · This paper systematically investigates this issue by comparing classical word embedding techniques against LLM-based word embeddings in terms of their latent vector semantics. The 📝 paper gives background on the tasks and datasets in MTEB and analyzes leaderboard Chroma - the open-source embedding database. #. Recommended You can limit both the number of chats an embedding can process and per-session. Implementing LLM observability and monitoring is vital in tracking embedding drift. I do know how llama. Semantic Kernel provides a wide range of integrations to help you build powerful AI agents. We will use PostgreSQL and pgvector as a vector database for OpenAI embeddings of data. Jul 4, 2024 · With the rise of LLMs, embedding drift can potentially influence the model’s ability to generate accurate and reliable outputs, resulting in garbage responses or hallucinations. In this work, we propose TEAL (Tokenize and Embed ALl)}, an approach to treat the input from any modality as a token sequence and learn a joint embedding space for all Jan 12, 2024 · Geospatial Location Embedding (GLE) helps a Large Language Model (LLM) assimilate and analyze spatial data. flash-attn is the package for FlashAttention. Create a new vector index. These embedding models have been trained to represent text this way, and help enable many applications, including search! Aug 5, 2023 · FlagEmbedding focuses on retrieval-augmented LLMs, consisting of the following projects currently: Long-Context LLM: Activation Beacon, LongLLM QLoRA. It also uses proprietary LLMs to automatically generate labeled training data. Embedding Model: Visualized-BGE, BGE-M3, LLM Embedder, BGE Embedding. As we explore the technical aspects of LLM training and inference in this review, it becomes evident that a deep understanding of these processes is essential for researchers venturing into the field. Embeddings are used to represent text in a way that BCEmbedding 是由网易有道开发的中英双语和跨语种语义表征算法模型库,其中包含 EmbeddingModel 和 RerankerModel 两类基础模型。. Even after fine-tuning an LLM to produce good embeddings for a certain task, it is not guaranteed that one gets similarly good Feb 8, 2024 · Tokens are the basic units of data processed by LLMs. Recently, large language models (LLMs), such as GPT-3 [BMR+20] and LLaMA [TLI+23], have demonstrated significant potential on various natural language processing tasks such as translation, May 4, 2024 · What is LLM Embedding In the vibrant field of natural language processing (NLP), embeddings play a pivotal role. It is important to note that the embedding vectors are typically of values-per Apr 21, 2023 · We do a deep dive into one of the most important pieces of LLMs (large language models, like GPT-4, Alpaca, Llama etc): EMBEDDINGS! :) In every langchain or May 27, 2024 · Decoder-only large language model (LLM)-based embedding models are beginning to outperform BERT or T5-based embedding models in general-purpose text embedding tasks, including dense vector-based retrieval. Numerical Output: The text string is Feb 16, 2024 · Word-Pair Similarity Analysis: Given two distinct word embedding techniques (classical or LLM-based), we compare and analyze their cosine similarity distributions of pairs of 1) Semantically Related, 2) Morphologically Related, and 3) Unrelated words, where the distributions are derived from their word embedding vectors. 本节对 Embedding(嵌入)概念进行介绍,同时会提到向量数据库相关知识,有助于后面的项目实现。 Dec 30, 2023 · Abstract. Apr 4, 2023 · Instead of accessing LLM predictions, we find the flexibility to work with the features produced by the LLM preferable. cpp. , science, finance, etc. core import VectorStoreIndex index = VectorStoreIndex(nodes) With your text indexed, it is now technically ready for querying! However, embedding all your text can be time-consuming and, if you are using a hosted LLM, it can also be expensive. 📄️ AwaDB. With fixing the embedding model, our bce-reranker-base_v1 achieves the best performance. Training an LLM means building the scaffolding and neural networks to enable deep learning. You can load an embedding model using its model ID or alias like this: import llm embedding_model = llm. ) by simply providing the task instruction, without any finetuning. Enterprise LLM + Demo. Usage. The core principle revolves around rotating the queries and keys in the attention mechanism, where each position in the sequence receives a unique rotation. Instructor👨‍ achieves sota Feb 29, 2024 · For each dataset entry, we generate and store an embedding of the combined ‘instruction’ and ‘context’ fields, with the context acting as the document for retrieval in our LLM prompts. ) and domains (e. cpp calcule the embeddings. Let's load the Anyscale Embedding class. EmbeddingModel 专门用于生成语义向量,在语义搜索和问答中起着关键作用,而 RerankerModel 擅长优化语义搜索结果和语义相关顺序精排 Dec 31, 2023 · A novel method for obtaining high-quality text embeddings using only synthetic data and less than 1k training steps. They are one of the building blocks of the Transformer architecture, which is behind the magic of Generative AI and Large Jun 21, 2023 · Note: The difference between Embedding Models and LLMs is that Embedding Models focus on creating vector representations of words or phrases to capture their meanings and relationships, while LLMs are versatile models trained to generate coherent and contextually relevant text based on provided prompts or queries. An ultimate toolkit for building powerful Retrieval-Augmented Generation (RAG) and Large Language Model (LLM) applications with ease in Node. Now the dataset is hosted on the Hub for free. What is LLM Embedding. GLE emergence in Geospatial Artificial Intelligence (GeoAI) is precipitated by the need for deeper geospatial awareness in our complex contemporary spaces and the success of LLMs in extracting deep meaning in Generative AI. Use a pre-trained sentence-transformers model to embed each chunk. In this work, we introduce the NV-Embed model with a variety of architectural designs and training procedures to significantly enhance the performance of LLM as a versatile embedding model We introduce Instructor👨‍🏫, an instruction-finetuned text embedding model that can generate text embeddings tailored to any task (e. Fourth, consider the design of your document index. devoted to refining the contrastive learning framework in order to further improve sentence embed-dings [CDL+22,WTS +22,WGL 22,CYS+23]. The embeddings are different (and I find them better) from what you get with llama. Apr 21, 2023 · Generating LLM Embeddings with HuggingFace models; Tuning vector recall with pgvector; Personalizing embedding results with application data; Optimizing semantic results with an XGBoost ranking model - coming soon! Introduction. get_embedding_model("ada-002") To embed a string, returning a Python list of floating point numbers, use the . Apr 2, 2024 · Chunking ensures that each document is represented by an accurate and relevant embedding, as the LLM can process smaller chunks and grasp the nuances of the content more effectively. model='text-embedding-ada-002'. With the GPT-4 base model, that grows to 8k. Aug 18, 2023 · LLMとクラスタリングを組み合わせた手法 ClusterLLM が公開されました! LLMのembeddingベクトルを使ってテキスト分類のフレームワークを提案したClusterLLM。tripletの考え方を使って、(エントロピーをもとに)サンプルしたクラスタ候補のどちらに近いか判断させるのが面白かった。従来型の機械学習 Jun 21, 2023 · 最近の日本語喋れるLLMでそのままsentence embeddingしても良いんだっけ?そもそもどうやってsentence embeddingしてるんだっけ?と思っていたので調べてみた。 単語単位のembeding 実装はsentence tranfomerが参考になる。 sentence transfomerでない場合やbertのclsトークンを持たない場合は、単語embeddingを Create the dataset. In this blog post, we’ll explore if and how it helps improve efficiency and accuracy in LLM-related Enable Dynamic LLM Temperature. For that we are going to use a pre-trained LLM as the encoder and add a SkipConnectionHead on top of it (read here why this is preferred over just a linear layer). With GPT-4 there’s even an option for a much larger 32k context 32k being roughly equivalent to 50 Feb 18, 2024 · Extensible embedding stand as an enhancement of typical token embedding, which represents the information for an extensible scope of context instead of a single token. Here is a step-by-step overview of the embedding process for LLMs: Jun 20, 2023 · We believe this piece of the stack is relatively underdeveloped, though, and there’s an opportunity for data-replication solutions purpose-built for LLM apps. g. Apr 22, 2024 · LLM2Vec is a simple unsupervised approach that can be used to transform any decoder-only LLM into an embedding model. Rotary Positional Embeddings provide a flexible mechanism to include positional context into tokens, without modifying the original embeddings. Embeddings are used in LlamaIndex to represent your documents using a sophisticated numerical representation. These integrations include AI services, memory connectors. 10/12/2023: Release LLM-Embedder, a unified embedding model to support diverse retrieval augmentation needs for LLMs. Can add persistence easily! client = chromadb. A simple and powerful idea is to decouple the documents that you index for retrieval from the documents that you pass to the LLM for generation. We searched Google Scholar, Science Direct, and arXiv for papers Feb 28, 2024 · Customizing an LLM is not the same as training it. LangChain uses various model providers like OpenAI, Cohere, and HuggingFace to generate these embeddings. txtai processes can be simple microservices or multi-model workflows. The input must not exceed the max input tokens for the model (8192 tokens for text from llama_index. Apr 25, 2023 · Overview of Embedding and Vector Search with LLM: The embedding process is an essential component of large language models (LLMs) like GPT-3/Gpt-3. It’s an essential technique that helps optimize the relevance of the content we get back from a vector database once we use the LLM to embed content. Whisper: Responsible for encoding audio data. 📄️ Azure OpenAI. “When we started the project, only a few papers existed that used decoder-only LLMs for text representations. One of the main features of Semantic Kernel is its ability to add different AI services to the kernel. ” These embeddings are accessible through LLM APIs. Based on language models, LLMs acquire these abilities by learning statistical relationships from vast amounts of text during a computationally This model now returns the text embedding for any input in the form of [[instruction1, text1], [instruction2, text2]] or [text1, text2]. Additional plugins. Our findings suggest that multilingual LLMs may be more vulnerable to inversion attacks, in part because English-based defences may be ineffective. by using the AnythingLLM embedded chat widget you are responsible for securing and configuration of the embed as to not allow excessive chat model abuse of your instance. 830243 MRR), which offers a substantial performance boost. Jun 6, 2023 · 13. Oct 23, 2023 · Embeddings are based around one trick: take a piece of content—in this case a blog entry —and turn that piece of content into an array of floating point numbers. Jan 25, 2022 · Embedding for the documents and query are produced separately, and then cosine similarity is used to compare the similarity between the query and each document. linalg import norm import time import pandas as pd import os import requests def _get_embeddings(text_chunk): ''' Use embedding model from hugging face to calculate embeddings for the text snippets provided Parameters Jun 30, 2023 · In the context of building LLM-related applications, chunking is the process of breaking down large pieces of text into smaller segments. You can embed data from a SQLite database using --sql, optionally combined with --attach to attach an additional database. LLM (LLaMA/Vicuna/Bloom): The language model that encodes instructions and generates responses. AwaDB is an AI Native database for the search and storage of embedding vectors used by LLM Applications. By enabling prompt override, you allow the setting of the system prompt to override the workspace default. In this repository, we collect recent advances in unifying LLMs and KGs. This blog post is a guide to building LLM applications with the LangChain framework in Python. First, install the following packages: pip install llm2vec pip install flash-attn --no-build-isolation. Nov 3, 2023 · llm-embedder: Benefits greatly from reranking, particularly with CohereRerank (0. This leads to Aug 31, 2023 · Embeddings are a real powerhouse in the world of machine learning. An embedding is a relatively low-dimensional space into which you can translate high-dimensional vectors. Efficient and responsible AI tooling, which includes an LLM cache, LLM content classifier or filter, and a telemetry service to evaluate the output of your LLM app. We hope this repository can help researchers and practitioners to get a Nov 15, 2023 · ChromaDB is an open-source vector database designed specifically for LLM applications. Macaw-LLM is composed of three main components: CLIP: Responsible for encoding images and video frames. Find out how to store, search and use embeddings for semantic analysis and related content lookups. The length is defined by the embedding model you are using—an array Mar 12, 2024 · An embedding is a representation of the text in multiple dimensions. They encompass uni-modal and multi-modal types of vectors for single and cross-modal data interpretation, respectively. 本电子书开源,欢迎 star ,关注《LLM 应用开发实践笔记》 我的新书《LangChain编程从入门到实践》 已经开售!推荐正在学习AI应用开发的朋友购买阅读! Embedding 嵌入. 88764 hit rate and a 0. In recent years, embeddings have become an increasingly popular technique in machine learning and data analysis. This technique is achieved through the use of ML algorithms that enable the understanding of the meaning and context of data (semantic […] Jun 19, 2024 · LangChain is one of the most popular frameworks for building applications with large language models (LLMs). Fine-tuning of LM : LM-Cocktail. To save time and money you will want to store your embeddings first. MTEB is a massive benchmark for measuring the performance of text embedding models on diverse embedding tasks. We present a roadmap that summarizes three general frameworks: 1) KG-enhanced LLMs, 2) LLMs-augmented KGs, and 3) Synergized LLMs + KGs. 882022 hit rate, 0. In this article, we will explore the concept of LLM text embeddings, their advantages, and how they can be applied in various domains. The integration of these models allows Macaw-LLM to process and analyze multi-modal data effectively. Each LLM has its own embedding strategy. Go to the "Files" tab (screenshot below) and click "Add file" and "Upload file. Our experiments shed light on the potential of this direction, and more research is needed to fully explore it. To embed multiple inputs in a single request, pass an array of strings or array of token arrays. Next, we will utilize the Falcon-7b-instruct LLM to generate responses to closed information queries without additional context, showcasing the efficacy Aug 18, 2023 · The embedding is the mean of the embedding tokens you get with the transformer. This model is an embedding model, meaning it can only be used to generate embeddings. Large Language Models (LLMs) are foundational machine learning models that use deep learning algorithms to process and understand natural language. Embedding the Chat Widget model: string - ID of the model to use. This ensures the efficiency and reliability of LLMs, especially when the models Jul 18, 2022 · Embeddings. In the context of text, a token can be a word, part of a word (subword), or even a character — depending on the tokenization process. Unlike existing methods that often depend on multi-stage intermediate pre-training with billions of weakly-supervised text pairs, followed by fine-tuning with a few labeled Oct 30, 2023 · This includes your data source, embedding model, a vector database, prompt construction and optimization tools, and a data filter. Embeddings are important, they Jan 6, 2024 · Embedding Function: This is where the magic happens. Table of Contents. These models are trained on massive amounts Given an embedding task definition, a truly robust LLM should be able to generate training data on its own and then be transformed into an embedding model through light-weight fine-tuning. We also illustrate the involved techniques and applications. 836049 MRR. For embeddings, most developers use the OpenAI API, specifically with the text-embedding-ada-002 model. This allows you to easily swap out different AI services to compare their performance and to leverage the best model for your needs. Available connectors to vector databases. Learn how to convert text, images or other content into numerical vectors using embedding models with LLM. " Finally, drag or upload the dataset, and commit the changes. Yet, there’s more beneath the surface. In this space, words or tokens that are semantically similar or often appear together in context are mapped closer together Oct 12, 2023 · In this paper, we propose a novel method, Search-Adaptor, for customizing LLMs for information retrieval in an efficient and robust way. By transforming discrete linguistic elements into continuous vectors Oct 4, 2023 · The GenAI step-change is that similarity is no-longer based on a simple keyword search, but instead on an ontological understanding where similar items are close together in the embedding space. 3. In the parlance of LLMs, the features are latent structure embeddings or simply “embeddings. This is the codebase for LLM-Embedder, a unified embedding model to comprehensively support the retrieval augmentation needs of large language models, including knowledge retrieval, memory retrieval, examplar retrieval, and tool retrieval. Apr 29, 2024 · Converting an LLM to a text embedding model with LLM2Vec is fairly simple. Embarking on a voyage through the seas of NLP, you’ll inevitably bump into a gigantic iceberg – Large Language Models or LLMs. js. To get started, activate your virtual environment and run the following command: Shell. Enable Prompt Override. Benchmark: C-MTEB, AIR-Bench, MLVU. 5. In this section, we will provide sample code for adding different AI Mar 7, 2024 · Embeddings are crucial for large language models (LLMs) because they provide a dense, low-dimensional representation of words, phrases, or other input features, capturing the semantic similarities and syntactic properties within the high-dimensional space of natural language. It has excellent results on the MTEB benchmark and is especially suitable for semantic retrieval, RAG and other LLM applications. Load the PDF documents from our S3 bucket as raw bytes. Paper :fire: New reranker model: release cross-encoder models BAAI/bge-reranker-base and BAAI/bge-reranker-large, which are more powerful than embedding model. One popular approach to generating text embeddings is the Locally Linear Embedding Model (LLM). LLMs also yield higher average accuracy on the Bigger Analogy Mar 22, 2020 · LLM Text Embeddings Introduction Text embeddings play a vital role in natural language processing and deep learning tasks. Jan 31, 2024 · Embeddings play a key role in natural language processing (NLP) and machine learning (ML). While training, we provide instructions for both sentences in symmetric tasks, and only for for queries in asymmetric tasks. We'll use the example of creating a chatbot to answer EmbedJs is an Open Source Framework for personalizing LLM responses. LLM embeddings are high-dimensional vectors encoding semantic contexts and relationships of data tokens, facilitating nuanced comprehension by LLMs. Leverages proprietary LLMs to generate diverse data for hundreds of tasks across 93 languages and fine-tunes open-source decoder-only LLMs. Next, we will utilize the Falcon-7b-instruct LLM to generate responses to closed information queries without additional context, showcasing the efficacy of our Users are assigned a random session ID that they use to persist a chat session. Mar 5, 2024 · Workflow. Store the embeddings and the original text into a FAISS vector store. Embedding-based search can generalize better than word overlap techniques used in classical keyword search, because it captures the semantic meaning of text and is less sensitive to FlagEmbedding focuses on retrieval-augmented LLMs, consisting of the following projects currently: Long-Context LLM: Activation Beacon, LongLLM QLoRA. For each dataset entry, we generate and store an embedding of the combined 'instruction' and 'context' fields, with the context acting as the document for retrieval in our LLM prompts. Using embeddings from Python. Customizing an LLM means adapting a pre-trained LLM to specific tasks, such as generating information about a specific repository or updating your organization’s legacy code into a different language. Put simply, they are mathematical depictions of words within a multi-dimensional space. Reranker Model: llm rerankers, BGE Reranker. Optimizing LLM Applications with Vector Embeddings, affordable alternatives to OpenAI’s API and how we move from LlamaIndex to Langchain. Remember, the goal is to learn a mapping from one embedding to another. May 3, 2024 · Converting an LLM to a text embedding model with LLM2Vec is fairly simple. If you are storing embeddings in the same database as the source data, you can do this: llm embed-multi docs \ -d docs. This way, the dot product between queries and Jun 24, 2024 · Out-of-the-box integrations. The llm2vec package will convert the LLM to an embedding model. Embedding models take text as input, and return a long list of numbers used to capture the semantics of the text. Learn how large language embedding models process and represent data, and discover practical applications and benefits for AI and machine learning. Oct 19, 2022 · Muennighoff Niklas Muennighoff. The combination of bce-embedding-base_v1 and bce-reranker-base_v1 is SOTA. A large language model ( LLM) is a computational model notable for its ability to achieve general-purpose language generation and other natural language processing tasks such as classification. The core API is only 4 functions (run our 💡 Google Colab or Replit template ): import chromadb # setup Chroma in-memory, for easy prototyping. However, they mostly focused on supervised fine-tuning,” BehnamGhader said. 0 embeddings outperform v2. Indexing frequently uses embedding models with vector stores, which compress the semantic information in documents to fixed-size vectors. Apr 23, 2024 · LLM2Vec. db \ --sql 'select id, title, content from documents'\ -m 3 -small. On multiple English, multilingual, and multimodal Jun 29, 2023 · What is a Large Language Model (LLM)? A Large Language Model is a type of AI model that is designed to generate human-like text. Cohere : Cohere’s latest v3. These models are trained on vast amounts of text data, enabling Explore the new architecture of large language models (LLM) and the critical role of vector databases in preprocessing systems. Finally, we create a function that runs with various sweep parameters, allowing us to experiment with different embedding models to test our use case and identify the optimal one. Let's load the Azure OpenAI Embedding class with environment variables set to indicate to use Azure endpoints. It is not required but speeds up the training with MNTP. “There were very few studies using decoder-only LLMs for text Sep 15, 2022 · Now that we have the data ready, we need a model to train. The 🥇 leaderboard provides a holistic view of the best text embedding models out there on a variety of tasks. Let's see how. e. It is fine-tuned over 6 tasks: Question Answering (qa) Conversational Search (convsearch) Long A large language model is a computer program that learns and generates human-like language using a transformer architecture trained on vast training data. By leveraging such compact input units of higher information density, the LLM can access to a vast scope of context even with a small context window. In WithoutReranker setting, our bce-embedding-base_v1 outperforms all the other embedding models. Ideally, an embedding captures some of the semantics of the input by placing semantically similar inputs close together in Mar 20, 2023 · With GPT-3 and ChatGPT the context size is 2k. 探讨LangChain和LLM方案在知识问答应用中的局限性,如意图识别准确性和时间开销问题。 Jan 8, 2024 · A new paper by researchers at Microsoft proposes a technique that significantly reduces the costs and complexity of training custom embedding models. Our results show that LLMs tend to cluster semantically related words more tightly than classical models. Sep 12, 2023 · Embedding is a crucial part of an NLP pipeline, effectiveness of the model depends highly on the quality of embedding used. , classification, retrieval, clustering, text evaluation, etc. Text embedding refers to the process of transforming text into numerical representations that reside in a high-dimensional vector space. It segments data into manageable chunks, generates relevant embeddings, and stores them in a vector database for optimized retrieval. Jan 22, 2024 · This work explores LLM security through multilingual embedding inversion. Benchmark: C-MTEB. Delete if a vector index with the same name exists. Use LangChain’s text splitter to split the text into chunks. t. embed() method: vector = embedding_model. 0 and, with the integration of native CohereRerank, significantly improve its metrics, boasting a 0. Steps in the function: Load the embedding model. May 30, 2023 · In LLMs (Large Language Models), embedding are numerical representations of words, phrases, or sentences that capture their meaning and context. OpenAI Embedding Models Explore the community-made ML apps and see how they rank on the C-MTEB benchmark, a challenging natural language understanding task. It’s easy to use (especially if you’re already already using other OpenAI shaw/dmeta-embedding-zh is a Chinese Embedding model with just 400M parameters and suitable for multiple scenarios. We define the problem of black-box multilingual and cross-lingual inversion attacks, and explore their potential implications. The fastest way to build Python or JavaScript LLM apps with memory! | | Docs | Homepage. zv ln yc cw rc ut tw ot db xp