Documentation for AI Feature pack for WildFly

Feature pack to provide AI integration for WildFly

Coordinates ยง

            
<dependency>
  <groupId>org.wildfly.generative-ai</groupId>
  <artifactId>wildfly-ai-feature-pack</artifactId>
  <version>0.9.0</version>
</dependency>
            
        
            
<feature-pack>
    <location>org.wildfly.generative-ai:wildfly-ai-feature-pack:0.9.0</location>
</feature-pack>
            
        

References ยง

Provided Layers ยง

ai ยง

Support for LangChain4j Integration


{
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai"
    }
  }
}

chat-memory-provider ยง

Support for ChatMemory


{
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "chat-memory" : {
        "chat-memory" : {
          "_address" : "/subsystem=ai/chat-memory=*",
          "attributes" : [ {
            "name" : "size",
            "value" : "${org.wildfly.ai.chat-memory.size,env.CHAT_MEMORY_SIZE:5}",
            "_address" : "/subsystem=ai/chat-memory=*@@@size"
          }, {
            "name" : "type",
            "value" : "${org.wildfly.ai.chat-memory.type,env.CHAT_MEMORY_TYPE:MESSAGE}",
            "_address" : "/subsystem=ai/chat-memory=*@@@type"
          }, {
            "name" : "use-http-session",
            "value" : "${org.wildfly.ai.chat-memory.session,env.CHAT_MEMORY_SESSION:true}",
            "_address" : "/subsystem=ai/chat-memory=*@@@use-http-session"
          } ]
        }
      }
    }
  }
}

chroma-embedding-store ยง

Support for ChromaDB as an embedding store


{
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "chroma-embedding-store" : {
        "chroma" : {
          "_address" : "/subsystem=ai/chroma-embedding-store=*",
          "attributes" : [ {
            "name" : "api-version",
            "value" : "${org.wildfly.ai.chroma.api-version,env.CHROMA_API_VERSION:V2}",
            "_address" : "/subsystem=ai/chroma-embedding-store=*@@@api-version"
          }, {
            "name" : "base-url",
            "value" : "${org.wildfly.ai.chroma.url,env.CHROMA_URL:http://localhost:8000}",
            "_address" : "/subsystem=ai/chroma-embedding-store=*@@@base-url"
          }, {
            "name" : "connect-timeout",
            "value" : "${org.wildfly.ai.chroma.timeout,env.CHROMA_TIMEOUT:20000}",
            "_address" : "/subsystem=ai/chroma-embedding-store=*@@@connect-timeout"
          }, {
            "name" : "log-requests",
            "value" : "${org.wildfly.ai.chroma.log.request,env.CHROMA_LOG_REQUEST:true}",
            "_address" : "/subsystem=ai/chroma-embedding-store=*@@@log-requests"
          }, {
            "name" : "log-responses",
            "value" : "${org.wildfly.ai.chroma.log.response,env.CHROMA_LOG_RESPONSE:true}",
            "_address" : "/subsystem=ai/chroma-embedding-store=*@@@log-responses"
          } ]
        }
      }
    }
  }
}

default-embedding-content-retriever ยง

Support for a default embedding content retriever using in memory embedding store and all-minilm-l6-v2 embedding model


{
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "embedding-store-content-retriever" : {
        "embedding-store-retriever" : {
          "_address" : "/subsystem=ai/embedding-store-content-retriever=*",
          "attributes" : [ {
            "name" : "embedding-model",
            "value" : "all-minilm-l6-v2",
            "_address" : "/subsystem=ai/embedding-store-content-retriever=*@@@embedding-model"
          }, {
            "name" : "embedding-store",
            "value" : "in-memory",
            "_address" : "/subsystem=ai/embedding-store-content-retriever=*@@@embedding-store"
          }, {
            "name" : "max-results",
            "value" : "${org.wildfly.ai.embedding.retriever.max.results,env.EMBEDDING_RETRIEVER_MAX_RESULTS:2}",
            "_address" : "/subsystem=ai/embedding-store-content-retriever=*@@@max-results"
          }, {
            "name" : "min-score",
            "value" : "${org.wildfly.ai.embedding.retriever.min.score,env.EMBEDDING_RETRIEVER_MIN_SCORE:0.7}",
            "_address" : "/subsystem=ai/embedding-store-content-retriever=*@@@min-score"
          } ]
        }
      }
    }
  }
}

gemini-chat-model ยง

Support for Gemini chat model


{
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "gemini-chat-model" : {
        "gemini" : {
          "_address" : "/subsystem=ai/gemini-chat-model=*",
          "attributes" : [ {
            "name" : "api-key",
            "value" : "${env.GEMINI_API_KEY:YOUR_KEY_VALUE}",
            "_address" : "/subsystem=ai/gemini-chat-model=*@@@api-key"
          }, {
            "name" : "log-requests",
            "value" : "${org.wildfly.ai.gemini.chat.log,env.GEMINI_CHAT_LOG:true}",
            "_address" : "/subsystem=ai/gemini-chat-model=*@@@log-requests"
          }, {
            "name" : "log-responses",
            "value" : "${org.wildfly.ai.gemini.chat.log,env.GEMINI_CHAT_LOG:true}",
            "_address" : "/subsystem=ai/gemini-chat-model=*@@@log-responses"
          }, {
            "name" : "model-name",
            "value" : "${org.wildfly.ai.gemini.chat.model.name,env.GEMINI_CHAT_MODEL_NAME:gemini-2.5-flash}",
            "_address" : "/subsystem=ai/gemini-chat-model=*@@@model-name"
          } ]
        }
      }
    }
  }
}

gemini-streaming-chat-model ยง

Support for Gemini streaming chat model


{
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "gemini-chat-model" : {
        "streaming-gemini" : {
          "_address" : "/subsystem=ai/gemini-chat-model=*",
          "attributes" : [ {
            "name" : "api-key",
            "value" : "${env.GEMINI_API_KEY:YOUR_KEY_VALUE}",
            "_address" : "/subsystem=ai/gemini-chat-model=*@@@api-key"
          }, {
            "name" : "log-requests",
            "value" : "${org.wildfly.ai.gemini.chat.log,env.GEMINI_CHAT_LOG:true}",
            "_address" : "/subsystem=ai/gemini-chat-model=*@@@log-requests"
          }, {
            "name" : "log-responses",
            "value" : "${org.wildfly.ai.gemini.chat.log,env.GEMINI_CHAT_LOG:true}",
            "_address" : "/subsystem=ai/gemini-chat-model=*@@@log-responses"
          }, {
            "name" : "model-name",
            "value" : "${org.wildfly.ai.gemini.chat.model.name,env.GEMINI_CHAT_MODEL_NAME:gemini-2.5-flash}",
            "_address" : "/subsystem=ai/gemini-chat-model=*@@@model-name"
          }, {
            "name" : "streaming",
            "value" : "true",
            "_address" : "/subsystem=ai/gemini-chat-model=*@@@streaming"
          } ]
        }
      }
    }
  }
}

github-chat-model ยง

Support for Github chat model


{
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "github-chat-model" : {
        "github" : {
          "_address" : "/subsystem=ai/github-chat-model=*",
          "attributes" : [ {
            "name" : "api-key",
            "value" : "${env.GITHUB_API_KEY:YOUR_KEY_VALUE}",
            "_address" : "/subsystem=ai/github-chat-model=*@@@api-key"
          }, {
            "name" : "endpoint",
            "value" : "${org.wildfly.ai.github.chat.url,env.GITHUB_CHAT_URL:https://models.inference.ai.azure.com}",
            "_address" : "/subsystem=ai/github-chat-model=*@@@endpoint"
          }, {
            "name" : "log-requests-responses",
            "value" : "${org.wildfly.ai.github.chat.log,env.GITHUB_CHAT_LOG:true}",
            "_address" : "/subsystem=ai/github-chat-model=*@@@log-requests-responses"
          }, {
            "name" : "model-name",
            "value" : "${org.wildfly.ai.github.chat.model.name,env.GITHUB_CHAT_MODEL_NAME:gpt-4o-mini}",
            "_address" : "/subsystem=ai/github-chat-model=*@@@model-name"
          } ]
        }
      }
    }
  }
}

github-streaming-chat-model ยง

Support for Github streaming chat model


{
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "github-chat-model" : {
        "streaming-github" : {
          "_address" : "/subsystem=ai/github-chat-model=*",
          "attributes" : [ {
            "name" : "api-key",
            "value" : "${env.GITHUB_API_KEY:YOUR_KEY_VALUE}",
            "_address" : "/subsystem=ai/github-chat-model=*@@@api-key"
          }, {
            "name" : "endpoint",
            "value" : "${org.wildfly.ai.github.chat.url,env.GITHUB_CHAT_URL:https://models.inference.ai.azure.com}",
            "_address" : "/subsystem=ai/github-chat-model=*@@@endpoint"
          }, {
            "name" : "log-requests-responses",
            "value" : "${org.wildfly.ai.github.chat.log,env.GITHUB_CHAT_LOG:true}",
            "_address" : "/subsystem=ai/github-chat-model=*@@@log-requests-responses"
          }, {
            "name" : "model-name",
            "value" : "${org.wildfly.ai.github.chat.model.name,env.GITHUB_CHAT_MODEL_NAME:gpt-4o-mini}",
            "_address" : "/subsystem=ai/github-chat-model=*@@@model-name"
          }, {
            "name" : "streaming",
            "value" : "true",
            "_address" : "/subsystem=ai/github-chat-model=*@@@streaming"
          } ]
        }
      }
    },
    "logging" : {
      "_address" : "/subsystem=logging",
      "logger" : {
        "com.azure" : {
          "_address" : "/subsystem=logging/logger=*",
          "attributes" : [ {
            "name" : "level",
            "value" : "OFF",
            "_address" : "/subsystem=logging/logger=*@@@level"
          } ]
        }
      }
    }
  }
}

groq-chat-model ยง

Support for Groq chat model


{
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "openai-chat-model" : {
        "groq" : {
          "_address" : "/subsystem=ai/openai-chat-model=*",
          "attributes" : [ {
            "name" : "api-key",
            "value" : "${env.GROQ_API_KEY:YOUR_KEY_VALUE}",
            "_address" : "/subsystem=ai/openai-chat-model=*@@@api-key"
          }, {
            "name" : "base-url",
            "value" : "${org.wildfly.ai.openai.chat.url,env.GROQ_CHAT_URL:https://api.groq.com/openai/v1}",
            "_address" : "/subsystem=ai/openai-chat-model=*@@@base-url"
          }, {
            "name" : "log-requests",
            "value" : "${org.wildfly.ai.groq.chat.log.request,env.GROQ_CHAT_LOG_REQUEST:true}",
            "_address" : "/subsystem=ai/openai-chat-model=*@@@log-requests"
          }, {
            "name" : "log-responses",
            "value" : "${org.wildfly.ai.groq.chat.log.response,env.GROQ_CHAT_LOG_RESPONSE:true}",
            "_address" : "/subsystem=ai/openai-chat-model=*@@@log-responses"
          }, {
            "name" : "model-name",
            "value" : "${org.wildfly.ai.groq.chat.model.name,env.GROQ_CHAT_MODEL_NAME:llama3-8b-8192}",
            "_address" : "/subsystem=ai/openai-chat-model=*@@@model-name"
          } ]
        }
      }
    }
  }
}

groq-streaming-chat-model ยง

Support for Groq streaming chat model


{
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "openai-chat-model" : {
        "streaming-groq" : {
          "_address" : "/subsystem=ai/openai-chat-model=*",
          "attributes" : [ {
            "name" : "api-key",
            "value" : "${env.GROQ_API_KEY:YOUR_KEY_VALUE}",
            "_address" : "/subsystem=ai/openai-chat-model=*@@@api-key"
          }, {
            "name" : "base-url",
            "value" : "${org.wildfly.ai.groq.chat.url,env.GROQ_CHAT_URL:https://api.groq.com/openai/v1}",
            "_address" : "/subsystem=ai/openai-chat-model=*@@@base-url"
          }, {
            "name" : "log-requests",
            "value" : "${org.wildfly.ai.groq.chat.log.request,env.GROQ_CHAT_LOG_REQUEST:true}",
            "_address" : "/subsystem=ai/openai-chat-model=*@@@log-requests"
          }, {
            "name" : "log-responses",
            "value" : "${org.wildfly.ai.groq.chat.log.response,env.GROQ_CHAT_LOG_RESPONSE:true}",
            "_address" : "/subsystem=ai/openai-chat-model=*@@@log-responses"
          }, {
            "name" : "model-name",
            "value" : "${org.wildfly.ai.groq.chat.model.name,env.GROQ_CHAT_MODEL_NAME:llama3-8b-8192}",
            "_address" : "/subsystem=ai/openai-chat-model=*@@@model-name"
          }, {
            "name" : "streaming",
            "value" : "true",
            "_address" : "/subsystem=ai/openai-chat-model=*@@@streaming"
          } ]
        }
      }
    }
  }
}

in-memory-embedding-model-all-minilm-l6-v2 ยง

Support for all-minilm-l6-v2 in memory embedding model


{
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "in-memory-embedding-model" : {
        "all-minilm-l6-v2" : {
          "_address" : "/subsystem=ai/in-memory-embedding-model=*",
          "attributes" : [ {
            "name" : "embedding-class",
            "value" : "dev.langchain4j.model.embedding.onnx.allminilml6v2.AllMiniLmL6V2EmbeddingModel",
            "_address" : "/subsystem=ai/in-memory-embedding-model=*@@@embedding-class"
          }, {
            "name" : "module",
            "value" : "dev.langchain4j.embeddings.all-minilm-l6-v2",
            "_address" : "/subsystem=ai/in-memory-embedding-model=*@@@module"
          } ]
        }
      }
    }
  }
}

in-memory-embedding-model-all-minilm-l6-v2-q ยง

Support for all-minilm-l6-v2-q in memory embedding model


{
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "in-memory-embedding-model" : {
        "all-minilm-l6-v2-q" : {
          "_address" : "/subsystem=ai/in-memory-embedding-model=*",
          "attributes" : [ {
            "name" : "embedding-class",
            "value" : "dev.langchain4j.model.embedding.onnx.allminilml6v2q.AllMiniLmL6V2QuantizedEmbeddingModel",
            "_address" : "/subsystem=ai/in-memory-embedding-model=*@@@embedding-class"
          }, {
            "name" : "module",
            "value" : "dev.langchain4j.embeddings.all-minilm-l6-v2-q",
            "_address" : "/subsystem=ai/in-memory-embedding-model=*@@@module"
          } ]
        }
      }
    }
  }
}

in-memory-embedding-model-bge-small-en ยง

Support for abge-small-en in memory embedding model


{
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "in-memory-embedding-model" : {
        "bge-small-en" : {
          "_address" : "/subsystem=ai/in-memory-embedding-model=*",
          "attributes" : [ {
            "name" : "embedding-class",
            "value" : "dev.langchain4j.model.embedding.onnx.bgesmallen.BgeSmallEnEmbeddingModel",
            "_address" : "/subsystem=ai/in-memory-embedding-model=*@@@embedding-class"
          }, {
            "name" : "module",
            "value" : "dev.langchain4j.embeddings.bge-small-en",
            "_address" : "/subsystem=ai/in-memory-embedding-model=*@@@module"
          } ]
        }
      }
    }
  }
}

in-memory-embedding-model-bge-small-en-q ยง

Support for all-bge-small-en-q in memory embedding model


{
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "in-memory-embedding-model" : {
        "bge-small-en" : {
          "_address" : "/subsystem=ai/in-memory-embedding-model=*",
          "attributes" : [ {
            "name" : "embedding-class",
            "value" : "dev.langchain4j.model.embedding.onnx.bgesmallenq.BgeSmallEnQuantizedEmbeddingModel",
            "_address" : "/subsystem=ai/in-memory-embedding-model=*@@@embedding-class"
          }, {
            "name" : "module",
            "value" : "dev.langchain4j.embeddings.bge-small-en-q",
            "_address" : "/subsystem=ai/in-memory-embedding-model=*@@@module"
          } ]
        }
      }
    }
  }
}

in-memory-embedding-model-bge-small-en-v15 ยง

Support for bge-small-env15 in memory embedding model


{
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "in-memory-embedding-model" : {
        "bge-small-en-v15" : {
          "_address" : "/subsystem=ai/in-memory-embedding-model=*",
          "attributes" : [ {
            "name" : "embedding-class",
            "value" : "dev.langchain4j.model.embedding.onnx.bgesmallenv15.BgeSmallEnV15EmbeddingModel",
            "_address" : "/subsystem=ai/in-memory-embedding-model=*@@@embedding-class"
          }, {
            "name" : "module",
            "value" : "dev.langchain4j.embeddings.bge-small-en-v15",
            "_address" : "/subsystem=ai/in-memory-embedding-model=*@@@module"
          } ]
        }
      }
    }
  }
}

in-memory-embedding-model-bge-small-en-v15-q ยง

Support for bge-small-en-v15-q in memory embedding model


{
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "in-memory-embedding-model" : {
        "bge-small-en-v15-q" : {
          "_address" : "/subsystem=ai/in-memory-embedding-model=*",
          "attributes" : [ {
            "name" : "embedding-class",
            "value" : "dev.langchain4j.model.embedding.onnx.bgesmallenv15q.BgeSmallEnV15QuantizedEmbeddingModel",
            "_address" : "/subsystem=ai/in-memory-embedding-model=*@@@embedding-class"
          }, {
            "name" : "module",
            "value" : "dev.langchain4j.embeddings.bge-small-en-v15-q",
            "_address" : "/subsystem=ai/in-memory-embedding-model=*@@@module"
          } ]
        }
      }
    }
  }
}

in-memory-embedding-model-e5-small-v2 ยง

Support for e5-small-v2 in memory embedding model


{
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "in-memory-embedding-model" : {
        "e5-small-v2" : {
          "_address" : "/subsystem=ai/in-memory-embedding-model=*",
          "attributes" : [ {
            "name" : "embedding-class",
            "value" : "dev.langchain4j.model.embedding.onnx.e5smallv2.E5SmallV2EmbeddingModel",
            "_address" : "/subsystem=ai/in-memory-embedding-model=*@@@embedding-class"
          }, {
            "name" : "module",
            "value" : "dev.langchain4j.embeddings.e5-small-v2",
            "_address" : "/subsystem=ai/in-memory-embedding-model=*@@@module"
          } ]
        }
      }
    }
  }
}

in-memory-embedding-model-e5-small-v2-q ยง

Support for e5-small-v2-q in memory embedding model


{
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "in-memory-embedding-model" : {
        "e5-small-v2-q" : {
          "_address" : "/subsystem=ai/in-memory-embedding-model=*",
          "attributes" : [ {
            "name" : "embedding-class",
            "value" : "dev.langchain4j.model.embedding.onnx.e5smallv2q.E5SmallV2QuantizedEmbeddingModel",
            "_address" : "/subsystem=ai/in-memory-embedding-model=*@@@embedding-class"
          }, {
            "name" : "module",
            "value" : "dev.langchain4j.embeddings.e5-small-v2-q",
            "_address" : "/subsystem=ai/in-memory-embedding-model=*@@@module"
          } ]
        }
      }
    }
  }
}

in-memory-embedding-store ยง

Support In Memory embedding store.


{
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "in-memory-embedding-store" : {
        "in-memory" : {
          "_address" : "/subsystem=ai/in-memory-embedding-store=*",
          "attributes" : [ {
            "name" : "path",
            "value" : "${org.wildfly.ai.in-memory.embedding.file,env.IN_MEMORY_EMBEDDING_FILE:embeddings.json}",
            "_address" : "/subsystem=ai/in-memory-embedding-store=*@@@path"
          }, {
            "name" : "relative-to",
            "value" : "jboss.server.config.dir",
            "_address" : "/subsystem=ai/in-memory-embedding-store=*@@@relative-to"
          } ]
        }
      }
    }
  }
}

mcp ยง

Support for MCP subsystem


{
  "subsystem" : {
    "mcp" : {
      "_address" : "/subsystem=mcp"
    }
  }
}

mcp-client-sse ยง

Support for MCP SSE client


{
  "socket-binding-group" : {
    "standard-sockets" : {
      "_address" : "/socket-binding-group=*",
      "remote-destination-outbound-socket-binding" : {
        "mcp-sse" : {
          "_address" : "/socket-binding-group=*/remote-destination-outbound-socket-binding=*",
          "attributes" : [ {
            "name" : "host",
            "value" : "${org.wildfly.ai.mcp.client.host,env.MCP_CLIENT_HOST:localhost}",
            "_address" : "/socket-binding-group=*/remote-destination-outbound-socket-binding=*@@@host"
          }, {
            "name" : "port",
            "value" : "${org.wildfly.ai.mcp.client.port,env.MCP_CLIENT_PORT:8090}",
            "_address" : "/socket-binding-group=*/remote-destination-outbound-socket-binding=*@@@port"
          } ]
        }
      }
    }
  },
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "mcp-client-sse" : {
        "mcp-sse" : {
          "_address" : "/subsystem=ai/mcp-client-sse=*",
          "attributes" : [ {
            "name" : "connect-timeout",
            "value" : "6000000",
            "_address" : "/subsystem=ai/mcp-client-sse=*@@@connect-timeout"
          }, {
            "name" : "log-requests",
            "value" : "${org.wildfly.ai.mcp.client.log.request,env.MCP_CLIENT_LOG_REQUEST:true}",
            "_address" : "/subsystem=ai/mcp-client-sse=*@@@log-requests"
          }, {
            "name" : "log-responses",
            "value" : "${org.wildfly.ai.mcp.client.log.response,env.MCP_CLIENT_LOG_RESPONSE:true}",
            "_address" : "/subsystem=ai/mcp-client-sse=*@@@log-responses"
          }, {
            "name" : "socket-binding",
            "value" : "mcp-sse",
            "_address" : "/subsystem=ai/mcp-client-sse=*@@@socket-binding"
          }, {
            "name" : "sse-path",
            "value" : "${org.wildfly.ai.mcp.client.sse.path,env.MCP_CLIENT_SSE_PATH:/sse}",
            "_address" : "/subsystem=ai/mcp-client-sse=*@@@sse-path"
          } ]
        }
      },
      "mcp-tool-provider" : {
        "mcp" : {
          "_address" : "/subsystem=ai/mcp-tool-provider=*",
          "attributes" : [ {
            "name" : "mcp-clients",
            "value" : "[mcp-sse]",
            "_address" : "/subsystem=ai/mcp-tool-provider=*@@@mcp-clients"
          } ]
        }
      }
    }
  }
}

mcp-client-stdio ยง

Support for MCP stdio client


{
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "mcp-client-stdio" : {
        "mcp-stdio" : {
          "_address" : "/subsystem=ai/mcp-client-stdio=*",
          "attributes" : [ {
            "name" : "args",
            "value" : "[]",
            "_address" : "/subsystem=ai/mcp-client-stdio=*@@@args"
          }, {
            "name" : "cmd",
            "value" : "java",
            "_address" : "/subsystem=ai/mcp-client-stdio=*@@@cmd"
          } ]
        }
      },
      "mcp-tool-provider" : {
        "mcp-stdio" : {
          "_address" : "/subsystem=ai/mcp-tool-provider=*",
          "attributes" : [ {
            "name" : "mcp-clients",
            "value" : "[mcp-stdio]",
            "_address" : "/subsystem=ai/mcp-tool-provider=*@@@mcp-clients"
          } ]
        }
      }
    }
  }
}

mcp-server ยง

Support for MCP Server


{
  "subsystem" : {
    "mcp" : {
      "_address" : "/subsystem=mcp",
      "mcp-server" : {
        "server" : {
          "_address" : "/subsystem=mcp/mcp-server=*",
          "attributes" : [ {
            "name" : "messages-path",
            "value" : "messages",
            "_address" : "/subsystem=mcp/mcp-server=*@@@messages-path"
          }, {
            "name" : "sse-path",
            "value" : "sse",
            "_address" : "/subsystem=mcp/mcp-server=*@@@sse-path"
          }, {
            "name" : "streamable-path",
            "value" : "stream",
            "_address" : "/subsystem=mcp/mcp-server=*@@@streamable-path"
          } ]
        }
      }
    }
  }
}

mistral-ai-chat-model ยง

Support for Mistral chat model


{
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "mistral-ai-chat-model" : {
        "mistral" : {
          "_address" : "/subsystem=ai/mistral-ai-chat-model=*",
          "attributes" : [ {
            "name" : "api-key",
            "value" : "${env.MISTRAL_API_KEY:YOUR_KEY_VALUE}",
            "_address" : "/subsystem=ai/mistral-ai-chat-model=*@@@api-key"
          }, {
            "name" : "base-url",
            "value" : "${org.wildfly.ai.mistral.chat.url,env.MISTRAL_CHAT_URL:https://api.mistral.ai/v1}",
            "_address" : "/subsystem=ai/mistral-ai-chat-model=*@@@base-url"
          }, {
            "name" : "log-requests",
            "value" : "${org.wildfly.ai.mistral.chat.log.request,env.MISTRAL_CHAT_LOG_REQUEST:true}",
            "_address" : "/subsystem=ai/mistral-ai-chat-model=*@@@log-requests"
          }, {
            "name" : "log-responses",
            "value" : "${org.wildfly.ai.mistral.chat.log.response,env.MISTRAL_CHAT_LOG_RESPONSE:true}",
            "_address" : "/subsystem=ai/mistral-ai-chat-model=*@@@log-responses"
          }, {
            "name" : "model-name",
            "value" : "${org.wildfly.ai.mistral.chat.model.name,env.MISTRAL_CHAT_MODEL_NAME:mistral-small-latest}",
            "_address" : "/subsystem=ai/mistral-ai-chat-model=*@@@model-name"
          } ]
        }
      }
    }
  }
}

mistral-ai-streaming-chat-model ยง

Support for Mistral streaming chat model


{
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "mistral-ai-chat-model" : {
        "streaming-mistral" : {
          "_address" : "/subsystem=ai/mistral-ai-chat-model=*",
          "attributes" : [ {
            "name" : "api-key",
            "value" : "${env.MISTRAL_API_KEY:YOUR_KEY_VALUE}",
            "_address" : "/subsystem=ai/mistral-ai-chat-model=*@@@api-key"
          }, {
            "name" : "base-url",
            "value" : "${org.wildfly.ai.mistral.chat.url,env.MISTRAL_CHAT_URL:https://api.mistral.ai/v1}",
            "_address" : "/subsystem=ai/mistral-ai-chat-model=*@@@base-url"
          }, {
            "name" : "log-requests",
            "value" : "${org.wildfly.ai.mistral.chat.log.request,env.MISTRAL_CHAT_LOG_REQUEST:true}",
            "_address" : "/subsystem=ai/mistral-ai-chat-model=*@@@log-requests"
          }, {
            "name" : "log-responses",
            "value" : "${org.wildfly.ai.mistral.chat.log.response,env.MISTRAL_CHAT_LOG_RESPONSE:true}",
            "_address" : "/subsystem=ai/mistral-ai-chat-model=*@@@log-responses"
          }, {
            "name" : "model-name",
            "value" : "${org.wildfly.ai.mistral.chat.model.name,env.MISTRAL_CHAT_MODEL_NAME:mistral-small-latest}",
            "_address" : "/subsystem=ai/mistral-ai-chat-model=*@@@model-name"
          }, {
            "name" : "streaming",
            "value" : "true",
            "_address" : "/subsystem=ai/mistral-ai-chat-model=*@@@streaming"
          } ]
        }
      }
    }
  }
}

neo4j-content-retriever ยง

Support for Neo4J content retriever


{ }

neo4j-embedding-store ยง

Support for Neo4J embedding store


{
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "neo4j-embedding-store" : {
        "neo4j" : {
          "_address" : "/subsystem=ai/neo4j-embedding-store=*",
          "attributes" : [ {
            "name" : "bolt-url",
            "value" : "${org.wildfly.ai.neo4j.url,env.NEO4J_URL:neo4j://localhost:7687}",
            "_address" : "/subsystem=ai/neo4j-embedding-store=*@@@bolt-url"
          }, {
            "name" : "credential-reference",
            "value" : "{clear-text=${org.wildfly.ai.neo4j.password,env.NEO4J_PASSWORD:neo4jpassword}}",
            "_address" : "/subsystem=ai/neo4j-embedding-store=*@@@credential-reference"
          }, {
            "name" : "dimension",
            "value" : "${org.wildfly.ai.neo4j.dimension,env.NEO4J_DIMENSION:384}",
            "_address" : "/subsystem=ai/neo4j-embedding-store=*@@@dimension"
          }, {
            "name" : "username",
            "value" : "${org.wildfly.ai.neo4j.username,env.NEO4J_USER:neo4j}",
            "_address" : "/subsystem=ai/neo4j-embedding-store=*@@@username"
          } ]
        }
      }
    }
  }
}

ollama-chat-model ยง

Support for Ollama chat model


{
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "ollama-chat-model" : {
        "ollama" : {
          "_address" : "/subsystem=ai/ollama-chat-model=*",
          "attributes" : [ {
            "name" : "base-url",
            "value" : "${org.wildfly.ai.ollama.chat.url,env.OLLAMA_CHAT_URL:http://127.0.0.1:11434}",
            "_address" : "/subsystem=ai/ollama-chat-model=*@@@base-url"
          }, {
            "name" : "connect-timeout",
            "value" : "600000",
            "_address" : "/subsystem=ai/ollama-chat-model=*@@@connect-timeout"
          }, {
            "name" : "log-requests",
            "value" : "${org.wildfly.ai.ollama.chat.log.request,env.OLLAMA_CHAT_LOG_REQUEST:true}",
            "_address" : "/subsystem=ai/ollama-chat-model=*@@@log-requests"
          }, {
            "name" : "log-responses",
            "value" : "${org.wildfly.ai.ollama.chat.log.response,env.OLLAMA_CHAT_LOG_RESPONSE:true}",
            "_address" : "/subsystem=ai/ollama-chat-model=*@@@log-responses"
          }, {
            "name" : "model-name",
            "value" : "${org.wildfly.ai.ollama.chat.model.name,env.OLLAMA_CHAT_MODEL_NAME:llama3.1:8b}",
            "_address" : "/subsystem=ai/ollama-chat-model=*@@@model-name"
          }, {
            "name" : "temperature",
            "value" : "${org.wildfly.ai.ollama.chat.temperature,env.OLLAMA_CHAT_TEMPERATURE:0.9}",
            "_address" : "/subsystem=ai/ollama-chat-model=*@@@temperature"
          } ]
        }
      }
    }
  }
}

ollama-embedding-model ยง

Support for Ollama embedding model


{
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "ollama-embedding-model" : {
        "ollama" : {
          "_address" : "/subsystem=ai/ollama-embedding-model=*",
          "attributes" : [ {
            "name" : "base-url",
            "value" : "${org.wildfly.ai.ollama.embedding.url,env.OLLAMA_EMBEDDING_URL:http://127.0.0.1:11434}",
            "_address" : "/subsystem=ai/ollama-embedding-model=*@@@base-url"
          }, {
            "name" : "log-requests",
            "value" : "${org.wildfly.ai.ollama.embedding.log.request,env.OLLAMA_EMBEDDING_LOG_REQUEST:true}",
            "_address" : "/subsystem=ai/ollama-embedding-model=*@@@log-requests"
          }, {
            "name" : "log-responses",
            "value" : "${org.wildfly.ai.ollama.embedding.log.response,env.OLLAMA_EMBEDDING_LOG_RESPONSE:true}",
            "_address" : "/subsystem=ai/ollama-embedding-model=*@@@log-responses"
          }, {
            "name" : "model-name",
            "value" : "${org.wildfly.ai.ollama.embedding.model.name,env.OLLAMA_EMBEDDING_MODEL_NAME:llama3.1:8b}",
            "_address" : "/subsystem=ai/ollama-embedding-model=*@@@model-name"
          } ]
        }
      }
    }
  }
}

ollama-neo4j-content-retriever ยง

Support for Neo4J content retriever using Ollama model for query generation


{
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "neo4j-content-retriever" : {
        "ollama-neo4j-retriever" : {
          "_address" : "/subsystem=ai/neo4j-content-retriever=*",
          "attributes" : [ {
            "name" : "bolt-url",
            "value" : "${org.wildfly.ai.neo4j.url,env.NEO4J_URL:neo4j://localhost:7687}",
            "_address" : "/subsystem=ai/neo4j-content-retriever=*@@@bolt-url"
          }, {
            "name" : "chat-language-model",
            "value" : "cypher_model",
            "_address" : "/subsystem=ai/neo4j-content-retriever=*@@@chat-language-model"
          }, {
            "name" : "credential-reference",
            "value" : "{clear-text=${org.wildfly.ai.neo4j.password,env.NEO4J_PASSWORD:neo4jpassword}}",
            "_address" : "/subsystem=ai/neo4j-content-retriever=*@@@credential-reference"
          }, {
            "name" : "username",
            "value" : "${org.wildfly.ai.neo4j.username,env.NEO4J_USER:neo4j}",
            "_address" : "/subsystem=ai/neo4j-content-retriever=*@@@username"
          } ]
        }
      },
      "ollama-chat-model" : {
        "cypher_model" : {
          "_address" : "/subsystem=ai/ollama-chat-model=*",
          "attributes" : [ {
            "name" : "base-url",
            "value" : "${org.wildfly.ai.ollama.chat.url,env.OLLAMA_NEO4J_CHAT_URL:http://127.0.0.1:11434}",
            "_address" : "/subsystem=ai/ollama-chat-model=*@@@base-url"
          }, {
            "name" : "connect-timeout",
            "value" : "600000",
            "_address" : "/subsystem=ai/ollama-chat-model=*@@@connect-timeout"
          }, {
            "name" : "log-requests",
            "value" : "${org.wildfly.ai.ollama.chat.log.request,env.OLLAMA_NEO4J_CHAT_LOG_REQUEST:true}",
            "_address" : "/subsystem=ai/ollama-chat-model=*@@@log-requests"
          }, {
            "name" : "log-responses",
            "value" : "${org.wildfly.ai.ollama.chat.log.response,env.OLLAMA_NEO4J_CHAT_LOG_RESPONSE:true}",
            "_address" : "/subsystem=ai/ollama-chat-model=*@@@log-responses"
          }, {
            "name" : "model-name",
            "value" : "${org.wildfly.ai.ollama.chat.model.name,env.OLLAMA_NEO4J_CHAT_MODEL_NAME:tomasonjo/llama3-text2cypher-demo}",
            "_address" : "/subsystem=ai/ollama-chat-model=*@@@model-name"
          } ]
        }
      }
    }
  }
}

ollama-streaming-chat-model ยง

Support for Ollama streaming chat model


{
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "ollama-chat-model" : {
        "streaming-ollama" : {
          "_address" : "/subsystem=ai/ollama-chat-model=*",
          "attributes" : [ {
            "name" : "base-url",
            "value" : "${org.wildfly.ai.ollama.chat.url,env.OLLAMA_CHAT_URL:http://127.0.0.1:11434}",
            "_address" : "/subsystem=ai/ollama-chat-model=*@@@base-url"
          }, {
            "name" : "connect-timeout",
            "value" : "600000",
            "_address" : "/subsystem=ai/ollama-chat-model=*@@@connect-timeout"
          }, {
            "name" : "log-requests",
            "value" : "${org.wildfly.ai.ollama.chat.log.request,env.OLLAMA_CHAT_LOG_REQUEST:true}",
            "_address" : "/subsystem=ai/ollama-chat-model=*@@@log-requests"
          }, {
            "name" : "log-responses",
            "value" : "${org.wildfly.ai.ollama.chat.log.response,env.OLLAMA_CHAT_LOG_RESPONSE:true}",
            "_address" : "/subsystem=ai/ollama-chat-model=*@@@log-responses"
          }, {
            "name" : "model-name",
            "value" : "${org.wildfly.ai.ollama.chat.model.name,env.OLLAMA_CHAT_MODEL_NAME:llama3.1:8b}",
            "_address" : "/subsystem=ai/ollama-chat-model=*@@@model-name"
          }, {
            "name" : "streaming",
            "value" : "true",
            "_address" : "/subsystem=ai/ollama-chat-model=*@@@streaming"
          }, {
            "name" : "temperature",
            "value" : "${org.wildfly.ai.ollama.chat.temperature,env.OLLAMA_CHAT_TEMPERATURE:0.9}",
            "_address" : "/subsystem=ai/ollama-chat-model=*@@@temperature"
          } ]
        }
      }
    }
  }
}

openai-chat-model ยง

Support for OpenAI chat model


{
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "openai-chat-model" : {
        "openai" : {
          "_address" : "/subsystem=ai/openai-chat-model=*",
          "attributes" : [ {
            "name" : "api-key",
            "value" : "${env.OPENAI_API_KEY:YOUR_KEY_VALUE}",
            "_address" : "/subsystem=ai/openai-chat-model=*@@@api-key"
          }, {
            "name" : "base-url",
            "value" : "${org.wildfly.ai.openai.chat.url,env.OPENAI_CHAT_URL:https://api.openai.com/v1}",
            "_address" : "/subsystem=ai/openai-chat-model=*@@@base-url"
          }, {
            "name" : "log-requests",
            "value" : "${org.wildfly.ai.openai.chat.log.request,env.OPENAI_CHAT_LOG_REQUEST:true}",
            "_address" : "/subsystem=ai/openai-chat-model=*@@@log-requests"
          }, {
            "name" : "log-responses",
            "value" : "${org.wildfly.ai.openai.chat.log.response,env.OPENAI_CHAT_LOG_RESPONSE:true}",
            "_address" : "/subsystem=ai/openai-chat-model=*@@@log-responses"
          }, {
            "name" : "model-name",
            "value" : "${org.wildfly.ai.openai.chat.model.name,env.OPENAI_CHAT_MODEL_NAME:llama3-8b-8192}",
            "_address" : "/subsystem=ai/openai-chat-model=*@@@model-name"
          } ]
        }
      }
    }
  }
}

openai-neo4j-content-retriever ยง

Support for Neo4J content retriever using OpenAI model for query generation


{
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "neo4j-content-retriever" : {
        "openai-neo4j-retriever" : {
          "_address" : "/subsystem=ai/neo4j-content-retriever=*",
          "attributes" : [ {
            "name" : "bolt-url",
            "value" : "${org.wildfly.ai.neo4j.url,env.NEO4J_URL:neo4j://localhost:7687}",
            "_address" : "/subsystem=ai/neo4j-content-retriever=*@@@bolt-url"
          }, {
            "name" : "chat-language-model",
            "value" : "cypher_model",
            "_address" : "/subsystem=ai/neo4j-content-retriever=*@@@chat-language-model"
          }, {
            "name" : "credential-reference",
            "value" : "{clear-text=${org.wildfly.ai.neo4j.password,env.NEO4J_PASSWORD:neo4jpassword}}",
            "_address" : "/subsystem=ai/neo4j-content-retriever=*@@@credential-reference"
          }, {
            "name" : "username",
            "value" : "${org.wildfly.ai.neo4j.username,env.NEO4J_USER:neo4j}",
            "_address" : "/subsystem=ai/neo4j-content-retriever=*@@@username"
          } ]
        }
      },
      "openai-chat-model" : {
        "cypher_model" : {
          "_address" : "/subsystem=ai/openai-chat-model=*",
          "attributes" : [ {
            "name" : "api-key",
            "value" : "${env.OPENAI_NEO4J_API_KEY:YOUR_KEY_VALUE}",
            "_address" : "/subsystem=ai/openai-chat-model=*@@@api-key"
          }, {
            "name" : "base-url",
            "value" : "${org.wildfly.ai.openai.chat.url,env.OPENAI_NEO4J_CHAT_URL:https://api.openai.com/v1}",
            "_address" : "/subsystem=ai/openai-chat-model=*@@@base-url"
          }, {
            "name" : "log-requests",
            "value" : "${org.wildfly.ai.openai.chat.log.request,env.OPENAI_NEO4J_CHAT_LOG_REQUEST:true}",
            "_address" : "/subsystem=ai/openai-chat-model=*@@@log-requests"
          }, {
            "name" : "log-responses",
            "value" : "${org.wildfly.ai.openai.chat.log.response,env.OPENAI_NEO4J_CHAT_LOG_RESPONSE:true}",
            "_address" : "/subsystem=ai/openai-chat-model=*@@@log-responses"
          }, {
            "name" : "model-name",
            "value" : "${org.wildfly.ai.openai.chat.model.name,env.OPENAI_NEO4J_CHAT_MODEL_NAME:llama3-8b-8192}",
            "_address" : "/subsystem=ai/openai-chat-model=*@@@model-name"
          } ]
        }
      }
    }
  }
}

openai-streaming-chat-model ยง

Support for OpenAI streaming chat model


{
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "openai-chat-model" : {
        "streaming-openai" : {
          "_address" : "/subsystem=ai/openai-chat-model=*",
          "attributes" : [ {
            "name" : "api-key",
            "value" : "${env.OPENAI_API_KEY:YOUR_KEY_VALUE}",
            "_address" : "/subsystem=ai/openai-chat-model=*@@@api-key"
          }, {
            "name" : "base-url",
            "value" : "${org.wildfly.ai.openai.chat.url,env.OPENAI_CHAT_URL:https://api.openai.com/v1}",
            "_address" : "/subsystem=ai/openai-chat-model=*@@@base-url"
          }, {
            "name" : "log-requests",
            "value" : "${org.wildfly.ai.openai.chat.log.request,env.OPENAI_CHAT_LOG_REQUEST:true}",
            "_address" : "/subsystem=ai/openai-chat-model=*@@@log-requests"
          }, {
            "name" : "log-responses",
            "value" : "${org.wildfly.ai.openai.chat.log.response,env.OPENAI_CHAT_LOG_RESPONSE:true}",
            "_address" : "/subsystem=ai/openai-chat-model=*@@@log-responses"
          }, {
            "name" : "model-name",
            "value" : "${org.wildfly.ai.openai.chat.model.name,env.OPENAI_CHAT_MODEL_NAME:llama3-8b-8192}",
            "_address" : "/subsystem=ai/openai-chat-model=*@@@model-name"
          }, {
            "name" : "streaming",
            "value" : "true",
            "_address" : "/subsystem=ai/openai-chat-model=*@@@streaming"
          } ]
        }
      }
    }
  }
}

wasm ยง

Support for WASM WASI subsystem


{
  "subsystem" : {
    "wasm" : {
      "_address" : "/subsystem=wasm"
    }
  }
}

weaviate-embedding-store ยง

Support for Weaviate embedding store


{
  "socket-binding-group" : {
    "standard-sockets" : {
      "_address" : "/socket-binding-group=*",
      "remote-destination-outbound-socket-binding" : {
        "${org.wildfly.ai.weaviate.socket-binding,env.WEAVIATE_SOCKET_BINDING:weaviate}" : {
          "_address" : "/socket-binding-group=*/remote-destination-outbound-socket-binding=*",
          "attributes" : [ {
            "name" : "host",
            "value" : "${org.wildfly.ai.weaviate.host,env.WEAVIATE_HOST:localhost}",
            "_address" : "/socket-binding-group=*/remote-destination-outbound-socket-binding=*@@@host"
          }, {
            "name" : "port",
            "value" : "${org.wildfly.ai.weaviate.port,env.WEAVIATE_PORT:8090}",
            "_address" : "/socket-binding-group=*/remote-destination-outbound-socket-binding=*@@@port"
          } ]
        }
      }
    }
  },
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "weaviate-embedding-store" : {
        "weaviate" : {
          "_address" : "/subsystem=ai/weaviate-embedding-store=*",
          "attributes" : [ {
            "name" : "metadata",
            "value" : "[url,language,parent_url,file_name,file_path,title,subtitle]",
            "_address" : "/subsystem=ai/weaviate-embedding-store=*@@@metadata"
          }, {
            "name" : "object-class",
            "value" : "${org.wildfly.ai.weaviate.object-class,env.WEAVIATE_OBJECT_CLASS:Simple}",
            "_address" : "/subsystem=ai/weaviate-embedding-store=*@@@object-class"
          }, {
            "name" : "socket-binding",
            "value" : "${org.wildfly.ai.weaviate.socket-binding,env.WEAVIATE_SOCKET_BINDING:weaviate}",
            "_address" : "/subsystem=ai/weaviate-embedding-store=*@@@socket-binding"
          }, {
            "name" : "ssl-enabled",
            "value" : "${org.wildfly.ai.weaviate.ssl-enabled,env.WEAVIATE_SSL_ENABLED:false}",
            "_address" : "/subsystem=ai/weaviate-embedding-store=*@@@ssl-enabled"
          } ]
        }
      }
    }
  }
}

web-search-engines ยง

Support for Web Search Engine content retriever


{
  "subsystem" : {
    "ai" : {
      "_address" : "/subsystem=ai",
      "web-search-content-retriever" : {
        "web-search-retriever" : {
          "_address" : "/subsystem=ai/web-search-content-retriever=*",
          "attributes" : [ {
            "name" : "tavily",
            "value" : "{api-key=${env.TAVILY_API_KEY}, base-url=https://api.tavily.com, connect-timeout=20000, exclude-domains=[example.org], include-domains=[example.com], include-answer=true}",
            "_address" : "/subsystem=ai/web-search-content-retriever=*@@@tavily"
          } ]
        }
      }
    }
  }
}

About

This feature pack is hosted at https://github.com/wildfly-extras/wildfly-ai-feature-pack

Source code of this feature pack is hosted at https://github.com/wildfly-extras/wildfly-ai-feature-pack

This feature pack is licensed under: