[feat] aws test
This commit is contained in:
@@ -15,8 +15,11 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@adobe/css-tools": "4.3.1",
|
"@adobe/css-tools": "4.3.1",
|
||||||
|
"@aws-crypto/sha256-js": "^5.1.0",
|
||||||
"@dqbd/tiktoken": "^1.0.7",
|
"@dqbd/tiktoken": "^1.0.7",
|
||||||
"@mlc-ai/web-tokenizers": "^0.1.0",
|
"@mlc-ai/web-tokenizers": "^0.1.0",
|
||||||
|
"@smithy/protocol-http": "^3.0.7",
|
||||||
|
"@smithy/signature-v4": "^2.0.11",
|
||||||
"@tauri-apps/api": "1.4.0",
|
"@tauri-apps/api": "1.4.0",
|
||||||
"@types/marked": "^5.0.1",
|
"@types/marked": "^5.0.1",
|
||||||
"@xenova/transformers": "^2.5.0",
|
"@xenova/transformers": "^2.5.0",
|
||||||
|
|||||||
148
pnpm-lock.yaml
generated
148
pnpm-lock.yaml
generated
@@ -8,12 +8,21 @@ dependencies:
|
|||||||
'@adobe/css-tools':
|
'@adobe/css-tools':
|
||||||
specifier: 4.3.1
|
specifier: 4.3.1
|
||||||
version: 4.3.1
|
version: 4.3.1
|
||||||
|
'@aws-crypto/sha256-js':
|
||||||
|
specifier: ^5.1.0
|
||||||
|
version: 5.1.0
|
||||||
'@dqbd/tiktoken':
|
'@dqbd/tiktoken':
|
||||||
specifier: ^1.0.7
|
specifier: ^1.0.7
|
||||||
version: 1.0.7
|
version: 1.0.7
|
||||||
'@mlc-ai/web-tokenizers':
|
'@mlc-ai/web-tokenizers':
|
||||||
specifier: ^0.1.0
|
specifier: ^0.1.0
|
||||||
version: 0.1.0
|
version: 0.1.0
|
||||||
|
'@smithy/protocol-http':
|
||||||
|
specifier: ^3.0.7
|
||||||
|
version: 3.0.7
|
||||||
|
'@smithy/signature-v4':
|
||||||
|
specifier: ^2.0.11
|
||||||
|
version: 2.0.11
|
||||||
'@tauri-apps/api':
|
'@tauri-apps/api':
|
||||||
specifier: 1.4.0
|
specifier: 1.4.0
|
||||||
version: 1.4.0
|
version: 1.4.0
|
||||||
@@ -236,6 +245,53 @@ packages:
|
|||||||
'@jridgewell/gen-mapping': 0.3.3
|
'@jridgewell/gen-mapping': 0.3.3
|
||||||
'@jridgewell/trace-mapping': 0.3.18
|
'@jridgewell/trace-mapping': 0.3.18
|
||||||
|
|
||||||
|
/@aws-crypto/crc32@3.0.0:
|
||||||
|
resolution: {integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==}
|
||||||
|
dependencies:
|
||||||
|
'@aws-crypto/util': 3.0.0
|
||||||
|
'@aws-sdk/types': 3.425.0
|
||||||
|
tslib: 1.14.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@aws-crypto/sha256-js@5.1.0:
|
||||||
|
resolution: {integrity: sha512-VeDxEzCJZUNikoRD7DMFZj/aITgt2VL8tf37nEJqFjUf6DU202Vf3u07W5Ip8lVDs2Pdqg2AbdoWPyjtmHU8nw==}
|
||||||
|
engines: {node: '>=16.0.0'}
|
||||||
|
dependencies:
|
||||||
|
'@aws-crypto/util': 5.1.0
|
||||||
|
'@aws-sdk/types': 3.425.0
|
||||||
|
tslib: 2.6.2
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@aws-crypto/util@3.0.0:
|
||||||
|
resolution: {integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==}
|
||||||
|
dependencies:
|
||||||
|
'@aws-sdk/types': 3.425.0
|
||||||
|
'@aws-sdk/util-utf8-browser': 3.259.0
|
||||||
|
tslib: 1.14.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@aws-crypto/util@5.1.0:
|
||||||
|
resolution: {integrity: sha512-TRSydv/0a4RTZYnCmbpx1F6fOfVlTostBFvLr9GCGPww2WhuIgMg5ZmWN35Wi/Cy6HuvZf82wfUN1F9gQkJ1mQ==}
|
||||||
|
dependencies:
|
||||||
|
'@aws-sdk/types': 3.425.0
|
||||||
|
'@smithy/util-utf8': 2.0.0
|
||||||
|
tslib: 2.6.2
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@aws-sdk/types@3.425.0:
|
||||||
|
resolution: {integrity: sha512-6lqbmorwerN4v+J5dqbHPAsjynI0mkEF+blf+69QTaKKGaxBBVaXgqoqul9RXYcK5MMrrYRbQIMd0zYOoy90kA==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
dependencies:
|
||||||
|
'@smithy/types': 2.3.5
|
||||||
|
tslib: 2.6.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@aws-sdk/util-utf8-browser@3.259.0:
|
||||||
|
resolution: {integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==}
|
||||||
|
dependencies:
|
||||||
|
tslib: 2.6.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
/@dqbd/tiktoken@1.0.7:
|
/@dqbd/tiktoken@1.0.7:
|
||||||
resolution: {integrity: sha512-bhR5k5W+8GLzysjk8zTMVygQZsgvf7W1F0IlL4ZQ5ugjo5rCyiwGM5d8DYriXspytfu98tv59niang3/T+FoDw==}
|
resolution: {integrity: sha512-bhR5k5W+8GLzysjk8zTMVygQZsgvf7W1F0IlL4ZQ5ugjo5rCyiwGM5d8DYriXspytfu98tv59niang3/T+FoDw==}
|
||||||
dev: false
|
dev: false
|
||||||
@@ -598,6 +654,89 @@ packages:
|
|||||||
rollup: 3.26.3
|
rollup: 3.26.3
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@smithy/eventstream-codec@2.0.11:
|
||||||
|
resolution: {integrity: sha512-BQCTjxhCYRZIfXapa2LmZSaH8QUBGwMZw7XRN83hrdixbLjIcj+o549zjkedFS07Ve2TlvWUI6BTzP+nv7snBA==}
|
||||||
|
dependencies:
|
||||||
|
'@aws-crypto/crc32': 3.0.0
|
||||||
|
'@smithy/types': 2.3.5
|
||||||
|
'@smithy/util-hex-encoding': 2.0.0
|
||||||
|
tslib: 2.6.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@smithy/is-array-buffer@2.0.0:
|
||||||
|
resolution: {integrity: sha512-z3PjFjMyZNI98JFRJi/U0nGoLWMSJlDjAW4QUX2WNZLas5C0CmVV6LJ01JI0k90l7FvpmixjWxPFmENSClQ7ug==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
dependencies:
|
||||||
|
tslib: 2.6.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@smithy/protocol-http@3.0.7:
|
||||||
|
resolution: {integrity: sha512-HnZW8y+r66ntYueCDbLqKwWcMNWW8o3eVpSrHNluwtBJ/EUWfQHRKSiu6vZZtc6PGfPQWgVfucoCE/C3QufMAA==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
dependencies:
|
||||||
|
'@smithy/types': 2.3.5
|
||||||
|
tslib: 2.6.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@smithy/signature-v4@2.0.11:
|
||||||
|
resolution: {integrity: sha512-EFVU1dT+2s8xi227l1A9O27edT/GNKvyAK6lZnIZ0zhIHq/jSLznvkk15aonGAM1kmhmZBVGpI7Tt0odueZK9A==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
dependencies:
|
||||||
|
'@smithy/eventstream-codec': 2.0.11
|
||||||
|
'@smithy/is-array-buffer': 2.0.0
|
||||||
|
'@smithy/types': 2.3.5
|
||||||
|
'@smithy/util-hex-encoding': 2.0.0
|
||||||
|
'@smithy/util-middleware': 2.0.4
|
||||||
|
'@smithy/util-uri-escape': 2.0.0
|
||||||
|
'@smithy/util-utf8': 2.0.0
|
||||||
|
tslib: 2.6.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@smithy/types@2.3.5:
|
||||||
|
resolution: {integrity: sha512-ehyDt8M9hehyxrLQGoA1BGPou8Js1Ocoh5M0ngDhJMqbFmNK5N6Xhr9/ZExWkyIW8XcGkiMPq3ZUEE0ScrhbuQ==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
dependencies:
|
||||||
|
tslib: 2.6.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@smithy/util-buffer-from@2.0.0:
|
||||||
|
resolution: {integrity: sha512-/YNnLoHsR+4W4Vf2wL5lGv0ksg8Bmk3GEGxn2vEQt52AQaPSCuaO5PM5VM7lP1K9qHRKHwrPGktqVoAHKWHxzw==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
dependencies:
|
||||||
|
'@smithy/is-array-buffer': 2.0.0
|
||||||
|
tslib: 2.6.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@smithy/util-hex-encoding@2.0.0:
|
||||||
|
resolution: {integrity: sha512-c5xY+NUnFqG6d7HFh1IFfrm3mGl29lC+vF+geHv4ToiuJCBmIfzx6IeHLg+OgRdPFKDXIw6pvi+p3CsscaMcMA==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
dependencies:
|
||||||
|
tslib: 2.6.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@smithy/util-middleware@2.0.4:
|
||||||
|
resolution: {integrity: sha512-Pbu6P4MBwRcjrLgdTR1O4Y3c0sTZn2JdOiJNcgL7EcIStcQodj+6ZTXtbyU/WTEU3MV2NMA10LxFc3AWHZ3+4A==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
dependencies:
|
||||||
|
'@smithy/types': 2.3.5
|
||||||
|
tslib: 2.6.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@smithy/util-uri-escape@2.0.0:
|
||||||
|
resolution: {integrity: sha512-ebkxsqinSdEooQduuk9CbKcI+wheijxEb3utGXkCoYQkJnwTnLbH1JXGimJtUkQwNQbsbuYwG2+aFVyZf5TLaw==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
dependencies:
|
||||||
|
tslib: 2.6.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@smithy/util-utf8@2.0.0:
|
||||||
|
resolution: {integrity: sha512-rctU1VkziY84n5OXe3bPNpKR001ZCME2JCaBBFgtiM2hfKbHFudc/BkMuPab8hRbLd0j3vbnBTTZ1igBf0wgiQ==}
|
||||||
|
engines: {node: '>=14.0.0'}
|
||||||
|
dependencies:
|
||||||
|
'@smithy/util-buffer-from': 2.0.0
|
||||||
|
tslib: 2.6.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
/@sveltejs/vite-plugin-svelte-inspector@1.0.3(@sveltejs/vite-plugin-svelte@2.4.2)(svelte@4.1.0)(vite@4.4.5):
|
/@sveltejs/vite-plugin-svelte-inspector@1.0.3(@sveltejs/vite-plugin-svelte@2.4.2)(svelte@4.1.0)(vite@4.4.5):
|
||||||
resolution: {integrity: sha512-Khdl5jmmPN6SUsVuqSXatKpQTMIifoQPDanaxC84m9JxIibWvSABJyHpyys0Z+1yYrxY5TTEQm+6elh0XCMaOA==}
|
resolution: {integrity: sha512-Khdl5jmmPN6SUsVuqSXatKpQTMIifoQPDanaxC84m9JxIibWvSABJyHpyys0Z+1yYrxY5TTEQm+6elh0XCMaOA==}
|
||||||
engines: {node: ^14.18.0 || >= 16}
|
engines: {node: ^14.18.0 || >= 16}
|
||||||
@@ -3300,9 +3439,16 @@ packages:
|
|||||||
resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
|
resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/tslib@1.14.1:
|
||||||
|
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/tslib@2.6.0:
|
/tslib@2.6.0:
|
||||||
resolution: {integrity: sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==}
|
resolution: {integrity: sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==}
|
||||||
dev: true
|
|
||||||
|
/tslib@2.6.2:
|
||||||
|
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/tunnel-agent@0.6.0:
|
/tunnel-agent@0.6.0:
|
||||||
resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
|
resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
|
||||||
|
|||||||
@@ -12,6 +12,11 @@ import { NovelAIBadWordIds, stringlizeNAIChat } from "./models/nai";
|
|||||||
import { tokenizeNum } from "../tokenizer";
|
import { tokenizeNum } from "../tokenizer";
|
||||||
import { runLocalModel } from "./models/local";
|
import { runLocalModel } from "./models/local";
|
||||||
import { risuChatParser } from "../parser";
|
import { risuChatParser } from "../parser";
|
||||||
|
import { SignatureV4 } from "@smithy/signature-v4";
|
||||||
|
import { HttpRequest } from "@smithy/protocol-http";
|
||||||
|
import { Sha256 } from "@aws-crypto/sha256-js";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
interface requestDataArgument{
|
interface requestDataArgument{
|
||||||
formated: OpenAIChat[]
|
formated: OpenAIChat[]
|
||||||
@@ -901,6 +906,90 @@ export async function requestChatDataMain(arg:requestDataArgument, model:'model'
|
|||||||
return prefix + v.content
|
return prefix + v.content
|
||||||
}).join('') + '\n\nAssistant: '
|
}).join('') + '\n\nAssistant: '
|
||||||
|
|
||||||
|
|
||||||
|
//claude bedrock
|
||||||
|
|
||||||
|
//placeholders
|
||||||
|
const bedrock = false
|
||||||
|
const region = ''
|
||||||
|
|
||||||
|
const AMZ_HOST = "invoke-bedrock.%REGION%.amazonaws.com";
|
||||||
|
const host = AMZ_HOST.replace("%REGION%", region);
|
||||||
|
|
||||||
|
function getCredentialParts(key:string) {
|
||||||
|
const [accessKeyId, secretAccessKey, region] = key.split(":");
|
||||||
|
|
||||||
|
if (!accessKeyId || !secretAccessKey || !region) {
|
||||||
|
throw new Error("The key assigned to this request is invalid.");
|
||||||
|
}
|
||||||
|
|
||||||
|
return { accessKeyId, secretAccessKey, region };
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(bedrock){
|
||||||
|
const stream = false
|
||||||
|
const url = `https://${host}/model/${model}/invoke${stream ? "-with-response-stream" : ""}`
|
||||||
|
const params = {
|
||||||
|
prompt : "\n\nHuman: " + requestPrompt,
|
||||||
|
model: raiModel,
|
||||||
|
max_tokens_to_sample: maxTokens,
|
||||||
|
stop_sequences: ["\n\nHuman:", "\n\nSystem:", "\n\nAssistant:"],
|
||||||
|
temperature: temperature,
|
||||||
|
}
|
||||||
|
const rq = new HttpRequest({
|
||||||
|
method: "POST",
|
||||||
|
protocol: "https:",
|
||||||
|
hostname: host,
|
||||||
|
path: `/model/${model}/invoke${stream ? "-with-response-stream" : ""}`,
|
||||||
|
headers: {
|
||||||
|
["Host"]: host,
|
||||||
|
["content-type"]: "application/json",
|
||||||
|
["accept"]: "*/*",
|
||||||
|
"anthropic-version": "2023-06-01",
|
||||||
|
},
|
||||||
|
body: JSON.stringify(params),
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
const { accessKeyId, secretAccessKey, region } = getCredentialParts(apiKey);
|
||||||
|
const signer = new SignatureV4({
|
||||||
|
sha256: Sha256,
|
||||||
|
credentials: { accessKeyId, secretAccessKey },
|
||||||
|
region,
|
||||||
|
service: "bedrock",
|
||||||
|
});
|
||||||
|
|
||||||
|
const signed = await signer.sign(rq);
|
||||||
|
|
||||||
|
const da = await globalFetch(`${signed.protocol}//${signed.hostname}`, {
|
||||||
|
method: "POST",
|
||||||
|
body: params,
|
||||||
|
headers: {
|
||||||
|
["Host"]: host,
|
||||||
|
["content-type"]: "application/json",
|
||||||
|
["accept"]: "*/*",
|
||||||
|
"anthropic-version": "2023-06-01",
|
||||||
|
},
|
||||||
|
useRisuToken: true
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
if((!da.ok) || (da.data.error)){
|
||||||
|
return {
|
||||||
|
type: 'fail',
|
||||||
|
result: `${JSON.stringify(da.data)}`
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const res = da.data
|
||||||
|
|
||||||
|
return {
|
||||||
|
type: "success",
|
||||||
|
result: res.completion,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const da = await globalFetch(replacerURL, {
|
const da = await globalFetch(replacerURL, {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
body: {
|
body: {
|
||||||
|
|||||||
Reference in New Issue
Block a user