Artificial Intelligence
The big new feature in the Claris FileMaker platform is the addition of artificial intelligence (AI) capabilities. FileMaker now has native support for semantic search. Semantic search can be thought of as search with meaning. It tries to understand what the searcher intends to search for, rather than literally looking for the words in the search term. In this way, a semantic search is designed to yield much more relevant results, particularly if one or more words in the search term have multiple definitions.
With semantic search woven through the Claris FileMaker platform, users can use natural language in their searches. They can learn from the data in their custom apps faster than ever and gain insights that were previously impossible. FileMaker can support public or local models and does so in a way that provides strong controls over security and privacy.
For the FileMaker developer, there are a suite of tools to manage the incorporation of AI into custom apps.
Perform Semantic Find
The Perform Semantic Find script step enables semantic similarity ranking from the data in an app. This allows users to ask for data without needing a precise understanding of what specifically to look for.
Insert Embedding
The Insert Embedding script steps ensure the delivery of embeddings without risking the security or privacy of data within an app. Embedding is used in natural language processing, and is a representation of a ‘point’ in a data set, such as a word or sentence in text, a feature in an image, or a spoken word in an audio file. The representation is created as a vector, which is a sequence of numbers that define the point in a dimensional space. In machine learning, vectors enable similar objects to be found.
AI Calculation Functions
Seven AI calculation functions are available to manage embeddings, determine semantic similarity, build prompts for accuracy, and optimize AI integrations:
- CosineSimilarity: Returns similarity between two embedding vectors as a number between -1 (opposite) and 1 (similar).
- GetEmbedding: Returns a vector representation as container data for input text.
- GetEmbeddingAsFile: Converts an embedding vector from text format to binary container data.
- GetEmbeddingAsText: Does the reverse of the previous function, in that it converts an embedding vector from binary container data to text format.
- GetTableDDL: Returns table information in Data Definition Language (DDL) format for a list of table occurrences written as a JSON array.
- GetTokenCount: Returns the token count for the specified text. A token is a unit of measurement in AI models that is used to describe a set of letters, a word or a group of words. It is used to determine whether a text string is too long for a model to process and is also used by some models to derive the cost of using the model.
- Get(LastStepTokensUsed): Returns the tokens used in the last AI script step.
Configure AI Account
The Configure AI Account script step sets up integrations between your apps and selected models. The user types in an account name, selects a model provider and enters an API key. it is also possible to specify a custom model provider, in which case the user needs to enter the URL for the API endpoint.
Set AI Call Logging
The Set AI Call Logging script step controls the logging of AI calls to help with troubleshooting. If logging is enabled, a log file is written to the Documents folder, if the user is using FileMaker Pro or FileMaker Go, or the Logs folder if a script is being run on the server. The script step has an option that enables verbose logging, which includes the embedding vectors from a model, the number of tokens, the semantic find return count and similarity condition.
App Connections and Integrations
There are some powerful improvements to the way that FileMaker uses APIs, JSON, text in images, and so much more.
Execute FileMaker Data API
The Execute FileMaker Data API script step now supports write operations. As a result, it can create, update, duplicate or delete values. It also now returns relevant error information via the three error-related functions: Get(LastError), Get(LastErrorDetail) and Get(LastErrorLocation).
JSON
Claris FileMaker 2024 introduces two new functions and two syntax improvements relating to JSON.
- The JSONMakeArray function converts a list of values to a JSON array.
- The GetLiveTextAsJSON function (macOS, iOS and iPadOS) extracts text found in an image, in much the same way as the existing GetLiveText function, but returns the result as JSON data.
- “[+]” can be used in the keyOrIndexOrPath parameter in the JSONSetElement function to represent the next element after the end of the current array.
- Similarly, “[:]” can be used in the keyOrIndexOrPath parameter in any of the JSON functions to reference the last element.
Other Enhancements
Some highlights of the many other enhancements in Claris FileMaker 2024 are:
- The Revert Transaction script step is supported by sub-scripts.
- Local notifications are supported in FileMaker Pro; they were previously supported only in FileMaker Go.
- Web viewers in FileMaker Pro support Web Real-Time Communication (WebRTC). This means that developers can add voice and video communication functionality to custom apps.
- The Set Error Logging script step is supported in scripts run through FileMaker WebDirect and FileMaker Data API.
- The OpenQuickly box searches for FileMaker files, layouts and scripts. The user starts typing text in the box and a list of potential matching items is displayed. The user can select an item in the list to open a file or layout, or run or edit a script (depending on the user’s privileges).
- Let’s Encrypt can be used to provide SSL certificates to FileMaker Server. Let’s Encrypt certificates are free and user-friendly.
- All server schedules have been moved into one location in the FileMaker Server Admin Console to make management easier.
Further Information
There is way more packed into the FileMaker 2024 release than can be summarized here. For more details, Claris has a very useful Help Center. The Help Center contains help on all of the key topics relating to Claris FileMaker (Pro, Go, Server and Cloud), Claris Connect and Claris Studio.