From 482137ae6d3bf3b7ab267d151ad108d648abed93 Mon Sep 17 00:00:00 2001 From: fromhsc Date: Mon, 25 Nov 2024 22:32:05 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90add=E3=80=91=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=8F=92=E4=BB=B6=E6=8E=A5=E5=85=A5HelloWord=E6=8F=92=E4=BB=B6?= =?UTF-8?q?=E5=8C=85=E6=A0=B7=E4=BE=8B=20=E3=80=90fix=E3=80=91=E4=BF=AE?= =?UTF-8?q?=E6=94=B9searchagent=E4=BB=A3=E7=A0=81=E8=A7=84=E8=8C=83=20Sign?= =?UTF-8?q?ed-off-by:=20He=20Shoucheng=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SearchAgent/modelSet.py | 10 +- plugins/HelloWord/btdl/docker.yaml | 765 +++++++++++++++++++++++++++++ plugins/HelloWord/plugin.json | 6 + 3 files changed, 772 insertions(+), 9 deletions(-) create mode 100644 plugins/HelloWord/btdl/docker.yaml create mode 100644 plugins/HelloWord/plugin.json diff --git a/SearchAgent/modelSet.py b/SearchAgent/modelSet.py index 889b63e2..d5d2858e 100644 --- a/SearchAgent/modelSet.py +++ b/SearchAgent/modelSet.py @@ -1,9 +1,6 @@ from transformers import AutoModelForCausalLM, AutoTokenizer import torch from transformers import BertTokenizer, BertModel -# import bitsandbytes as bnb -# import os -# os.environ["CUDA_VISIBLE_DEVICES"] = "2,3" # 加载模型和tokenizer def getModel(model_path = "/home/nfs02/model/Qwen1.5-14B-Chat"): @@ -16,9 +13,4 @@ def getModel(model_path = "/home/nfs02/model/Qwen1.5-14B-Chat"): # 如果有GPU可用,使用GPU,否则使用CPU cuda device = torch.device("cuda" if torch.cuda.is_available() else "cpu") model.to(device) - return model, tokenizer, device - -bertFlag = False -if bertFlag: - bertTokenizer = BertTokenizer.from_pretrained('bert-base-uncased') - bertModel = BertModel.from_pretrained('bert-base-uncased') \ No newline at end of file + return model, tokenizer, device \ No newline at end of file diff --git a/plugins/HelloWord/btdl/docker.yaml b/plugins/HelloWord/btdl/docker.yaml new file mode 100644 index 00000000..a05d7cfd --- /dev/null +++ b/plugins/HelloWord/btdl/docker.yaml @@ -0,0 +1,765 @@ +version: "1.0.0" + +cmd: + - name: docker + description: Docker Container CLI + +docker: + global_options: + - name: "--version" + description: "打印版本信息并退出。默认为false。" + type: "boolean" + default: false + - name: "--log-level" + description: "设置日志记录级别。默认为info。" + type: "string" + default: "info" + enum: + - debug + - info + - warn + - error + - fatal + + commands: + - name: "ps" + description: "查看容器列表。" + usage: "docker ps ${OPTS}" + options: + - name: "--all" + description: "显示所有容器(默认仅显示正在运行的容器)" + type: boolean + default: false + - name: "--last" + description: "显示最近创建的n个容器(包括所有状态)" + type: integer + default: -1 + - name: "--latest" + description: "S显示最新创建的容器(包括所有状态)" + type: boolean + default: false + - name: "--size" + description: "显示容器中文件总大小" + type: boolean + default: false + - name: "--quiet" + description: "仅显示容器ID" + type: boolean + default: false + examples: + - command: "docker ps -all" + description: "显示这台机器上的所有容器。" + - command: "docker ps --size" + description: "显示所有正在运行的容器及其大小。" + - name: "pull" + description: "Download an image from a registry." + usage: "docker pull ${OPTS} ${image}" + options: + - name: "--all-tags" + description: "下载仓库中所有有Tag的镜像" + default: false + type: boolean + - name: "--disable-content-trust" + description: "跳过镜像签名校验" + default: false + type: boolean + - name: "--quiet" + description: "减少输出信息" + type: boolean + default: false + arguments: + - name: "image" + description: "Docker镜像名称" + type: string + example: "nginx:latest" + pattern: "[a-z0-9._/-]{0,61}" + examples: + - command: "docker pull nginx:latest" + description: "Download image named 'nginx' and tagged 'latest' from default registry." + - command: "docker pull --disable-content-trust docker.io/library/caddy:2-alpine" + description: "Download image named 'library/caddy' and tagged '2-alpine' from registry 'docker.io', and image verification is turned off." + - name: "run" + description: "从镜像创建并运行一个新的容器" + usage: "docker run ${OPTS} ${image} ${command}" + arguments: + - name: "image" + description: "用于创建容器的镜像名称" + type: "string" + example: "nginx:latest" + required: true + - name: "command" + description: "在容器内运行的命令。默认为 null。" + type: "string" + required: false + default: null + options: + - name: "--gpus" + description: "给容器添加或限制显卡(GPU)('all'表示使用所有GPU,'2'表示使用任意两个GPU)" + type: "string" + default: "" + - name: "--add-host" + description: "在 /etc/hosts 中添加一行记录。格式:hostname=ip 或 hostname:ip。" + type: "array" + items: + type: string + description: "主机至IP的映射 (格式:hostname=ip 或 hostname:ip)" + - name: "annotation" + description: "为容器添加注释(传递给OCI运行时)。" + type: "array" + items: + type: string + description: "容器注释" + - name: "--attach" + description: "连接到标准输入(stdin)、标准输出(stdout)或标准错误(stderr)" + type: "array" + items: + type: string + - name: "--blkio-weight" + description: "块设备I/O(相对权重),介于 10 和 1000 之间,或设置为 0 以禁用。" + type: "integer" + default: 0 + minimum: 0 + maximum: 1000 + - name: "--blkio-weight-device" + description: "块设备I/O(每设备的权重)" + type: "array" + default: [] + items: + type: string + description: "relative device weight, format: DEVICE_NAME:WEIGHT" + pattern: "[0-9a-z_-]:[0-9]{0,4}" + - name: "--cap-add" + description: "添加 Linux capabilities" + type: "array" + default: [] + items: + type: string + description: "Linux capabilities" + - name: "--cap-drop" + description: "删除 Linux capabilities" + type: "array" + default: [] + items: + type: string + description: "linux capabilities" + - name: "--cgroup-parent" + description: "容器的可选父cgroup" + type: "string" + - name: "--cidfile" + description: "将容器ID写入文件" + type: "string" + - name: "--cpu-period" + description: "限制CPU CFS(完全公平调度器)时长" + type: "integer" + - name: "--cpu-quota" + description: "限制CPU CFS(完全公平调度器)配额" + type: "integer" + - name: "--cpu-rt-period" + description: "限制 CPU 实时周期(单位:微秒)" + type: "integer" + - name: "--cpu-rt-runtime" + description: "限制 CPU 实时运行时间(单位:微秒)" + type: "integer" + - name: "--cpu-shares" + description: "CPU 份额(相对权重)" + type: "integer" + - name: "--cpus" + description: "运行时使用的CPU数量" + type: "number" + - name: "--cpuset-cpus" + description: "允许运行使用的 CPU(0-3, 0,1)" + type: "string" + - name: "--cpuset-mems" + description: "MEMs in which to allow execution (0-3, 0,1)" + type: "string" + - name: "--detach" + description: "在后台运行容器并打印容器 ID" + type: boolean + default: false + - name: "--detach-keys" + description: "override the key sequence for detaching a container" + type: "string" + - name: "--device" + description: "向容器添加一个主机设备" + type: "array" + items: + type: string + description: "onhost:incontainer[:mode]\n\nAdd a host device onhost to the container under the incontainer name. Optional mode parameter can be used to specify device permissions, it is a combination of r (for read), w (for write), and m (for mknod(2))." + - name: "--device-cgroup-rule" + description: "Add a rule to the cgroup allowed devices list" + type: "array" + items: + type: string + description: + - name: "--device-read-bps" + description: "限制设备的读取速率(每秒字节数)" + type: "array" + default: [] + items: + type: string + - name: "--device-read-iops" + description: "限制设备的读取速率(每秒I/O次数)" + type: "array" + default: [] + items: + type: string + - name: "--device-write-bps" + description: "限制设备的写入速率(每秒字节数)" + type: "array" + default: [] + items: + type: string + - name: "--device-write-iops" + description: "限制设备的写入速率(每秒I/O次数)" + type: "array" + default: [] + items: + type: string + - name: "--disable-content-trust" + description: "跳过镜像验证" + type: "boolean" + default: true + - name: "--dns" + description: "使用自定义DNS服务器" + type: "array" + default: [] + items: + type: string + - name: "--dns-option" + description: "设置DNS选项" + type: "array" + items: + type: string + - name: "--dns-search" + description: "设置自定义的DNS搜索域" + type: "array" + items: + type: string + - name: "--entrypoint" + description: "Overwrite the default ENTRYPOINT of the image" + type: "string" + - name: "--env" + description: "设置环境变量" + type: "array" + items: + type: string + - name: "--env-file" + description: "读取环境变量的文件" + type: "array" + default: [] + items: + type: string + - name: "--expose" + description: "公开一个端口或一个端口范围" + type: "array" + items: + type: string + - name: "--files-limit" + description: "调整容器文件数量限制(设置为 -1 则表示无限)" + type: "integer" + - name: "--group-add" + description: "Add additional groups to join" + type: "array" + items: + type: string + - name: "--health-cmd" + description: "运行以检查健康状况的命令" + type: "string" + - name: "--health-exit-on-unhealthy" + description: "当容器健康状况异常时,停止运行容器" + type: "boolean" + - name: "--health-interval" + description: "Time between running the check (ms|s|m|h) (default 0s)" + type: "integer" + default: 0 + - name: "--health-retries" + description: "达到一定失败次数后,开始报告健康状况异常" + type: "integer" + - name: "--health-start-period" + description: "Start period for the container to initialize before starting health-retries countdown (ms|s|m|h) (default 0s)" + type: "integer" + default: 0 + - name: "--health-timeout" + description: "Maximum time to allow one check to run (ms|s|m|h) (default 0s)" + type: "integer" + default: 0 + - name: "--hook-spec" + description: "file containing hook definition(pre-start, post-start, post-stop" + type: "string" + - name: "--hostname" + description: "容器主机名" + type: "string" + - name: "--hugetlb-limit" + description: "Huge page limit (format: [size:], e.g --hugetlb-limit 2MB:32MB)" + type: "string" + default: [] + - name: "--init" + description: "在容器内运行一个转发信号并回收进程的 init 进程" + type: "boolean" + - name: "--interactive" + description: "在后台运行时也将输出同步至标准输出(stdout)" + type: "boolean" + - name: "--ip" + description: "IPv4地址" + type: "string" + - name: "--ip6" + description: "IPv6地址" + type: "string" + - name: "--ipc" + description: "IPC mode to use" + type: "string" + - name: "--isolation" + description: "Container isolation technology" + type: "string" + - name: "--kernel-memory" + description: "容器内核内存容量。该内存不会被交换至磁盘。" + type: "integer" + - name: "--label" + description: "在容器上设置元数据" + type: "array" + items: + type: string + - name: "--label-file" + description: "Read in a line delimited file of labels" + type: "array" + items: + type: string + - name: "--link" + description: "与另一个容器相互通信" + type: "array" + items: + type: string + - name: "--link-local-ip" + description: "Container IPv4/IPv6 link-local addresses" + type: "array" + items: + type: string + - name: "--log-driver" + description: "Logging driver for the container" + type: "string" + - name: "--log-opt" + description: "log driver options" + type: "array" + items: + type: string + - name: "--mac-address" + description: "容器网卡的MAC地址" + type: "string" + - name: "--memory" + description: "容器可以使用的最大内存。单位:k, m, g" + type: "string" + example: "128m" + - name: "--memory-reservation" + description: "为容器保留的最小内存。单位:k, m, g" + type: "integer" + - name: "--memory-swap" + description: "此容器允许交换到磁盘的内存量。" + type: "integer" + - name: "--memory-swappiness" + description: "默认情况下,主机内核可以交换出容器使用的一定比例的Memory Page。您可以将 --memory-swappiness 设置为 0 到 100 之间的值,以调整此百分比。" + type: "integer" + default: -1 + - name: "--mount" + description: "attach a filesystem mount to the container" + type: "string" + - name: "--name" + description: "给容器设置容器名" + type: "string" + - name: "--network" + description: "设定容器使用的网络(接口)" + type: "string" + default: "default" + - name: "--network-alias" + description: "为容器添加网络范围别名" + type: "array" + items: + type: string + - name: "--no-healthcheck" + description: "Disable any container-specified HEALTHCHECK" + type: "boolean" + - name: "--oom-kill-disable" + description: "Disable OOM Killer" + type: "boolean" + - name: "--oom-score-adj" + description: "Tune host's OOM preferences (-1000 to 1000)" + type: "integer" + - name: "--pid" + description: "容器使用的PID命名空间" + type: "string" + - name: "--pids-limit" + description: "Tune container pids limit (set -1 for unlimited)" + type: "integer" + - name: "--privileged" + description: "使容器以特权模式运行" + type: "boolean" + - name: "--publish" + description: "将容器的端口发布到主机。格式:<主机端口>:<容器端口>" + type: "string" + example: "20001:3000" + - name: "--publish-all" + description: "将所有暴露的端口发布到随机端口" + type: "boolean" + - name: "--read-only" + description: "将容器的根文件系统设置为只读" + type: "boolean" + - name: "--restart" + description: "Restart policy to apply when a container exits" + type: "string" + default: "no" + - name: "--rm" + description: "容器退出时,自动删除该容器" + type: "boolean" + - name: "--runtime" + description: "Runtime to use for this container" + type: "string" + - name: "--security-opt" + description: "安全选项" + type: "array" + items: + type: string + - name: "--shm-size" + description: "Size of /dev/shm" + type: "integer" + - name: "--sig-proxy" + description: "Proxy received signals to the process" + type: "boolean" + default: true + - name: "--stop-signal" + description: "用于停止容器的信号" + type: "string" + default: "SIGTERM" + - name: "--stop-timeout" + description: "停止容器时的超时时间(单位:秒)" + type: "integer" + - name: "--storage-opt" + description: "Storage driver options for the container" + type: "array" + items: + type: string + - name: "--sysctl" + description: "sysctl选项" + type: "array" + default: [] + items: + type: string + - name: "--tmpfs" + description: "挂载一个tmpfs目录" + type: "array" + items: + type: string + - name: "--tty" + description: "分配一个模拟的TTY终端" + type: "boolean" + - name: "--ulimit" + description: "Ulimit options" + type: "string" + - name: "--user" + description: "Username or UID (format: [:])" + type: "string" + - name: "--userns" + description: "容器使用的用户命名空间" + type: "string" + - name: "--uts" + description: "容器使用的UTS命名空间" + type: "string" + - name: "--volume" + description: "挂载一个主机路径。格式:<主机路径>:<容器内路径>" + type: "string" + example: "/home/data:/data" + - name: "--volume-driver" + description: "Optional volume driver for the container" + type: "string" + - name: "--volume-from" + description: "从另一个容器中挂载指定目录" + type: "array" + items: + type: string + - name: "--workdir" + description: "Working directory inside the container" + type: "string" + - name: "image build" + description: "Build an image from a Dockerfile. Must provide a path for Dockerfile." + usage: "docker image build ${OPTS} ${path}" + arguments: + - name: "path" + description: "Path to the dockerfile and build context" + type: "string" + required: true + options: + - name: "--add-host" + description: "Add a custom host-to-IP mapping (host:ip)" + type: "array" + items: + type: string + - name: "--build-arg" + description: "Set build-time variables" + type: "array" + items: + type: string + - name: "--cache-from" + description: "Images to consider as cache sources" + type: "string" + - name: "--cgroup-parent" + description: "Optional parent cgroup for the container" + type: "string" + - name: "--compress" + description: "Compress the build context using gzip" + type: "boolean" + - name: "--cpu-period" + description: "Limit the CPU CFS (Completely Fair Scheduler) period" + type: "integer" + - name: "--cpu-quota" + description: "Limit the CPU CFS (completely Fair Scheduler) quota" + type: "integer" + - name: "--cpu-shares" + description: "CPU shares (relative weight)" + type: "integer" + - name: "--cpuset-cpus" + description: "CPUs in which to allow execution (0-3, 0,1)" + type: "string" + - name: "--cpuset-mems" + description: "MEMs in which to allow execution (0-3, 0,1)" + type: "string" + - name: "--disable-content-trust" + description: "Skip image verification" + type: "boolean" + default: true + - name: "--file" + description: "Name of the Dockerfile (Default is 'PATH/Dockerfile')" + type: "string" + - name: "--force-rm" + description: "Always remove intermediate containers" + type: "boolean" + - name: "--iidfile" + description: "Write the image ID to the file" + type: "string" + - name: "--isolation" + description: "Container isolation technology" + type: "string" + - name: "--label" + description: "Set metadata for an image" + type: "array" + items: + type: string + - name: "--memory" + description: "Memory limit. Supported unit: k, m, g." + type: "string" + - name: "--memory-swap" + description: "Swap limit equal to memory plus swap: '-1' to enable unlimited swap" + type: "integer" + - name: "--network" + description: "Set the networking mode for the RUN instructions during build" + type: "string" + default: "default" + - name: "--no-cache" + description: "Do not use cache when building the image" + type: "boolean" + - name: "--pull" + description: "Always attempt to pull a newer version of the image" + type: "boolean" + - name: "--quiet" + description: "Suppress the build output and print image ID on success" + type: "boolean" + - name: "--rm" + description: "Remove intermediate containers after a successful build" + type: "boolean" + default: true + - name: "--security-opt" + description: "Security options" + type: "string" + - name: "--shm-size" + description: "Size of /dev/shm" + type: "integer" + - name: "--tag" + description: "Name and optionally a tag in the 'name:tag' format" + type: "array" + items: + type: string + - name: "--target" + description: "Set the target build stage to build." + type: "string" + - name: "--ulimit" + description: "Ulimit options (default [])" + type: "string" + - name: "image history" + description: "Show the history of an image" + usage: "docker image history ${OPTS} ${image}" + arguments: + - name: "image" + description: "The name of the docker image" + type: "string" + example: "nginx:latest" + required: true + options: + - name: "--format" + description: "Pretty-print images using a Go template" + type: "string" + - name: "--human" + description: "Print sizes and dates in human readable format" + type: "boolean" + default: true + - name: "--no-trunc" + description: "Don't truncate output" + type: "boolean" + - name: "--quiet" + description: "Only show numeric IDs" + type: "boolean" + - name: "image import" + description: "Import the contents from a tarball to create a filesystem image" + usage: "docker image import ${OPTS} ${file}" + arguments: + - name: "file" + description: "the name of image file" + type: "string" + required: true + options: + - name: "--change" + description: "Apply Dockerfile instruction to the created image" + type: "array" + items: + type: string + - name: "--message" + description: "Set commit message for imported image" + type: "string" + - name: "image inspect" + description: "Display detailed information on one or more images" + usage: "docker image inspect ${OPTS} ${image}" + arguments: + - name: "image" + description: "The name of the docker image" + type: "string" + required: true + example: "nginx:latest" + multiple: true + options: + - name: "--format" + description: "Format the output using the given Go template" + type: "string" + - name: "image load" + description: "Load an image from a tar archive or STDIN" + usage: "docker image load ${OPTS}" + options: + - name: "--input" + description: "Read from tar archive file, instead of stdin" + type: "string" + - name: "--quiet" + description: "Suppress the load output" + type: "boolean" + - name: "image ls" + description: "List images" + usage: "docker image ls ${OPTS} ${repo}" + arguments: + - name: "repo" + description: "The name of the docker image" + type: "string" + example: "docker.io" + options: + - name: "--all" + description: "Show all images (default hides intermediate images" + type: "boolean" + - name: "--digests" + description: "Show digests" + type: "boolean" + - name: "--filter" + description: "Filter output based on conditions provided" + type: "string" + - name: "--format" + description: "Pretty-print images using a Go template" + type: "string" + - name: "--no-trunc" + description: "Don't truncate output" + type: "boolean" + - name: "--quiet" + description: "Only show numeric IDs" + type: "boolean" + - name: "image prune" + description: "删除未使用的镜像" + usage: "docker image prune ${OPTS}" + options: + - name: "--all" + description: "删除所有未使用的镜像,而不仅仅是没有Tag的的镜像" + type: "boolean" + - name: "--filter" + description: "提供过滤条件(例如 'until=<时间戳>')" + type: "string" + - name: "--force" + description: "强制执行操作" + type: "boolean" + - name: "image pull" + description: "从镜像仓库中拉取一个镜像或者Repo" + usage: "docker image pull ${OPTS} ${image}" + arguments: + - name: "image" + description: "Docker镜像名称" + type: string + example: "nginx:latest" + required: true + options: + - name: "--all-tags" + description: "下载Repo中所有带标签的Docker镜像" + type: "boolean" + - name: "--disable-content-trust" + description: "跳过镜像验证" + type: "boolean" + default: true + - name: "image push" + description: "将某一镜像或Repo推送至镜像仓库" + usage: "docker image push ${OPTS} ${image}" + arguments: + - name: "image" + description: "Docker镜像名称" + type: string + example: "nginx:latest" + required: true + options: + - name: "--disable-content-trust" + description: "跳过镜像签名步骤" + type: "boolean" + default: true + - name: "image rm" + description: "删除一个或多个镜像" + usage: "docker image rm ${OPTS} ${image}" + arguments: + - name: "image" + description: "Docker镜像名称" + type: "string" + required: true + multiple: true + example: "nginx:latest" + options: + - name: "--force" + description: "强制执行操作" + type: "boolean" + - name: "--no-prune" + description: "Do not delete untagged parents" + type: "boolean" + - name: "image save" + description: "Save one or more images to a tar archive (streamed to STDOUT by default)" + usage: "docker image save ${OPTS} ${image}" + arguments: + - name: "image" + description: "The name of the docker image." + type: string + example: "nginx:latest" + required: true + options: + - name: "--compress" + description: "Compress layers when saving images" + type: "boolean" + - name: "--output" + description: "Write to a file, instead of STDOUT" + type: "string" + - name: "image tag" + description: "Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE" + usage: "docker image tag ${source_image} ${target_image}" + arguments: + - name: "source_image" + description: "The name of the source docker image." + type: "string" + required: true + example: "nginx:latest" + - name: "target_image" + description: "The name of the target docker image." + type: "string" + required: true + example: "nginx:1.9.1" diff --git a/plugins/HelloWord/plugin.json b/plugins/HelloWord/plugin.json new file mode 100644 index 00000000..62fe8ad6 --- /dev/null +++ b/plugins/HelloWord/plugin.json @@ -0,0 +1,6 @@ +{ + "id": "CommandGen", + "name": "Shell命令生成", + "description": "该插件依据用户的输入,生成单条Linux Shell命令。例如:用户输入“列出当前文件夹下全部文件”,输出“ls -a”。", + "predefined_question": "" +} \ No newline at end of file -- Gitee