Replies: 2 comments
-
I've been researching using Perl for calculating sentence embedding vectors, but have not found anything that seems promising. It looks like we might have to calculate the sentence embedding vectors outside of LSMB using Python. I know, yuck. The general process is described here. If anyone knowns of any perl alternatives, please add them to the discussion. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
LSMB Help Proposal
This document proposes embedding all help and documentation into a running LSMB system for both users and developers using various parts of LLM (large language models), AI (artificial intelligence) and NLP (natural language processing).
When someone needs to know something, instead of trying to figure where to find the answer, this proposal puts all of the answers in a defined location using a focused ChatGPT like search and response process that does not access any external servers.
Why?
Overview
The help subsystem will be comprised of both User and Developer help.
Design
User help
Screen based help will be available via an icon or multiple icons on a screen. When the user click on the icon the help will be loaded from the database and shown in a pop-up. If the database help text contains image links, they will also be loaded.
The screen based help will be developed either specifically for the help system or moved from the book, and stored in the database help table. For an example help table, see below.
Where screen fields directly match database fields, the help can be loaded from the database column comments. If necessary, the database column comments can contain both user and developer comments. The database column comment can be annotated so the appropriate text is used.
Translations will be exported from the database, updated, then imported back into the database.
User help will be available for both
login.pl
andsetup.pl
While some help may need to be loaded into the help table via a configuration file, it is anticipated that a view will, if necessary, add or update its own help in help table when it is initialized. That way help can updated when any changes are made to the view simply by including the new help in the view code.
Now one might wonder why use the help table at all? Good question. The answer is that the help table is needed for the ChatGPT like search functionality.
In my own code I am not yet using a LLM, so I maintain vectorized search strings separate from vectorized response text. Some more research or someone more knowledgable is needed here. If that is needed then the help table example below will change.
Developer help
Developer help will make available all text that is in perl files (perldoc), database comments, etc. via a ChatGPT like (question & answer) interface. Essentially any text that can be scanned in the code base.
The only difference between User help and Developer help is the depth of content.
All developer help will come from scanning developer generated files. No manual help writing will be used. As such, it is not expected to significantly increase the LSMB download size.
Technical Requirements
With any enhancement there is the need to evaluate added dependencies. The following dependencies are envisioned.
Screen based help may need the following:
Text::Markdown
- Certainly HTML or LaTeX help could be used, but most non-UI developers are more comfortable with Markdown.Searchable based help may need the following:
pgvector
extension. For storing and searching sentence embedding vectors.Lingua::*
. For processing and creating sentence vectors?Text::Sentence
. For processing and creating sentence vectors?Algorithm::NaiveBayes
. For processing and creating sentence vectors?Questions
Template::Toolkit
for the conversion. Which while already used in LSMB is complicated and not straightforward for most developers.Text::Markdown
for the conversion. Which makes the source easier to understand.Consequences
Step to implementation
Technical Notes
The following is only provided to enhance understanding of this proposal.
Beta Was this translation helpful? Give feedback.
All reactions