Hi all! Hope you enjoyed the study group. There were a few lingering survey responses that I wanted to address here, as promised.
Please cover some methods to use personal reference documents in formats other than ASCII text with LLM functions. For example, create an LLM function to summarizes a collection of PDF files located in a specified directory. Another item would be a way direct an LLM function to synthesize its response based on a specified collection of documents in common document formats, (i.e XLSX, PDF, CSV, ODT, etc)
Today's discussion of LLMGraph hopefully provided some helpful insight for this question, but I also want to note that in my particular graph, I used Wolfram Language to grab only the PDF files, but WL can import basically any kind of thing you're interested in.
You can see all available Import formats by running:
$ImportFormats
Depending on what you're importing, it will often be useful when feeding it to an LLM to format it as markdown text. Remember that you can do this by calling this resource function:
ResourceFunction["ExportMarkdownString"]
As an applied mathematician with a background in signal processing, simulation, project management,, and Protege Ontology , I hope to learn enough to experiment with Agentic simulation of simple organizational governance policies via interacting Wolfram LLMFunctions—"coordinated" via ontologies . Is that hopelessly overly ambitious for a newcomer. to the Wolfram environment? My goal is to do some applied category theory work in the area of semiotics and the dynamics of organizational evolution. I hope that aim does not sound too abstract.
As someone trained as a physicist, I can't say I have a full grasp of every part of the goal here, but I don't think it should be beyond your grasp even as a newcomer. You've seen how to combine WL with LLMs in a rather arbitrary way, now, so if you have any questions about "how can I do XYZ with WL?" you can always feel free to ask.
Using 100s of documents along with a prompt. Anyway to make this efficient, so documents aren't processed by AI engine over again for each prompt.
The naive method that I used in today's lecture (LLMGraph with a "ListableLLMFunction" is probably not extensible to hundreds of documents, but my understanding is that you should be able to manage this without much issue with semantic search indices and vector databases. Gay Wilson from Wolfram has written up a short example workflow here.
There were a good number of questions about running local models, as well. This is not something I'm very familiar with, but maybe this notebook from Daniel—also here at Wolfram—can function as a jumping off point.
I have in mind a "projection" from all the extensive Mathematica Documentation, as well as Community threads --- a large corpus to be filtered and structured against personal technological experience and personal objectives, suitably described. It sounds like a tall but fascinating order, which I would imagine pursuing incrementally. What do you think?
This is basically Notebook Assistant—it has access to the full Wolfram documentation system, but also many of our repositories. I believe that we're working on adding Wolfram U notebooks and information from Community as well. It's maybe not quite as personal, but I'm not sure how we'd really objectively evaluate and thus implement that.
I would appreciate a bit of guidance on how to use the very powerful graphical features that you showed, which present visualizations of the flow of computation. I believe that these would help me to explore, and get a better grasp of, the basic Transformer architecture -- which is beyond the scope of this Study Group.
I recommend checking out our What is ChatGPT Doing... and Why Does It Work? study group. This series is based heavily on Stephen Wolfram's blog post (which was made into a book) and was adapted and delivered by yours truly.
There was also a series of questions about LLMTool that gets the implementation a bit backward, so I wanted to use those questions to offer some clarity.
How can an LLMTool be directed to use a model that is on the local machine or hosted on a local server?
Can an LLMTool be directed to use multiple models simultaneously?
Can an LLMTool specify a collection of documents in a specific directory for the model to use when preparing the response ? If so, what are the issues with respect to OCR and various file formats?
It's models that use tools, not vice versa. Models with access to tools will "decide" based on the context of their token generation given some input that it's time to feed some portion of their tokens as textual input to a tool. The tool does whatever computation it was meant to do, then provides the results back as a string to the model. The model then tokenizes that string and can use it as part of its "input" for generating future tokens.