mirror of
https://github.com/nomic-ai/gpt4all.git
synced 2025-09-08 11:58:53 +00:00
nodejs bindings (#602)
* chore: boilerplate, refactor in future * chore: boilerplate * feat: can compile succesfully * document .gyp file * add src, test and fix gyp * progress on prompting and some helper methods * add destructor and basic prompting work, prepare download function * download function done * download function edits and adding documentation * fix bindings memory issue and add tests and specs * add more documentation and readme * add npmignore * Update README.md Signed-off-by: Jacob Nguyen <76754747+jacoobes@users.noreply.github.com> * Update package.json - redundant scripts Signed-off-by: Jacob Nguyen <76754747+jacoobes@users.noreply.github.com> --------- Signed-off-by: Jacob Nguyen <76754747+jacoobes@users.noreply.github.com>
This commit is contained in:
@@ -1,4 +1,56 @@
|
||||
### Javascript Bindings
|
||||
The original [GPT4All typescript bindings](https://github.com/nomic-ai/gpt4all-ts) are now out of date.
|
||||
|
||||
The GPT4All community is looking for help in implemented a new set of bindings based on the C backend found [here](https://github.com/nomic-ai/gpt4all/tree/main/gpt4all-backend).
|
||||
- created by [jacoobes](https://github.com/jacoobes) and [nomic ai](https://home.nomic.ai) :D, for all to use.
|
||||
- will maintain this repository when possible, new feature requests will be handled through nomic
|
||||
|
||||
### Build Instructions
|
||||
|
||||
- As of 05/21/2023, Tested on windows (MSVC) only. (somehow got it to work on MSVC 🤯)
|
||||
- binding.gyp is compile config
|
||||
|
||||
### Requirements
|
||||
- git
|
||||
- [node.js >= 18.0.0](https://nodejs.org/en)
|
||||
- [yarn](https://yarnpkg.com/)
|
||||
- [node-gyp](https://github.com/nodejs/node-gyp)
|
||||
- all of its requirements.
|
||||
|
||||
### Build
|
||||
```sh
|
||||
git clone https://github.com/nomic-ai/gpt4all.git
|
||||
cd gpt4all-bindings/typescript
|
||||
```
|
||||
- The below shell commands assume the current working directory is `typescript`.
|
||||
|
||||
- To Build and Rebuild:
|
||||
```sh
|
||||
yarn
|
||||
```
|
||||
- llama.cpp git submodule for gpt4all can be possibly absent. If this is the case, make sure to run in llama.cpp parent directory
|
||||
```sh
|
||||
git submodule update --init --depth 1 --recursive`
|
||||
```
|
||||
### Test
|
||||
```sh
|
||||
yarn test
|
||||
```
|
||||
### Source Overview
|
||||
|
||||
#### src/
|
||||
- Extra functions to help aid devex
|
||||
- Typings for the native node addon
|
||||
- the javascript interface
|
||||
|
||||
#### test/
|
||||
- simple unit testings for some functions exported.
|
||||
- more advanced ai testing is not handled
|
||||
|
||||
#### spec/
|
||||
- Average look and feel of the api
|
||||
- Should work assuming a model is installed locally in working directory
|
||||
|
||||
#### index.cc
|
||||
- The bridge between nodejs and c. Where the bindings are.
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user