Coder Social home page Coder Social logo

autobooga's Introduction

Autobooga

THIS EXTENSION IS NOT SUPPORTED ANYMORE!

I'm just fed up with basically every other update to oobabooga's TextGenerationWebui breaking the extension API, and simple technical questions resulting in bans from Discord and the Subreddit. I still mails about issues, and I'll try to at least point you in the correct direction to solve the problems which will definitely creep up increasingly over time, but no guarantee of anything. Your best bet if you want to use the functionality of this extension is to fork it and make it your own. Cheers.

Acknowledgment :

thanks to

  • Sascha Endlicher of Panomity GmbH for releasing MegaSearch for Oobabooga and indirectly making me write this. Part of the Autobooga code (the Searx search) is heavily based off Megasearch's code.
  • The InvokeAI user Gille, who actually tried to use this extension and found way too many bugs I really should have caught.

What's new :

  • Upload file button added

What it does :

Autobooga is just a simple extension for oobabooga that gives LLMs the ability to call a SEARX search engine and to read URLs, Files ... and a clock.

The Date and Time

are added at the start of each prompt in the Format : "It's 12:00 on Friday February, 1 April 2026."

Files

can be opened by using those key (case insensitive) sentences :

  • open the file
  • read the file
  • get the file

followed by a path enclosed in quotes (either " or ' work). Text files and PDFs are supported. Note that the content is still subjected to "maximum token extracted" settings.

If the file can not be opened for some reason, the LLM should tell you that. Honestly, it's hit and miss. Sometimes it will just hallucinate content.

Some examples

  • Please open the file "c:\What I Did Last Xmas.txt" and write a song about it.
  • Open the file '/home/kermit/Documents/Love Letters By Miss Piggy.pdf'

OR by using the file upload button in the Autobooga panel.

Internet searches

are generally triggered by the user, by using one of the

following (case insensitive) key phrases :

  • search the internet for information on
  • search the internet for information about
  • search for information about
  • search for information on
  • search for
  • I need more information on
  • search the internet for
  • can you provide me with more specific details on
  • what can you find out about
  • what information can you find out about
  • what can you find out on
  • what information can you find out on
  • what can you tell me about
  • what do you know about
  • ask the search engine on
  • ask the search engine about

If the LLM uses any of them it triggers a search itself. In my experience this doesn't happen very often sadly.

The search is performed by calling a SEARX-NG instance (https://github.com/searxng). The extension adds glimpses of the first five hits to the user prompt and marks them as internet search results. If you have a raspberry-pi or similar lying around or a server with a bit of free space/bandwidth it's worth thinking about installing SEARX-NG on it and to use that for your LLM.

URL Retrieval

are triggered only by the user right now. As soon as there is a full URL (including http/https protocol) in the prompt the first 1000 words of the page behind the URL are retrieved. The model still receives the whole prompt. If the prompt was only the URL a "summarize this page" is added at the end.

How models perform :

This extension was found to work well with 13B models and especially well with 30B models. Uncensored models seem to perform better than guardrailed ones, and the higher the context limit the better.

On a RTX3090/24GB the models that performed best for me (very subjective and not representative opinion) were :

  • TheBloke_WizardLM-Uncensored-SuperCOT-StoryTelling-30B-GPTQ
  • TheBloke_orca_mini_v2_13b-GPTQ

I'm still unsure what's most important for this extension : more context or better model, so decide yourself. It's really a subjective matter. 30B models are great at summarizing pages writen in languages or even symbols you don't understand, and big context let you ask more questions and go deeper into understanding pages and results. It's a trade-off (unless you have tons of VRAM to spare)

Requirements :

Obviously Oobabooga, and as much VRAM as you can, as context-limit is king. You also need to be able to access a Searx instance with support for json output. You can find a list of public instances here : https://searx.space/ .

The extension uses these packages : requests beautifulsoup4 summarizer datetime re PyPDF2

So nothing horrible that will break your system.

Installation :

  • Check out this repo into {YOUR OOBABOOGA INSTALLATION DIRECTORY}/extensions
  • Enter the oogabooga virtual environment if you have one and execute pip install -r requirements.txt to install missing modules.
  • Either add the extension on startup with --extension autobooga or check it in the interface panel
  • modify the settings in the Autobooga Accordeon panel in the UI

You're set.

Just one last thing ...

DON'T TRUST THE LLM!!!

I mean it! While the models I tried did a terrific job at summarizing stuff they retrieve they can still hallucinate heavily. 13B models and lower are especially prone at ignoring what they read (I had a 7B model actually complaining that its completely fabricated story hadn't made a bigger splash in the news) and even 30B models are not safe from extrapolating "facts" from random elements on the page. Always double check if you can, and if you can't then use with extreme caution!

DON'T TRUST THE LLM!!!

Yes. that was on purpose and not an accidental copy and paste.

THE WOKE PART ...

Anyway ... have fun and enjoy the fact that we live in the future with AI, Electric Cars, VR, and a global climatic catastrophe just right around the corner. Also, remember that you probably use up less energy running LLMs at home on your gaming rig than if you used ChatGPT, Bing or Bard all the time. (and probably still less than if you played Cyberpunk2077 or any other graphically challenging game)!

autobooga's People

Contributors

sammyf avatar bigsk1 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.