GithubHelp home page GithubHelp logo

mrdjohnson / llm-x Goto Github PK

View Code? Open in Web Editor NEW
116.0 5.0 8.0 6.36 MB

LLMX; Easiest 3rd party Local LLM UI for the web!

Home Page: https://mrdjohnson.github.io/llm-x/

License: MIT License

JavaScript 0.66% HTML 0.54% CSS 1.20% TypeScript 97.34% Shell 0.03% Dockerfile 0.23%
automatic1111 chatbot chatgpt mobx ollama ollama-client ollama-ui react typescript automatic1111-ui

llm-x's People

Contributors

dipflip avatar mrdjohnson avatar vicktor61 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

llm-x's Issues

App Auto-Update

Issue: This site is set up as a PWA through the vite-pwa plugin Prompt for update. Unfortunately that means that even if not used as a PWA the user still needs to click the update button that ๐Ÿ˜ฌ

Request: update the PWA if the user is not currently interacting with Ollama (or any future chat agent) on any (inclusive) of the open tabs/apps.

Mid-generation unexpected non-whitespace

Sometimes during generation of a response I get the error below. Have not been able to reproduce it reliably but seems to be more often when generating code.

Unexpected non-whitespace character after JSON at position 132 (line 2 column 1)

SyntaxError: Unexpected non-whitespace character after JSON at position 132 (line 2 column 1)
at JSON.parse (<anonymous>)
at OllmaApi.streamChat (https://localhost:5173/llm-x/src/utils/OllamaApi.ts:46:25)
at async Object.generateMessage (https://localhost:5173/llm-x/src/models/ChatModel.ts:113:24)

image

Images should not be stored in local storage

Problem:

When there are too many images in the local storage, the app has the potential to slow down dramatically, and also run out of space very quickly.

Solutions should be take into consideration that this is a browser only application. There is not any node access available to reach the local file system.

Goals:

  • App continues to allow users to add an image for text-to-image, and to receive images for image-to-text.
  • App should increase the amount of storage space it is able to use
  • App should decrease the potential for a performance: currently while a bot is "speaking" it re-saves all chats, including images

Non-goals:

  • move everything from local storage, this specifically about images
  • move the app to nextjs or electron (probably will need to happen if this app will get bigger, but for now lets see how far we can keep the PWA approach)

Instructions in Readme don't work.

Upon doing yarn install and telling corepack to install yarn 4.1.1, it fails with:

Internal Error: ENOENT: no such file or directory, stat '/workspace/.yarn/releases/yarn-4.1.1.cjs'
Error: ENOENT: no such file or directory, stat '/workspace/.yarn/releases/yarn-4.1.1.cjs'

You can work around this by deleting .yarnrc.yml and manually installing yarn with corepack prepare [email protected] --activate, which will allow yarn install to complete.

However, when you then run yarn dev the following errors appear:

Error: The following dependencies are imported but could not be resolved:

  @langchain/core/messages (imported by /workspace/llm-x/src/utils/OllamaApi.ts)
  @langchain/core/prompts (imported by /workspace/llm-x/src/utils/OllamaApi.ts)
  @langchain/core/output_parsers (imported by /workspace/llm-x/src/utils/OllamaApi.ts)

Are they installed?
    at file:///workspace/llm-x/.yarn/__virtual__/vite-virtual-5ab3b4ee8a/3/root/.yarn/berry/cache/vite-npm-5.1.5-419c18fcfa-10c0.zip/node_modules/vite/dist/node/chunks/dep-G-px366b.js:52303:23
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async file:///workspace/llm-x/.yarn/__virtual__/vite-virtual-5ab3b4ee8a/3/root/.yarn/berry/cache/vite-npm-5.1.5-419c18fcfa-10c0.zip/node_modules/vite/dist/node/chunks/dep-G-px366b.js:51715:38

You can reproduce the first problem with a simplified repro case in docker:

FROM node:22.1.0
RUN corepack enable
WORKDIR /workspace
RUN echo 'yarnPath: .yarn/releases/yarn-4.1.1.cjs' > /workspace/.yarnrc.yml
RUN echo '{ "packageManager": "[email protected]" }' > /workspace/package.json
RUN corepack prepare [email protected] --activate
RUN yarn install

You can reproduce the second problem with the following Dockerfile:

FROM node:22.1.0-alpine3.18@sha256:5a4751fb2e95bb0a0ad5ac1f92fd36076c7337b89667e396dbbabf36fa5b1d6f
RUN apk add --no-cache git
RUN corepack enable

WORKDIR /workspace
RUN git clone https://github.com/mrdjohnson/llm-x.git
WORKDIR /workspace/llm-x
RUN rm .yarnrc .yarnrc.yml
RUN corepack prepare [email protected] --activate
RUN yarn install

ENTRYPOINT [ "yarn", "dev" ]

Roadmap ideas/ help wanted: docker + chrome extension

It would be pretty neat if this app could operate as a chrome extension! I can definitely see it as some kind of side bar

Would be super interesting if this could just be a docker image as well ๐Ÿค” either it will work exactly as it does now, simply as a built project that is a PWA, or it will handle data storage in the docker container itself ๐Ÿค” that could be interesting

"failed to fetch" is not a descriptive error

The http response code should be included in "failed to fetch" pop-up, at least then we'd have a better understanding of what went wrong

Ps....maybe there could be an "error logs" section?

Better import/export/image handling experience

Transferring conversations should:

  • have an option to include/exclude images
  • have a popup describing what is being transferred
  • allow users to transfer via pasting a file or dragging/dropping a file

Importing images should:

  • allow users to import via pasting a file

Spreading the word / Feature requests welcomed!

I dont like seeing an empty issue list so I am adding this one.

If you're like me and you were curious about what issues there were in this project, welcome! Please use the app and find something ๐Ÿ˜†

as of Mar 22, 2024 this project is very active and I'm looking for direction on where to take it!

We cannot take on open-webui due to PWA limitations but we should have feature parity with majority of the Ollama UIs where we can be! If there is a feature request they're very welcomed!

Repo goals: Over take ollama simple ui In popularity ๐Ÿคž

build fails on Windows

On Windows, running npm run dev fails with

> [email protected] dev
> npm run remove-dev-dist && DEBUG=vite-plugin-pwa SW_DEV=true vite --force


> [email protected] remove-dev-dist
> rm -rf dev-dist

'rm' is not recognized as an internal or external command,
operable program or batch file.

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.