Introduction
See the general release-notes document for links to release notes for other recent releases and the current release.
This document contains all changes in version 8.2.1 as well as changes in release 8.2.0 (releases where the change is in the third place contain either bug fixes or improvements to an existing feature; there are no significant new features.)
Change History repeats the list of user-visible modifications for this release and includes similar lists for all earlier releases.
Release 8.2.1
This minor release with fixes and optimizations and some new features.
A list of all significant user-visible changes is below.
This document includes the 8.2.0 release notes as well.
Release 8.2.0
This is a major release with significant new features, as well as other improvements and bug fixes. These changes include:
Enhancements to Chatbot support: RAG with feedback is now supported. RAG with feedback incorporates information garnered during interaction with the Chatbot into the knowledgebase. See LLM chatState Magic Predicate Details for further information and an example.
New AGWebView supports more Chatbot features with a graphical interface. Embedding was already supported. Now splitting text is as well; see Using WebView to split text in the LLM Split document. See here in the [NewWebView] document for a discussion of LLM support in New WebView.
AllegroGraph connects with several Business Intelligence Dashboards See the Business Intelligence Examples document.
- Certain magic predicates now accept keyword arguments in place of optional arguments. The three magic predicates llm:nearestNeighbor, llm:askMyDocuments and llm:chatState accept keyword arguments as well as optional arguments. These predicates have many optional arguments so all have to be specified if the last one is needed, but using the keyword format allows simpler calls as just the needed arguments must be specified. See the Keyword Syntax for Magic Predicates document.
A list of all significant user-visible changes is below.
Database internal format is unchanged from version the previous version
This applies to versions 8.2.0 and 8.2.1.
Release 6.4.6 had a different internal format. All releases since then have the same internal format. This means version 6.5.0 through 8.1.x repositories can be directly loaded into versions 8.2.0/8.2.1 without upgrading and 8.2.0 repositories can be loaded into 8.2.1. Note that backing up repositories before loading them into a new version is always recommended. Once a database has been used in a later release, it cannot be used in an earlier release regardless of whether or not the database format is the same. Upgrading is discussed in the Repository Upgrading document.
Version 8.2.0/8.2.1 Admin notes
- Logins with tokens. Users can login with tokens as well as passwords. A user can create a token which may be time limited and may be revoked at any time. Tokens are useful for granting temporary access to a user account without revealing the user's password. See the discussion of agtool tokens. Users who log in with tokens lack certaing administrative abilities available to users who login with passwords (for example, they cannot create a new token, change the user password, or delete the user).
There are no additional admin notes for release 8.2.0.
Version 8.2.0/8.2.1 Programmer notes
There are no programmer nore for release 8.2.1.
Version 8.2.0 Programmer notes
- As noted above, certain magic predicate calls can use keyword arguments rather than optional arguments. This change is not required but may be convenient. Note that calls using keyword style arguments cannot be used in earlier releases.
User-visible changes version 8.2.1
AllegroGraph Server: General Changes
Problem with restoring settings fixed
agtool archive restore-all could fail to restore settings in some cases. This has been fixed. See the agtool document for information on using agtool for backing up and restoring.
HTTP Client
AG-1035 - /repositories/NAME/add-object will commit
On a shared backend adding an object will commit immediately after the object is added.
SPARQL
No significant changes.
AGWebView
No significant changes.
LLM support
AG-1050 - Additional embedding models available
The text-embedding-3-large
and text-embedding-3-small
embedding models have been added to the openai
embedder (in addition to the already supported text-embedding-ada-002
). See the section Lineparse Items in specification file in the Embedding Knowledge in a Vector Database document for more information.
The ask-my-documents function now handles all unicode
Because of an issue with OpenAI's handling of non-ASCII characters, the ask-my-documents function stripped all non-ASCII unicode characters from text, preventing, for example, processing Japanese language queries. The OpenAI issue has been fixed, and ask-my-documents now handles non-ASCII unicode.
ask-my-documents would improperly return results when it should not
Rather than responding "Sorry, I am unable to respond based on the documents provided.", apparently valid results would be returned for some queries. This has been fixed.
agtool
AG-1022 - restore-all from a relative filename to a remote server
agtool archive restore-all backup-directory user:pwd@host:port
This would not restore the settings directory if the backup-directory was was located by a relative filename and the server was accessed via HTTP/HTTPS and not a direct lisp interface. This has been fixed.
Changes to the Lisp API
No significant changes.
Prolog
No significant changes.
Documentation
No significant changes.
Distributed AllegroGraph
No significant changes.
User-visible changes version 8.2.0
AllegroGraph Server: General Changes
AG-802 - allow creating triples at JSO tree leaves in load-transform
It is now possible to create load-transform triples with subjects made from the leaf values in the JSON tree. For example, given the document
{ "name": "Jack", "location": "Boston" }
transform rules
location=http://example.org/cities/${location}
rdf:location.type=http://example.org/types/City
will create two triples
_:b0 <http://example.org/location> <http://example.org/cities/Boston>
<http://example.org/cities/Boston> rdf:type <http://example.org/types/City>
Before this change, the second triple would be missing.
AG-840 - do not abort load-transform operation on JSON key lookup failures
Loading JSON documents using transform rules used to signal errors when a transform template contained keys that were missing in the objects being processed. This made it hard to load documents which contained sets of non-uniform objects (e.g. objects with optional fields etc), so this has been changed to silently skip the failed rules instead.
HTTP Client
No significant changes.
SPARQL
AG-817 - new :
/kw:
default abbreviations for the keyword namespace
New default namespaces abbreviations :
and kw:
have been added, pointing to the keyword
namespace (http://franz.com/ns/keyword#
). This makes it more convenient to use named arguments for magic properties. Since default namespace abbreviations have the lowest priority level, this change will not interfere with any user-defined abbreviations. To accomodate this, the default prefix for the virtual alias
namespace has been changed from :
to alias:
. See Keyword Syntax for Magic Predicates for more information.
AGWebView
AG-401 - Move the "Shutdown repository instance" button in the Repository Control page
Before 8.2.0, in New WebView the "Shutdown repository instance" button was part of the "Archive" group in the Repository Control page. Now, it's lifted outside of the group to the top level, to the bottom of the list.
AG-784 - fix missing language after visiting a query link
This change fixes a bug where the language of a query is not set when users navigate to a query link.
AG-783 - fix downloading of prolog query results
Fixed an error on downloading Prolog query results from WebView (both traditional and new).
AG-397 - implement "rename" and "save as" options for queries
Before 8.2.0, in New Webview users could only delete a saved query. Now, they can rename a query or save it as a new query.
AG-821 - web UI for agtool llm split
- Implement a new page for
agtool llm split
functionality. Users can fill in the split config in UI and upload a file to split in the browser. - Introduced property fields in the "Create LLM Embedding" page.
AG-804 - Chatbots configuration creation/copying/editing/deletion
Introduced new features for enhanced Chatbot management:
- Added new pages for creating, deleting, and duplicating chatbot configurations.
- Implemented editing of existing Chatbot configurations.
AG-805 - a new "Chat Bot" type in query tabs
Introduced a new "Chat bot" query tab:
- Interact with your previously created Chatbot configurations directly from the Query page.
- Access this feature from the dropdown menu next to the "NEW QUERY" button, where you can also create a new "ChatStream" query tab.
AG-873 - a new scope to save queries across all repositories for a user
There were 2 scopes for saving queries:
- User query. The saved query is available for the current user and only in the current repo.
- Repo query. The saved query is available for any user and only in the current repo.
This change introduces the 3rd type. It's "User query for all repositories". The saved query is available for the current user in any repository.
AG-876 - add new fields for saved queries and search over them
- Added functionality for users to fill in "Author" and "Description" fields for a saved query. The system now automatically adds a "Saved at" field (representing the timestamp of the last save) and an "Editors" field (an array of users who have saved the query).
- Implemented search functionality for "Author", "Editors", and "Saved At" fields.
- Introduced checkboxes to control the visibility of new fields in saved queries. By default, all new fields are hidden.
- Fixed a bug causing incorrect redirects when saving a query. This issue occurred when multiple query tabs were open and a user attempted to save a non-first query tab.
agtool
AG-897: jsonl
input format support for agtool load
AllegroGraph's load-transform functionality supports both JSON and JSONLines formats, and it should be possible to specify either json
or jsonl
as the value for the --input
argument, but the handling of the jsonl
value was broken and agtool load
would fallback to the regular JSON parser, which would only parse the first JSON object and skip the rest. This has been fixed and
agtool load --input jsonl ...
now works as described in the documentation.
The workaround for older AllegroGraph releases is to use --input guess
(or just skip the --input
argument) to let agtool load
guess the format based on the file extension (.jsonl
).
AG-895: lineparse section header for embedding is now "embed"
The "agtool llm index .." command computes and stores embeddings in a vector database based on a lineparse file of directives. The lineparse file used to begin with a section heading of "gpt" but now that section header is "embed" to better describe the purpose of the directives.
The old section header name "gpt" will still work as before however one is advised to update it to "embed".
See the LLM embed practical example.
Changes to the Lisp API
Two additional vector triple store functions were added: vector-store-object-embedding and convert-to-vector-triple-store
Prolog
No significant changes.
Documentation
No significant changes beyond documentation of new features and expanded New WebView documentation.
Distributed AllegroGraph
No significant changes.
User-visible changes in earlier releases and the current release
See the general release-notes document for links to release notes for other recent releases and the current release. See Change History for user-visible changes to all earlier releases.