Developing generative AI applications

This documentation includes resources for developers who want to provide custom AI solutions by using the FileNet P8 Content Engine Java™ or .NET APIs or the FileNet P8 Content Services GraphQL API.

The FileNet P8 Content Engine Java and .NET APIs or the FileNet P8 Content Services GraphQL API supports the following operations:
  • Querying the watsonx LLM without using any FileNet document as context.
  • Querying the watsonx LLM with a single FileNet document object as context.
  • Querying the watsonx LLM with a list of FileNet documents as context.
  • Querying the watsonx LLM with any document in the object store which is vector indexed, as context.

These APIs contain a set of classes that support generative AI query object processing. These classes are custom subclasses of the FileNet Abstract Persistable class that is defined by the IBM® Content Assistant add-on. When the IBM Content Assistant add-on is installed for an object store, custom applications can create instances of these new classes by using the FileNet APIs.

Custom applications can create an instance of one of the classes through an API request that includes the input user prompt and the references to the document content. When an instance of the class is created, the Content Platform Engine server calls the IBM Content Assistant GenAI service event handler. The event handler processes the input user prompt and the document content reference into a prompt that is sent to the watsonx LLM. The watsonx LLM then generates the response. The interaction with the watsonx LLM runs synchronously when the API object is created and when API object creation is complete, the watsonx LLM response is saved as a query object property. The API client receives the complete object in response to the initial API object create request. The API client response includes the input user prompt, the LLM response, and the document chunks that were included in the request.

The Content Platform Engine server verifies whether the user who initiated the API request has VIEW_CONTENT access to all documents that are used as context in the watsonx LLM input prompt. If a user attempts to include a document that they do not have access to, the CPE server eliminates the document from further processing in the request. If the user does not have access to any of the reference document content in the request, an error response is returned.

To set up your Content Platform Engine environment to use generative AI query processing: