mrdjohnson / llm-x Goto Github PK
View Code? Open in Web Editor NEWLLMX; Easiest 3rd party Local LLM UI for the web!
Home Page: https://mrdjohnson.github.io/llm-x/
License: MIT License
LLMX; Easiest 3rd party Local LLM UI for the web!
Home Page: https://mrdjohnson.github.io/llm-x/
License: MIT License
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.
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)
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.
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" ]
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
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?
Transferring conversations should:
Importing images should:
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 ๐ค
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.