Comments (17)
Fantastic, thank you. That's a fast pace!
from dalai.
fixed in PR #39
from dalai.
I don't see anywhere in your change where you escape shell input. I'd much prefer if the prompt was in a file instead
from dalai.
after the change in textarea and the responses encapsulate them in "
" I am not having problems with the escaped characters:
from dalai.
@bernatvadell There is no way your change made a difference. Try with a single-quote to get it to obviously not work. If you end up closing the quote it does work, sure but try to put anything special like $, `, ", <, etc... it does NOT work and gets passed as is to bash.
from dalai.
If you need a description, $(ls) ended up just running and the output of ls got sent to the model. This is not what should happen under any circumstances...
from dalai.
IMHO the most proper way to get around this is to put the prompt in some temp file and have the model read from it (using LLAMA's -f). I recommend against trying to escape because there will always be edge cases you will miss and it might be a hit or miss across different shells, OSes, etc... putting it in a file is a universal fix so to speak
from dalai.
I think we should use the "args" to be able to correctly escape the input.
from dalai.
@bernatvadell Yes that would be ideal, no idea why it is spawning in a shell...
from dalai.
I imagine it would be possible to import the llama.cpp project as a library, I haven't looked into it, and right now, as far as I know, it's published as a console program.
from dalai.
Finally, I have needed to escape the characters, the ones that I have verified that give problems are these:
The change is in the TypeScript PR #44
from dalai.
Why do you escape when you could just call exec directly? You don't need to exec it in a shell ..
from dalai.
Why do you escape when you could just call exec directly? You don't need to exec it in a shell ..
Originally it was like this, I'm going to try what you say.
from dalai.
Anyway this proposal makes me a bit uneasy because in different shells you need to escape different things. For example if user was using fish, then (ls)
would execute also. Best solution IMO is to just put the prompt in a file or use whatever the programming language offers to execute a program without relying on a shell (while allowing you to define arguments as an array of strings of course)
Edit: also if this was a Windows user then none of your escaping would be relevant.
from dalai.
Atm we're forcing to use powershell or bash:
from dalai.
Is executing it in a shell still needed? I think you could call node's spawn directly now.
from dalai.
it works quite well.
Now directly spawns the process, the arguments do not need to be sanitized manually.
the prompt is stored in a temporary file.
You can change default directory to store temporal prompts:
this.tempPromptsPath =
process.env.TEMP_PROMPTS_PATH ?? path.resolve(os.tmpdir(), "prompt-tmp");
from dalai.
Related Issues (20)
- "npx dalai llama install 7B" fails with "./quantize : The term './quantize' is not recognized" HOT 1
- Dalai server doesn't start without internet connection HOT 1
- Possible solution for Windows users - LLama not working. HOT 4
- Low CPU, Low Memory, Low GPU usage via Docker HOT 3
- Typo in README.md HOT 1
- llama_model_load: loading model issue in Docker HOT 5
- Docker compose never responds HOT 5
- [EndeavorOS] model hangs
- can't install HOT 7
- any way this can run Falcon?
- silent fail in llama/main HOT 1
- Support for Llama-2? HOT 4
- Error installing llama using docker compose (logs attached) HOT 1
- Alpaca doesn't respond HOT 1
- boucle inf on javascript call to Dalai
- Does not work on Windows 11 or Linux Mint Cinnamon HOT 1
- llama 7B is talking jibberish. Does not respond intelligently to my command.
- On Mac OS, I got this error
- On Mac, Alpaca is stuck. Did I uninstall correctly?
- Models repository HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dalai.