From 3c09c7159cce509fd3dd90b4b1f9e32a95614792 Mon Sep 17 00:00:00 2001 From: BitVoyagerMan Date: Thu, 21 Sep 2023 02:40:55 -0400 Subject: [PATCH 1/2] add bittensor chatmodel --- .../nodes/chatmodels/Bittensor/Bittensor.ts | 48 +++++++++++++++ .../nodes/chatmodels/Bittensor/logo.png | Bin 0 -> 24561 bytes .../nodes/llms/Bittensor/Bittensor.ts | 58 ++++++++++++++++++ .../components/nodes/llms/Bittensor/logo.png | Bin 0 -> 24561 bytes 4 files changed, 106 insertions(+) create mode 100644 packages/components/nodes/chatmodels/Bittensor/Bittensor.ts create mode 100644 packages/components/nodes/chatmodels/Bittensor/logo.png create mode 100644 packages/components/nodes/llms/Bittensor/Bittensor.ts create mode 100644 packages/components/nodes/llms/Bittensor/logo.png diff --git a/packages/components/nodes/chatmodels/Bittensor/Bittensor.ts b/packages/components/nodes/chatmodels/Bittensor/Bittensor.ts new file mode 100644 index 00000000000..8ca05634fd5 --- /dev/null +++ b/packages/components/nodes/chatmodels/Bittensor/Bittensor.ts @@ -0,0 +1,48 @@ +import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface' +import { getBaseClasses } from '../../../src/utils' +import {NIBittensorChatModel, BittensorInput} from 'langchain/experimental/chat_models/bittensor'; + +class Bittensor_ChatModels implements INode { + label: string + name: string + version: number + type: string + icon: string + category: string + description: string + baseClasses: string[] + inputs: INodeParams[] + + constructor() { + this.label = 'NIBittensorChat' + this.name = 'NIBittensorChatModel' + this.version = 1.0 + this.type = 'BittensorChat' + this.icon = 'logo.png' + this.category = 'Chat Models' + this.description = 'Wrapper around Bittensor subnet 1 large language models' + this.baseClasses = [this.type, ...getBaseClasses(NIBittensorChatModel)] + this.inputs = [ + { + label: 'System prompt', + name: 'system_prompt', + type: 'string', + additionalParams: true, + optional: true + }, + ] + + } + + async init(nodeData: INodeData, _: string, options: ICommonObject): Promise { + const system_prompt = nodeData.inputs?.system_prompt as string + const obj: Partial = { + systemPrompt: system_prompt, + } + + const model = new NIBittensorChatModel(obj) + return model + } +} + +module.exports = { nodeClass: Bittensor_ChatModels } diff --git a/packages/components/nodes/chatmodels/Bittensor/logo.png b/packages/components/nodes/chatmodels/Bittensor/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ad51774d5198772b36f6bd19aa8f8404f5906698 GIT binary patch literal 24561 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 F{{W%y8Djtd literal 0 HcmV?d00001 diff --git a/packages/components/nodes/llms/Bittensor/Bittensor.ts b/packages/components/nodes/llms/Bittensor/Bittensor.ts new file mode 100644 index 00000000000..86b400a4c57 --- /dev/null +++ b/packages/components/nodes/llms/Bittensor/Bittensor.ts @@ -0,0 +1,58 @@ +import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface' +import { getBaseClasses } from '../../../src/utils' +import {NIBittensorLLM, BittensorInput} from 'langchain/experimental/llms/bittensor'; + +class Bittensor_LLMs implements INode { + label: string + name: string + version: number + type: string + icon: string + category: string + description: string + baseClasses: string[] + inputs: INodeParams[] + + constructor() { + this.label = 'NIBittensorLLM' + this.name = 'NIBittensorLLM' + this.version = 1.0 + this.type = 'Bittensor' + this.icon = 'logo.png' + this.category = 'LLMs' + this.description = 'Wrapper around Bittensor subnet 1 large language models' + this.baseClasses = [this.type, ...getBaseClasses(NIBittensorLLM)] + this.inputs = [ + { + label: 'System prompt', + name: 'system_prompt', + type: 'string', + additionalParams: true, + optional: true + }, + { + label: 'Top Responses', + name: 'topResponses', + type: 'number', + step: 1, + optional: true, + additionalParams: true + } + ] + + } + + async init(nodeData: INodeData, _: string, options: ICommonObject): Promise { + const system_prompt = nodeData.inputs?.system_prompt as string + const topResponses = Number(nodeData.inputs?.topResponses as number); + const obj: Partial = { + systemPrompt: system_prompt, + topResponses: topResponses, + } + + const model = new NIBittensorLLM(obj) + return model + } +} + +module.exports = { nodeClass: Bittensor_LLMs } diff --git a/packages/components/nodes/llms/Bittensor/logo.png b/packages/components/nodes/llms/Bittensor/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ad51774d5198772b36f6bd19aa8f8404f5906698 GIT binary patch literal 24561 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 F{{W%y8Djtd literal 0 HcmV?d00001 From f7c8a3daae04a418738d0779cee971502484b6b4 Mon Sep 17 00:00:00 2001 From: BitVoyagerMan Date: Thu, 21 Sep 2023 07:12:28 -0400 Subject: [PATCH 2/2] fix lint --- .../nodes/chatmodels/Bittensor/Bittensor.ts | 12 +++++------- .../components/nodes/llms/Bittensor/Bittensor.ts | 11 +++++------ 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/packages/components/nodes/chatmodels/Bittensor/Bittensor.ts b/packages/components/nodes/chatmodels/Bittensor/Bittensor.ts index 8ca05634fd5..cfcac863b08 100644 --- a/packages/components/nodes/chatmodels/Bittensor/Bittensor.ts +++ b/packages/components/nodes/chatmodels/Bittensor/Bittensor.ts @@ -1,6 +1,6 @@ -import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface' +import { INode, INodeData, INodeParams } from '../../../src/Interface' import { getBaseClasses } from '../../../src/utils' -import {NIBittensorChatModel, BittensorInput} from 'langchain/experimental/chat_models/bittensor'; +import { NIBittensorChatModel, BittensorInput } from 'langchain/experimental/chat_models/bittensor' class Bittensor_ChatModels implements INode { label: string @@ -29,17 +29,15 @@ class Bittensor_ChatModels implements INode { type: 'string', additionalParams: true, optional: true - }, + } ] - } - async init(nodeData: INodeData, _: string, options: ICommonObject): Promise { + async init(nodeData: INodeData, _: string): Promise { const system_prompt = nodeData.inputs?.system_prompt as string const obj: Partial = { - systemPrompt: system_prompt, + systemPrompt: system_prompt } - const model = new NIBittensorChatModel(obj) return model } diff --git a/packages/components/nodes/llms/Bittensor/Bittensor.ts b/packages/components/nodes/llms/Bittensor/Bittensor.ts index 86b400a4c57..a87a7e48003 100644 --- a/packages/components/nodes/llms/Bittensor/Bittensor.ts +++ b/packages/components/nodes/llms/Bittensor/Bittensor.ts @@ -1,6 +1,6 @@ -import { ICommonObject, INode, INodeData, INodeParams } from '../../../src/Interface' +import { INode, INodeData, INodeParams } from '../../../src/Interface' import { getBaseClasses } from '../../../src/utils' -import {NIBittensorLLM, BittensorInput} from 'langchain/experimental/llms/bittensor'; +import { NIBittensorLLM, BittensorInput } from 'langchain/experimental/llms/bittensor' class Bittensor_LLMs implements INode { label: string @@ -39,15 +39,14 @@ class Bittensor_LLMs implements INode { additionalParams: true } ] - } - async init(nodeData: INodeData, _: string, options: ICommonObject): Promise { + async init(nodeData: INodeData, _: string): Promise { const system_prompt = nodeData.inputs?.system_prompt as string - const topResponses = Number(nodeData.inputs?.topResponses as number); + const topResponses = Number(nodeData.inputs?.topResponses as number) const obj: Partial = { systemPrompt: system_prompt, - topResponses: topResponses, + topResponses: topResponses } const model = new NIBittensorLLM(obj)