FAQs
Enterprise h2oGPTe is a comprehensive enterprise-grade Generative AI platform that provides organizations with a complete solution for implementing generative AI capabilities across their operations.
Enterprise h2oGPTe provides the following capabilities:
- Fully-featured multimodal RAG (retrieval-augmented generation) highly optimized, with public benchmarks with customizable model routing, cost controls, customizable guardrails and PII redaction for responsible AI deployment
- Document AI (JSON extraction)
- Agentic AI with deep research capabilities topping the General AI Assistant benchmark
- Public cloud, Private cloud, and Air-gapped deployment options
- Role-based access control (RBAC) and fine-grained entitlements
- Scalable with K8s
To learn more about Enterprise h2oGPTe, see h2oGPTe Agentic AI converges generative AI and predictive with purpose-built SLMs.
The following sections provide answers to frequently asked questions. If you have additional questions, please send them to cloud-feedback@h2o.ai.
General​
How does Enterprise h2oGPTe handle embedded images in PDFs?​
Enterprise h2oGPTe supports vision and language models out of the box and automatically determines which to use to answer a user's question. Helper models for layout detection, OCR, captioning, rotation, handwriting-detection, etc. are applied to extract the best information from the documents. When using vision models, each page of a document is also viewed as an image by the model.
Does Enterprise h2oGPTe have an API?​
Yes. You can interact with the h2oGPTe API through its Python Client Library and TypeScript API and REST API (Swagger-UI). These libraries simplify making API requests and handling responses, allowing you to integrate the API's functionality seamlessly into your Python or TypeScript applications.
Sign up/in at Enterprise h2oGPTe and create an API key to use the client libraries. To learn more, see APIs.
Which Embedding Models are supported in Enterprise h2oGPTe?​
When creating a new collection of data, users can choose between bge-large-en-v1.5 or bge-m3 as the embedding model for their collection, with bge-large-en-v1.5 as the default. This decision is usually based on the language of their data and their users.
We regularly update our platform with the latest embedding models to ensure optimal performance and state-of-the-art capabilities.
What is the Vector Database for Enterprise h2oGPTe (1) and can I customize it (2)?​
-
The Vector Database for Enterprise h2oGPTe is called "Vex" and it is custom built by H2O.ai. Vex is a standalone vector "database" specifically designed for running similarity searches for Enterprise h2oGPTe. It serves as a storage and retrieval system for vector and text data.
The current nearest neighbor algorithm used in Vex is hnswlib. Indexes are stored in hnswlib's native format and are created or loaded by the server on demand. This allows for efficient and fast similarity searches. The underlying text representation for each vector is stored in SQLite.
Vex is architecturally similar to Chroma, which also utilizes hnswlib for thread-safety during index-writes. However, Vex includes several performance improvements compared to Chroma:
- It does not include unnecessary bindings to Clickhouse and DuckDB.
- It uses barebones Uvicorn (the core of FastAPI) instead of FastAPI, eliminating unnecessary overhead.
- It uses MsgPack instead of JSON for communication, reducing the bandwidth required for each request. This is particularly beneficial for compressing numpy arrays and UUIDs.
- It minimizes allocations in the query fast-path, avoiding unnecessary steps like Pydantic, and directly calling the library for binary deserialization.
-
Customizability of Vex is limited, as it primarily focuses on delivering efficient similarity searches using its existing features. However, Enterprise h2oGPTe provides additional connectivity options to other Vector and full-text databases, allowing for more customization possibilities.
Starting from Enterprise h2oGPTe 1.3.8, users can connect Enterprise h2oGPTe to hnswlib, Elastic Search, Milvus, Redis, and Qdrant for storing vector data, and SQLite, Redis and Elastic Search for storing text data. By default, HNSW and SQLite are used, other external databases are currently in experimental mode.
To learn how to customize the Vector Database, contact your admin.
Collections​
Can Enterprise h2oGPTe refer to several Collections to answer a query?​
No. Enterprise h2oGPTe is designed to access a specific Collection at a time, allowing users to ask detailed questions and receive precise answers based on the targeted data contained within that Collection. This focused approach ensures accuracy and relevance in the responses provided and ensures data security in the platform.
What file types (documents) does Enterprise h2oGPTe Collections support?​
You can upload the following file types (documents) to a Collection:
- PDF: ['.pdf']
- Text: ['.txt', '.log', '.c', '.cs', '.cpp', '.java', '.json', '.py', '.rb', '.tex', '.css', '.js', '.sh', '.ts', '.xml', '.php']
- Rich Text: ['.rtf']
- Word: ['.doc', '.docx']
- Excel: ['.xls', '.xlsx', '.csv', '.tsv']
- Powerpoint: ['.ppt', '.pptx']
- HTML: ['.html', '.htm', '.xhtml']
- Image: ['.jpg', '.jpeg', '.png', '.bmp', '.gif', '.tiff', '.pnm', '.pgm', '.pbm', '.ppm', '.pam', '.jpx', '.jp2', '.psd']
- Document: ['.xps']
- E-Book: ['.fb2', '.epub', '.mobi', '.cbz']
- SVG: ['.svg']
- Markdown: ['.md']
- reStructuredText: ['.rst']
- Audio: ['.mp3', '.flac', '.wav', '.m4a', '.aac']
- Archives: ['.zip', '.tar', '.gz', '.tgz', '.bz2', '.tbz2', '.xz', '.txz']
Can archived Collections still have their documents appear in RAG workflows or vector search? What's the mechanism behind this feature?​
Archived Collections do not allow new chats or modifications. They get frozen until they are cleaned automatically or un-archived by an admin user. When a Collection is archived, its data cannot be modified or accessed, and users cannot create new chats or access old chats.
Documents​
Are uploaded documents cleared after the user session, or do they persist?​
The uploaded documents are persisted until the user or admin explicitly deletes the document.
How are entitlements managed so that users are not querying each other's documents or the model is not picking chunks from other documents?​
Documents are private and accessible only to the user who uploaded them or through a publicly shared collection. An authenticated user client can query only the resources they have access to.
To make documents accessible to all users of the system, change the collection's visibility from Private to Public using either the UI or the Python API. For more information, see Share a collection.
How exactly are documents managed throughout their lifecycle in h2oGPTe, from upload to deletion? What happens to vector embeddings and metadata when a user deletes a document?​
Document uploads and deletions in h2oGPTe are managed as follows:
-
Upload: When a document is uploaded, it is stored in three locations:
- A database entry is created with metadata details and storage IDs.
- The raw PDF document and per-page PDF documents are stored in internal boto-compatible storage.
- Text chunks and vectors are stored in the vector database (for non-agent documents).
-
Deletion: When a user deletes a document, it is removed from all three locations:
- The database entry with metadata details and storage IDs is deleted.
- The raw PDF document and per-page PDF documents are deleted from internal storage.
- The text chunks and vectors are deleted from the vector database.
Since h2oGPTe uses a multi-tenant architecture, how are document isolation and deletion handled when documents are shared across users or collections? Are there any potential data persistence issues?​
In h2oGPTe's multi-tenant architecture:
- Only the document owner is allowed to delete the document from the system.
- During sharing, data is not duplicated; users are granted access to documents via Collection sharing.
- When a document is deleted, it is removed for all users who have access to the Collection.
- Admin users can delete Collections from other users via the Manage Collections page.
- There are no data persistence issues, as the deletion applies to everyone who can see the Collection.
When a user deletes an entire Collection, what is the exact technical process for purging all associated documents, embeddings, and metadata from the system?​
When a user deletes an entire Collection:
- The backend (database) removes the documents without a linked Collection.
- Once a database reference is deleted, the system returns the deleted IDs.
- The files are then deleted from internal storage, and embeddings are removed from the vector database storage.
Does h2oGPTe initially implement a soft-deletion approach (marking as deleted but not removing) with a later hard-deletion process, or are documents immediately purged from storage?​
h2oGPTe does not implement a soft-deletion approach for documents. Instead, documents are immediately and permanently purged from storage upon deletion. Here's how it works:
- Document deletion: When a document is deleted from the "Documents" page, it is fully removed from all three storage locations:
- Database: The metadata entry and storage IDs are deleted.
- Object storage: The raw PDF document and per-page PDF documents are deleted.
- Vector database: The text chunks and vector embeddings are deleted.
- Collection deletion: Deleting a Collection results in the complete removal of all associated documents, embeddings, and metadata from the system. However, if other Collections reuse some documents, the PDF files will be retained.
- Deleting a document from a Collection: This is different from deleting a document from the "Documents" page. When a document is deleted from a specific collection:
- Vector database: The vector data and the association with the Collection are removed.
- Object storage: The PDF remains in internal storage.
- Database: The document metadata is retained, and the document remains accessible from the "Documents" page.
Archiving Collections
While h2oGPTe does not use soft deletion for documents, it does have an archiving concept for Collections:
- Archived Collections: Archived Collections do not allow new data to be added or existing data to be modified. For example, users cannot create new chats or access old chats within an archived Collection.
- Access restrictions: Archived Collections do not allow new chats or modifications. Users cannot create new chats or access old chats within archived Collections.
Our documentation mentions that document storage is separate from vector storage. How does deletion synchronize between these two storage systems?​
Deletion synchronization between document storage and vector storage is managed through an internal Job request with multiple subtasks. The overall Job will fail if one step fails, ensuring consistency across both storage systems.
What mechanisms exist for administrators or users to verify that document deletion has been completely executed across all system components?​
Currently, h2oGPTe relies on the overall deletion Job status to verify that document deletion has been executed across all system components. If any step fails, the Job will fail, indicating an issue. However, there is no mechanism to re-do the delete if the system gets out of sync.
How does h2oGPTe handle document deletion across different scenarios, and what are the specific effects related to these deletions?​
-
Scenario 1: Delete entire Collection
- Use case: The project ends, and all related data should be removed.
- Effect: Deletes all three components — metadata, raw PDFs, and vector data — for all documents in the Collection.
-
Scenario 2: Delete a document from a specific Collection
- Use case: Accidentally added an unrelated document to a Collection.
- Effect: Removes the vector embedding and the Collection-document link but retains the PDF in internal storage and keeps the document accessible from the "Documents" page.
-
Scenario 3: Delete the document from the "Document" page
- Use case: Document contains outdated or sensitive content.
- Effect: Fully removes the document from all three places — database, object storage (PDFs), and vector database.
noteWhen a document is deleted from the "Documents" page, the system loops through all the Collections the document belongs to and deletes the chunks (vectors) along with the PDF from storage.
Chats​
Can I chat with a Collection in any language?​
Yes. For non-English chatting or documents, we recommend creating your collection with the Multilingual (bge-m3)
embedding model which will be applied automatically to ingested data and user queries. You can also change the Prompt Template to one of the 15+ supported languages for Retrival Augmented Generation or create your own template for new languages or use cases.
- Submit and view feedback for this page
- Send feedback about Enterprise h2oGPTe to cloud-feedback@h2o.ai