Spaces:
Runtime error
Runtime error
matt HOFFNER
commited on
Commit
β’
36355a5
1
Parent(s):
a942b58
cleanup
Browse files- package-lock.json +122 -4
- src/components/ChatWindow.jsx +7 -6
- src/components/Loader.jsx +10 -23
- src/components/MessageList.jsx +9 -8
- src/pages/_app.tsx +1 -0
- src/styles.css +9 -0
package-lock.json
CHANGED
@@ -15,8 +15,6 @@
|
|
15 |
"@types/react": "18.2.6",
|
16 |
"@types/react-dom": "18.2.4",
|
17 |
"@xenova/transformers": "^2.1.1",
|
18 |
-
"chromadb": "^1.5.2",
|
19 |
-
"cohere-ai": "^5.1.0",
|
20 |
"dexie": "^3.2.4",
|
21 |
"eslint": "8.40.0",
|
22 |
"eslint-config-next": "13.4.2",
|
@@ -1691,6 +1689,20 @@
|
|
1691 |
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
1692 |
}
|
1693 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1694 |
"node_modules/aproba": {
|
1695 |
"version": "2.0.0",
|
1696 |
"resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
|
@@ -2207,6 +2219,47 @@
|
|
2207 |
"url": "https://github.com/chalk/chalk?sponsor=1"
|
2208 |
}
|
2209 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2210 |
"node_modules/chownr": {
|
2211 |
"version": "1.1.4",
|
2212 |
"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
|
@@ -2215,7 +2268,9 @@
|
|
2215 |
"node_modules/chromadb": {
|
2216 |
"version": "1.5.2",
|
2217 |
"resolved": "https://registry.npmjs.org/chromadb/-/chromadb-1.5.2.tgz",
|
2218 |
-
"integrity": "sha512-x/rOD7Oo1RiYA+vPK+Ma7CliCHlx26OjUt5J7Z9HZ5Ud1qDrPlvctBycK9Il3zqza96yeUoPQ7gCXHVKNoyvRQ=="
|
|
|
|
|
2219 |
},
|
2220 |
"node_modules/client-only": {
|
2221 |
"version": "0.0.1",
|
@@ -2225,7 +2280,9 @@
|
|
2225 |
"node_modules/cohere-ai": {
|
2226 |
"version": "5.1.0",
|
2227 |
"resolved": "https://registry.npmjs.org/cohere-ai/-/cohere-ai-5.1.0.tgz",
|
2228 |
-
"integrity": "sha512-7q3z3w6GSoPxQqRL9G6QTaQ0e513auVE1JlNDnqnoFEXGtDbkVfaTOliR5qrMoK//74Csb0NW669evqngwPx3g=="
|
|
|
|
|
2229 |
},
|
2230 |
"node_modules/color": {
|
2231 |
"version": "4.2.3",
|
@@ -3875,6 +3932,13 @@
|
|
3875 |
"node": ">= 4"
|
3876 |
}
|
3877 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3878 |
"node_modules/import-fresh": {
|
3879 |
"version": "3.3.0",
|
3880 |
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
|
@@ -3979,6 +4043,19 @@
|
|
3979 |
"url": "https://github.com/sponsors/ljharb"
|
3980 |
}
|
3981 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3982 |
"node_modules/is-boolean-object": {
|
3983 |
"version": "1.1.2",
|
3984 |
"resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
|
@@ -5075,6 +5152,16 @@
|
|
5075 |
"node": ">=6"
|
5076 |
}
|
5077 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5078 |
"node_modules/normalize-range": {
|
5079 |
"version": "0.1.2",
|
5080 |
"resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
|
@@ -5818,6 +5905,19 @@
|
|
5818 |
"node": ">= 6"
|
5819 |
}
|
5820 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5821 |
"node_modules/regenerator-runtime": {
|
5822 |
"version": "0.13.11",
|
5823 |
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
|
@@ -6129,6 +6229,24 @@
|
|
6129 |
"url": "https://github.com/sponsors/ljharb"
|
6130 |
}
|
6131 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6132 |
"node_modules/scheduler": {
|
6133 |
"version": "0.23.0",
|
6134 |
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
|
|
|
15 |
"@types/react": "18.2.6",
|
16 |
"@types/react-dom": "18.2.4",
|
17 |
"@xenova/transformers": "^2.1.1",
|
|
|
|
|
18 |
"dexie": "^3.2.4",
|
19 |
"eslint": "8.40.0",
|
20 |
"eslint-config-next": "13.4.2",
|
|
|
1689 |
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
1690 |
}
|
1691 |
},
|
1692 |
+
"node_modules/anymatch": {
|
1693 |
+
"version": "3.1.3",
|
1694 |
+
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
|
1695 |
+
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
|
1696 |
+
"optional": true,
|
1697 |
+
"peer": true,
|
1698 |
+
"dependencies": {
|
1699 |
+
"normalize-path": "^3.0.0",
|
1700 |
+
"picomatch": "^2.0.4"
|
1701 |
+
},
|
1702 |
+
"engines": {
|
1703 |
+
"node": ">= 8"
|
1704 |
+
}
|
1705 |
+
},
|
1706 |
"node_modules/aproba": {
|
1707 |
"version": "2.0.0",
|
1708 |
"resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
|
|
|
2219 |
"url": "https://github.com/chalk/chalk?sponsor=1"
|
2220 |
}
|
2221 |
},
|
2222 |
+
"node_modules/chokidar": {
|
2223 |
+
"version": "3.5.3",
|
2224 |
+
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
|
2225 |
+
"integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
|
2226 |
+
"funding": [
|
2227 |
+
{
|
2228 |
+
"type": "individual",
|
2229 |
+
"url": "https://paulmillr.com/funding/"
|
2230 |
+
}
|
2231 |
+
],
|
2232 |
+
"optional": true,
|
2233 |
+
"peer": true,
|
2234 |
+
"dependencies": {
|
2235 |
+
"anymatch": "~3.1.2",
|
2236 |
+
"braces": "~3.0.2",
|
2237 |
+
"glob-parent": "~5.1.2",
|
2238 |
+
"is-binary-path": "~2.1.0",
|
2239 |
+
"is-glob": "~4.0.1",
|
2240 |
+
"normalize-path": "~3.0.0",
|
2241 |
+
"readdirp": "~3.6.0"
|
2242 |
+
},
|
2243 |
+
"engines": {
|
2244 |
+
"node": ">= 8.10.0"
|
2245 |
+
},
|
2246 |
+
"optionalDependencies": {
|
2247 |
+
"fsevents": "~2.3.2"
|
2248 |
+
}
|
2249 |
+
},
|
2250 |
+
"node_modules/chokidar/node_modules/glob-parent": {
|
2251 |
+
"version": "5.1.2",
|
2252 |
+
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
|
2253 |
+
"integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
|
2254 |
+
"optional": true,
|
2255 |
+
"peer": true,
|
2256 |
+
"dependencies": {
|
2257 |
+
"is-glob": "^4.0.1"
|
2258 |
+
},
|
2259 |
+
"engines": {
|
2260 |
+
"node": ">= 6"
|
2261 |
+
}
|
2262 |
+
},
|
2263 |
"node_modules/chownr": {
|
2264 |
"version": "1.1.4",
|
2265 |
"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
|
|
|
2268 |
"node_modules/chromadb": {
|
2269 |
"version": "1.5.2",
|
2270 |
"resolved": "https://registry.npmjs.org/chromadb/-/chromadb-1.5.2.tgz",
|
2271 |
+
"integrity": "sha512-x/rOD7Oo1RiYA+vPK+Ma7CliCHlx26OjUt5J7Z9HZ5Ud1qDrPlvctBycK9Il3zqza96yeUoPQ7gCXHVKNoyvRQ==",
|
2272 |
+
"optional": true,
|
2273 |
+
"peer": true
|
2274 |
},
|
2275 |
"node_modules/client-only": {
|
2276 |
"version": "0.0.1",
|
|
|
2280 |
"node_modules/cohere-ai": {
|
2281 |
"version": "5.1.0",
|
2282 |
"resolved": "https://registry.npmjs.org/cohere-ai/-/cohere-ai-5.1.0.tgz",
|
2283 |
+
"integrity": "sha512-7q3z3w6GSoPxQqRL9G6QTaQ0e513auVE1JlNDnqnoFEXGtDbkVfaTOliR5qrMoK//74Csb0NW669evqngwPx3g==",
|
2284 |
+
"optional": true,
|
2285 |
+
"peer": true
|
2286 |
},
|
2287 |
"node_modules/color": {
|
2288 |
"version": "4.2.3",
|
|
|
3932 |
"node": ">= 4"
|
3933 |
}
|
3934 |
},
|
3935 |
+
"node_modules/immutable": {
|
3936 |
+
"version": "4.3.0",
|
3937 |
+
"resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz",
|
3938 |
+
"integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==",
|
3939 |
+
"optional": true,
|
3940 |
+
"peer": true
|
3941 |
+
},
|
3942 |
"node_modules/import-fresh": {
|
3943 |
"version": "3.3.0",
|
3944 |
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
|
|
|
4043 |
"url": "https://github.com/sponsors/ljharb"
|
4044 |
}
|
4045 |
},
|
4046 |
+
"node_modules/is-binary-path": {
|
4047 |
+
"version": "2.1.0",
|
4048 |
+
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
|
4049 |
+
"integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
|
4050 |
+
"optional": true,
|
4051 |
+
"peer": true,
|
4052 |
+
"dependencies": {
|
4053 |
+
"binary-extensions": "^2.0.0"
|
4054 |
+
},
|
4055 |
+
"engines": {
|
4056 |
+
"node": ">=8"
|
4057 |
+
}
|
4058 |
+
},
|
4059 |
"node_modules/is-boolean-object": {
|
4060 |
"version": "1.1.2",
|
4061 |
"resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
|
|
|
5152 |
"node": ">=6"
|
5153 |
}
|
5154 |
},
|
5155 |
+
"node_modules/normalize-path": {
|
5156 |
+
"version": "3.0.0",
|
5157 |
+
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
|
5158 |
+
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
|
5159 |
+
"optional": true,
|
5160 |
+
"peer": true,
|
5161 |
+
"engines": {
|
5162 |
+
"node": ">=0.10.0"
|
5163 |
+
}
|
5164 |
+
},
|
5165 |
"node_modules/normalize-range": {
|
5166 |
"version": "0.1.2",
|
5167 |
"resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
|
|
|
5905 |
"node": ">= 6"
|
5906 |
}
|
5907 |
},
|
5908 |
+
"node_modules/readdirp": {
|
5909 |
+
"version": "3.6.0",
|
5910 |
+
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
|
5911 |
+
"integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
|
5912 |
+
"optional": true,
|
5913 |
+
"peer": true,
|
5914 |
+
"dependencies": {
|
5915 |
+
"picomatch": "^2.2.1"
|
5916 |
+
},
|
5917 |
+
"engines": {
|
5918 |
+
"node": ">=8.10.0"
|
5919 |
+
}
|
5920 |
+
},
|
5921 |
"node_modules/regenerator-runtime": {
|
5922 |
"version": "0.13.11",
|
5923 |
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
|
|
|
6229 |
"url": "https://github.com/sponsors/ljharb"
|
6230 |
}
|
6231 |
},
|
6232 |
+
"node_modules/sass": {
|
6233 |
+
"version": "1.63.3",
|
6234 |
+
"resolved": "https://registry.npmjs.org/sass/-/sass-1.63.3.tgz",
|
6235 |
+
"integrity": "sha512-ySdXN+DVpfwq49jG1+hmtDslYqpS7SkOR5GpF6o2bmb1RL/xS+wvPmegMvMywyfsmAV6p7TgwXYGrCZIFFbAHg==",
|
6236 |
+
"optional": true,
|
6237 |
+
"peer": true,
|
6238 |
+
"dependencies": {
|
6239 |
+
"chokidar": ">=3.0.0 <4.0.0",
|
6240 |
+
"immutable": "^4.0.0",
|
6241 |
+
"source-map-js": ">=0.6.2 <2.0.0"
|
6242 |
+
},
|
6243 |
+
"bin": {
|
6244 |
+
"sass": "sass.js"
|
6245 |
+
},
|
6246 |
+
"engines": {
|
6247 |
+
"node": ">=14.0.0"
|
6248 |
+
}
|
6249 |
+
},
|
6250 |
"node_modules/scheduler": {
|
6251 |
"version": "0.23.0",
|
6252 |
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
|
src/components/ChatWindow.jsx
CHANGED
@@ -6,7 +6,8 @@ import {FileLoader} from './FileLoader';
|
|
6 |
import Loader from "./Loader";
|
7 |
import { RecursiveCharacterTextSplitter } from 'langchain/text_splitter';
|
8 |
import { XenovaTransformersEmbeddings } from '../embed/hf';
|
9 |
-
import { MemoryVectorStore } from "langchain/vectorstores/memory";
|
|
|
10 |
import {
|
11 |
Button,
|
12 |
TextInput,
|
@@ -117,7 +118,7 @@ function ChatWindow({
|
|
117 |
{isReady && (
|
118 |
<div>
|
119 |
<form onSubmit={handleSubmit}>
|
120 |
-
<div className="flex">
|
121 |
<TextInput
|
122 |
value={userInput}
|
123 |
placeholder="Say something..."
|
@@ -135,15 +136,15 @@ function ChatWindow({
|
|
135 |
</div>
|
136 |
|
137 |
<div className="flex justify-start m-2">
|
138 |
-
|
139 |
<div>
|
140 |
<Button
|
141 |
onClick={handleSubmit}
|
142 |
className="submit"
|
143 |
-
style={{ height: "65px", width: "65px", float: "right" }}
|
144 |
>
|
145 |
<Image
|
146 |
-
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAiCAYAAABIiGl0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDQ2MCwgMjAyMC8wNS8xMi0xNjowNDoxNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjU3MUQ1NTRFMTdFQTExRUM5MDA1OTZFMzQ1Q0E2MTMxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjU3MUQ1NTRGMTdFQTExRUM5MDA1OTZFMzQ1Q0E2MTMxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTcxRDU1NEMxN0VBMTFFQzkwMDU5NkUzNDVDQTYxMzEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NTcxRDU1NEQxN0VBMTFFQzkwMDU5NkUzNDVDQTYxMzEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz53k5gpAAACU0lEQVR42sRWAZKDIAyETn9k3wRv0jfBm7xsIEwuAtZee43DDKhhk+wadPu+u6sjpbQvy7Kv67q/4o/xklMIgUEBjjkC+TgwAB251WxbAFezv9MmLsaIzaZGmTkC8Nu2odTwwVruO9x/PB4IgN872+9yiTFgwrO2K9k/JSQBtEDCtTV5d8b9gT8BwRyOKMoSSERr+MWtmA3GZl8rdAD2jD4wcJ9ddgTK65xpFTPz2tY0wDG4HezB71jub+6CLXRhE55XYUFoMIirZwDEQABaxJwxOe2yoVYx7sEhpMCgW9yG2ZGiWxCTCvKeXLGZsMARD+IY/Ooh6hYTlYuqsa7i6nI/5BhVQPmQrXBb612+21i+Z8yttUoZLehqDoHRDChTh+FyAWwbb7lwmguHAnBWevhUofnbiZqKA2W3PcqIPjJwWIqwsBFArEakm1ngFuS0H8uVCi/qOz68rzpW41zrQDWbfucSUAhqNZeIrAcuQKpjteai2uuxc4kjK5a6VAOrqtbgs3aos9fHp33/mGVaf4PWtscBpdDuj1qhPlDMp+e6wBxlvQAgoBKpBMfgqczPfgAk6+khISUWHnsOwiGp/fT0efpYlE3PfmX++q/11On0Sbu5L9nXgO/tfPR+V/9h/p0gsrfe924eYM5r/dIoKH2/F7B9Xr9rfyg1QOEsn5cNarBZ95n163LcycJLZDooE/nwj/mSuGYltKfY21QNIMtrL/LKv7PVeBlYAHu8qGeaz9O0rd8hCVM6vfAT7nqV8WY+qpzvAf+b+VHZ3t1ErP0IMAAwT6EpM/krMwAAAABJRU5ErkJggg=="
|
147 |
alt="Send Message"
|
148 |
style={{
|
149 |
filter:
|
@@ -170,7 +171,7 @@ function ChatWindow({
|
|
170 |
marginTop: "2px",
|
171 |
}}
|
172 |
></div>
|
173 |
-
|
174 |
</div>
|
175 |
</div>
|
176 |
)}
|
|
|
6 |
import Loader from "./Loader";
|
7 |
import { RecursiveCharacterTextSplitter } from 'langchain/text_splitter';
|
8 |
import { XenovaTransformersEmbeddings } from '../embed/hf';
|
9 |
+
import { MemoryVectorStore } from "langchain/vectorstores/memory";
|
10 |
+
|
11 |
import {
|
12 |
Button,
|
13 |
TextInput,
|
|
|
118 |
{isReady && (
|
119 |
<div>
|
120 |
<form onSubmit={handleSubmit}>
|
121 |
+
<div className="flex" style={{ color: 'white', textarea: { color: 'white' } }}>
|
122 |
<TextInput
|
123 |
value={userInput}
|
124 |
placeholder="Say something..."
|
|
|
136 |
</div>
|
137 |
|
138 |
<div className="flex justify-start m-2">
|
139 |
+
|
140 |
<div>
|
141 |
<Button
|
142 |
onClick={handleSubmit}
|
143 |
className="submit"
|
144 |
+
style={{ backgroundColor: "black", height: "65px", width: "65px", float: "right" }}
|
145 |
>
|
146 |
<Image
|
147 |
+
src="data:image/png;base64,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"
|
148 |
alt="Send Message"
|
149 |
style={{
|
150 |
filter:
|
|
|
171 |
marginTop: "2px",
|
172 |
}}
|
173 |
></div>
|
174 |
+
|
175 |
</div>
|
176 |
</div>
|
177 |
)}
|
src/components/Loader.jsx
CHANGED
@@ -25,37 +25,24 @@ const Loader = () => {
|
|
25 |
<div
|
26 |
style={{
|
27 |
display: "flex",
|
28 |
-
alignItems: "
|
29 |
flexDirection: "column",
|
30 |
gap: "10px",
|
31 |
fontSize: "24px",
|
32 |
-
textAlign: "
|
33 |
-
fontFamily: "
|
34 |
}}
|
35 |
>
|
36 |
-
<div
|
37 |
-
|
38 |
-
<b
|
39 |
</h1>
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
<p className="p-1">
|
44 |
-
No data is sent to the server. Conversations are cached in local
|
45 |
-
storage.
|
46 |
-
</p>
|
47 |
-
<p className="p-1">
|
48 |
-
WebGPU is only supported in Desktop Google Chrome 113
|
49 |
-
</p>
|
50 |
-
<p className="p-1">
|
51 |
-
Powered by Apache TVM and MLC Relax Runtime.
|
52 |
-
</p>
|
53 |
-
<p className="p-1">
|
54 |
-
Model is Vicuna 7b trained by LMSys.
|
55 |
-
</p>
|
56 |
</div>
|
57 |
<div>
|
58 |
-
|
59 |
first time, it will be cached.
|
60 |
</div>
|
61 |
|
|
|
25 |
<div
|
26 |
style={{
|
27 |
display: "flex",
|
28 |
+
alignItems: "left",
|
29 |
flexDirection: "column",
|
30 |
gap: "10px",
|
31 |
fontSize: "24px",
|
32 |
+
textAlign: "left",
|
33 |
+
fontFamily: "Arial"
|
34 |
}}
|
35 |
>
|
36 |
+
<div>
|
37 |
+
<h1 className="p-1">
|
38 |
+
<b>web-llm-embed</b>
|
39 |
</h1>
|
40 |
+
<div>
|
41 |
+
π Edge based document chat. No data is sent to the server. Model is Vicuna 7b trained by LMSys.
|
42 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
</div>
|
44 |
<div>
|
45 |
+
π This will download the model (~4GB) and may take a few minutes. After the
|
46 |
first time, it will be cached.
|
47 |
</div>
|
48 |
|
src/components/MessageList.jsx
CHANGED
@@ -1,6 +1,5 @@
|
|
1 |
import useLLM from "@react-llm/headless";
|
2 |
import { useEffect, useRef } from "react";
|
3 |
-
import { ScrollView } from "react95";
|
4 |
|
5 |
function MessageList({
|
6 |
screenName = "endlessbox5",
|
@@ -21,31 +20,33 @@ function MessageList({
|
|
21 |
}, [conversation, messages.length]);
|
22 |
|
23 |
return (
|
24 |
-
<
|
25 |
<div className="p-2 leading-6 w-full min-h-full">
|
26 |
{conversation?.messages.map((m) => (
|
27 |
<div key={m.id} style={{ display: "flex" }}>
|
28 |
<div
|
29 |
style={{
|
30 |
-
padding: "
|
31 |
-
|
|
|
|
|
32 |
}}
|
33 |
>
|
34 |
<span
|
35 |
style={{
|
36 |
fontWeight: "bold",
|
37 |
-
color: m.role === userRoleName ? "
|
38 |
}}
|
39 |
>
|
40 |
-
{m.role === userRoleName ?
|
41 |
</span>
|
42 |
-
|
43 |
</div>
|
44 |
</div>
|
45 |
))}
|
46 |
<div ref={scrollRef}></div>
|
47 |
</div>
|
48 |
-
</
|
49 |
);
|
50 |
}
|
51 |
|
|
|
1 |
import useLLM from "@react-llm/headless";
|
2 |
import { useEffect, useRef } from "react";
|
|
|
3 |
|
4 |
function MessageList({
|
5 |
screenName = "endlessbox5",
|
|
|
20 |
}, [conversation, messages.length]);
|
21 |
|
22 |
return (
|
23 |
+
<div style={{ height: "65vh" }} className="w-full">
|
24 |
<div className="p-2 leading-6 w-full min-h-full">
|
25 |
{conversation?.messages.map((m) => (
|
26 |
<div key={m.id} style={{ display: "flex" }}>
|
27 |
<div
|
28 |
style={{
|
29 |
+
padding: "12px",
|
30 |
+
margin: "5px",
|
31 |
+
borderRadius: "15px",
|
32 |
+
backgroundColor: m.role === userRoleName ? "green": "#333333"
|
33 |
}}
|
34 |
>
|
35 |
<span
|
36 |
style={{
|
37 |
fontWeight: "bold",
|
38 |
+
color: m.role === userRoleName ? "white" : "#999999",
|
39 |
}}
|
40 |
>
|
41 |
+
{m.role === userRoleName ? `` : `${assistantScreenName}: `}
|
42 |
</span>
|
43 |
+
{m.text}
|
44 |
</div>
|
45 |
</div>
|
46 |
))}
|
47 |
<div ref={scrollRef}></div>
|
48 |
</div>
|
49 |
+
</div>
|
50 |
);
|
51 |
}
|
52 |
|
src/pages/_app.tsx
CHANGED
@@ -1,5 +1,6 @@
|
|
1 |
import Head from "next/head";
|
2 |
import { AppProps } from "next/app";
|
|
|
3 |
|
4 |
export interface MyAppProps extends AppProps {
|
5 |
emotionCache?: any;
|
|
|
1 |
import Head from "next/head";
|
2 |
import { AppProps } from "next/app";
|
3 |
+
import '../styles.css'
|
4 |
|
5 |
export interface MyAppProps extends AppProps {
|
6 |
emotionCache?: any;
|
src/styles.css
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
body {
|
2 |
+
font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
|
3 |
+
background-color: black;
|
4 |
+
color: white;
|
5 |
+
}
|
6 |
+
|
7 |
+
textarea {
|
8 |
+
color: white;
|
9 |
+
}
|