Document Vector Database

Overview

The Document Vector Database Connected System enables Large Language Models (LLMs) to answer user submitted questions based on Appian Knowledge Center Documents. By uploading documents to this connected system, users can perform semantic searches to pinpoint the most pertinent content related to their questions. The Connected System also boasts Client APIs tailored for the AI Knowledge Assistant Component. This allows the AI Knowledge Assistant Component to deliver AI generated answers to user inquiries sourced from documents stored in the database, as well as general questions.

Key Features & Functionality

  1. Upload Document - Uploads and stores the documents and its vector in the database.
  2. List Documents - Provides us the list of documents uploaded in the database.
  3. Database Operations
    1. Delete Documents - Enables us to delete the documents that are uploaded in the database.
    2. Sync Documents - Updates the existing documents in the database with the latest version of the document available in the Appian Knowledge Center.
    3. Change Database Password - Changes Database password.
  4. Query Documents - Get relevant pieces of content from documents for the given prompt.
  5. Generate Response - Perform search in the given documents and generate ChatGPT response for the given prompt.
  6. Client APIs for AI Knowledge Assistant component for fetching document details, chat completions, document querying, and uploading new documents to the database.

Notes:

  • Download the AI Knowledge Assistant, a sophisticated chatbot designed to perform semantic searches across your documents and provide precise answers to your queries.
  • This plugin is not supported for HA environments.
Anonymous
  • Hi Author,

    We have been using this plugin for a while now using latest version whenever available.

    However, this plugin keeps popping up in health check reports. Can you please sustainably keep this plugin in a healthy state such that it does not flaw the health check results? Thank you.

    Issues

    - HIGH RISK: Plug-ins using removed, private or deprecated Appian APIs

    Document Vector Database (DocumentVectorDatabase) references private and deprecated Appian APIs
    [private] com.appiancorp.openai.utils.ChatMessage.<init>()
    [private] com.appiancorp.openai.utils.ChatMessage.<init>(java.lang.String, java.lang.String)
    [private] com.appiancorp.openai.utils.ChatMessage.getContent()
    [private] com.appiancorp.openai.utils.ChatMessage.getRole()
    [private] com.appiancorp.openai.utils.ChatMessage.setContent(java.lang.String)
    [private] com.appiancorp.openai.utils.ChatMessage.setRole(java.lang.String)
    [private] com.appiancorp.openai.utils.ChatResponse.getResponseText()
    [private] com.appiancorp.openai.utils.ChatResponse.getUsageMap()
    [private] com.appiancorp.openai.utils.OpenAIException.<init>(java.lang.String)
    [private] com.appiancorp.openai.utils.OpenAIException.getErrorCode()
    [private] com.appiancorp.openai.utils.OpenAIException.getErrorMessage()
    [private] com.appiancorp.openai.utils.OpenAIException.getMessage()
    [private] com.appiancorp.openai.utils.OpenAIException.getStatusCode()
    [private] com.appiancorp.openai.utils.OpenAiService.<init>(java.lang.String)
    [private] com.appiancorp.openai.utils.OpenAiService.createCompletion(com.appian.connectedsystems.templateframework.sdk.ExecutionContext, java.lang.String, java.util.List)
    [private] com.appiancorp.openai.utils.OpenAiService.createCompletion(com.appian.connectedsystems.templateframework.sdk.ExecutionContext, java.lang.String, java.util.List, java.lang.String)
    [private] com.appiancorp.openai.utils.OpenAiService.createCompletion(java.lang.String, java.util.List, java.lang.String)
    [private] com.appiancorp.openai.utils.OpenAiService.createCompletionWithUsage(com.appian.connectedsystems.templateframework.sdk.ExecutionContext, java.lang.String, java.util.List, java.lang.String)
    [private] com.appiancorp.openai.utils.OpenAiService.createEmbeddings(com.appian.connectedsystems.templateframework.sdk.ExecutionContext, java.lang.String, java.util.List)
    [private] com.appiancorp.openai.utils.OpenAiService.createEmbeddings(java.lang.String, java.util.List)
    [private] com.appiancorp.openai.utils.OpenAiService.createEmbeddingsAsListOfStringWithBackOff(com.appian.connectedsystems.templateframework.sdk.ExecutionContext, java.lang.String, java.util.List)
    [private] com.appiancorp.openai.utils.OpenAiService.createEmbeddingsAsListOfStringWithBackOff(java.lang.String, java.util.List)
    [private] com.appiancorp.openai.utils.OpenAiService.createEmbeddingsWithBackOff(com.appian.connectedsystems.templateframework.sdk.ExecutionContext, java.lang.String, java.util.List)
    [deprecated] com.appiancorp.suiteapi.common.ServiceLocator.getContentService(com.appiancorp.services.ServiceContext)
    [deprecated] com.appiancorp.suiteapi.common.ServiceLocator.getProcessDesignService(com.appiancorp.services.ServiceContext)
    [deprecated] com.appiancorp.suiteapi.common.ServiceLocator.getUserProfileService(com.appiancorp.services.ServiceContext)

    - MEDIUM RISK: # of objects with no admin group

    - MEDIUM RISK: Knowledge Centers missing explicit reader and author groups

    KC_H2_DATABASE_DOCUMENT_COMMUNITY_KNOWLEDGE_CENTER
    Knowledge Center ID: (_a-0000ec32-c60a-8000-9bfe-011c48011c48_631283)

  • v3.2.6 Release Notes
    • Resolved issues related to incorrect embedding dimensions to ensure consistent vector representations.
    • Improved error handling for Azure requests with clearer messages.
  • v3.2.5 Release Notes
    • Security Patch Updated.
  • v3.2.4 Release Notes
    • Security Patch Updated.
  • Unfortunately, we are not able to support HA due to a limitation with the database library we are using. 

  • When will this be supported on HA environments?

  • You can select the database name yourself, simple choose a name that makes sense.

  • What will be the Database Name (Table values)? which will be used in the creation of the Database file in Appian while creating a connected system.

  • v3.2.3 Release Notes
    1. Security Patch Updated.
    2. Implemented Retry mechanism when the database is locked in HA environments.
    3. Included token usage information in the client APIs and servlets.
    4. Added the user information to the OpenAI and Azure OpenAI request for monitoring purpose.
    IMPORTANT NOTE: If you are using this plugin in production, open a support case and ask to increase Heap Max for app server by 1GB. This will increase query performance and allow the plugin to handle a larger number of concurrent users.

  • v3.2.2 Release Notes
    • Added 128 k tokens option for Max Tokens input for Azure authentication in the Connected System configuration.
    • Minor Bug fixes
    IMPORTANT NOTE: If you are using this plugin in production, open a support case and ask to increase Heap Max for app server by 1GB. This will increase query performance and allow the plugin to handle a larger number of concurrent users.