Roadmap
Planned
Plugin system for pre-processing messages
This will allow using external providers to load other types of documents such as PDFs, Microsoft Word Documents, audio files, etc.
Encryption at rest
Part 1 (done)
The server maintains symmetric keys by classification and requires a secret key to be passed in by the running process. This ensures no documents are saved in the the database in clear-text, but doesn't provide security yet as the keys are readable.
Part 2
Asymmetric key encryption to hide the symmetric keys. This feature requires the client to provide keys capable of decrypting the symmetric keys described above.
Classification-bound LLM endpoints
This feature will allow segregating queries by document classification to control so different LLMs are used based on the classification level.
OpenAI Chat Completions
OpenAI-style chat completions where we augment User Messages to include Pipeline-enhanced contexts.
Not yet planned
Tool calling and/or post processing of RAG replies
Are tools supposed to be called by the LLM itself or just a simple post processing piping of messages?
In-transit encryption
The difficulties with an implementation that does a fully encryption at rest + in transit are the following:
-
Adds latency to the process since running a query would require an extra round-trip to the client to decode vectors that are retrieved by the vector store
-
The server still needs the clear text documents for a brief period of time in order to send to the LLM. A hacker with access to the server process would still be able to read retrieved vectors
-
Shifts the attack vector from the Foundation4.ai server to the client, which needs to now efficiently manage the decryption keys
-
If the LLM is always external to the Foundation4.ai server (should be), then maybe we are not missing much by sending the prompt and encrypted messages to the client and let it call the LLM.
-
Is encryption at the thread level? Message level?
OpenAI-compatible server
See the OpenAI API reference for details about the specs.
Chat Completions
Add a feature to augment OpenAI Chat Completions queries with context information from the Vector Store.
Assistants and Threads
The OpenAI concepts of Assistant and Threads share some of the features of Foundation4.ai's Agents and Contexts. In the future, we can adapt the asynchronous nature of Assistant and Thread Runs to the realtime behavior or Foundation4.ai's Agents and Contexts.