庆云古诗词

庆云古诗词

域网络组建教程 stable diffusion

互联资讯 0

淘宝搜:【天降红包222】领超级红包,京东搜:【天降红包222】
淘宝互助,淘宝双11微信互助群关注公众号 【淘姐妹】

域网络搭建,设置域网络,如何构建域网络环境,域网络怎么加入

大部分人都只是正常启动Stable Diffusion去使用,但是Stable Diffusion其实是可以脱离本机远程使用的。假如你在台式电脑运行了Stable Diffusion,但是可以躺在床上用手机去进行AI绘画,是不是会感觉更舒服一些?也可以分享给你的好友,让他们一起使用你部署好的Stable Diffusion进行绘画。

本地模型也就是你不更改任何设置,直接默认加载运行SD。该方式可以通过该电脑的本地或进行访问。

就是本地的主机地址,每一台Windows电脑都会有,它的默认IP地址为,也可以理解为=,没有任何区别。

我们已经有IP地址可以访问了,那么后面的的作用是什么?

这个我们俗称为端口号,我们可以理解为一个衣柜有很多个抽屉,每个抽屉都用来存放不同的用品,就是电脑系统中的一个抽屉,只有指定了抽屉的号码,才可以让系统更明确你所想使用的目的。比如我们可以为再安装一个开源项目,端口号为,那么当我们访问时,就可以打开该开源项目的操作界面啦。

这样做的最大好处就是一个IP地址,可以同时挂起很多个应用,互不干涉。

如果你希望在当前电脑内运行SD,然后通过其它电脑访问SD进行绘图,可以使用以下方式进行。

首先获取已经运行SD的电脑IP地址,我们可以通过CMD命令行来快速获取。

ipconfig

我们将会得到如下信息

C:\\Users\\openA>ipconfig  Windows IP 配置  以太网适配器 以太网:     连接特定的 DNS 后缀 . . . . . . . :    IPv6 地址 . . . . . . . . . . . . : 251e:30e:4235:7c40:c2a3:104:1338:c224    临时 IPv6 地址. . . . . . . . . . : 251e:30e:4235:7c40:6d06:af10:74a5:5ac2    本地链接 IPv6 地址. . . . . . . . : fe80::d324:2e9e:bf39:7b2e    IPv4 地址 . . . . . . . . . . . . : 192.168.0.106    子网掩码  . . . . . . . . . . . . : 255.255.255.0    默认网关. . . . . . . . . . . . . : fe80::a236:beff:fea0:7eb8                                        192.168.0.1  无线局域网适配器 WLAN:     媒体状态  . . . . . . . . . . . . : 媒体已断开连接    连接特定的 DNS 后缀 . . . . . . . :  无线局域网适配器 本地连接* 1:     媒体状态  . . . . . . . . . . . . : 媒体已断开连接    连接特定的 DNS 后缀 . . . . . . . :  无线局域网适配器 本地连接* 2:     媒体状态  . . . . . . . . . . . . : 媒体已断开连接    连接特定的 DNS 后缀 . . . . . . . :  以太网适配器 蓝牙网络连接:     媒体状态  . . . . . . . . . . . . : 媒体已断开连接    连接特定的 DNS 后缀 . . . . . . . : 

我在在这段回显当中,只需要记住IPv4地址的值即可,也就是,每台电脑所获取到的局域网地址都是不同的,因为这会通过路由器或交换机的DDNS进行自动分配,将一个IP地址分配给你的电脑进行使用,所以一定要自行获取。

在我们得到地址之后,打开SD项目目录的文件,在一行,添加参数,保存即可。

@echo off  git pull  set PYTHON=set GIT=set VENV_DIR=set COMMANDLINE_ARGS=--listen  call webui.bat

此时我们重新启动SD,原本的提示信息已经变更为,我们无法直接打开这个网址,因为我们目前已经变更为局域网模式。

我们可以在本地或局域网内的其它电脑,通过访问来启动。这样做的优点就是可以用低配置电脑远程操作SD,省去多人共用一台电脑的排队困扰。

? 注意:局域网状态下无法安装、更新、卸载任何插件,因为每个人的需求不同,如果局域网内的用户A删除了一个局域网B用户需要使用的插件,这会导致其它用户无法运行,所以局域网状态下的任何终端用户都无法对插件拓展项进行设置。

什么是公网?公网是公共网络的简称,我们可以通过以下表格来对比一下各种模式之间的区别。

类型描述
本地模式仅本地运行SD的电脑可以使用AI绘画
局域网模式在与SD电脑使用同一路由器或交换机的其它终端设备上,也可以远程操作SD的AI绘画功能。
公网模式任何可以访问互联网的电脑或其它终端设备,都可以使用SD进行AI绘画。

在了解了公网模式的作用之后,我们对webui-user.bat文件进行修改。

@echo off  git pull  set PYTHON=set GIT=set VENV_DIR=set COMMANDLINE_ARGS=--share  call webui.bat

此时重新启动SD之后,会生成一个可以直接公网访问的链接>,该链接为临时链接。

公网模式下的链接有效期为72小时,也就是三天的时间。

为什么有效期为72小时?因为这个操作界面的功能由Gradio提供,如果你需要无限时长的访问,则需要购买其服务。不过这一般是没有必要的,我们只需要在72小时到期之前后之后重启电脑即可刷新访问时长的限制。

因为我们的SD服务通过Share参数已经将设备暴露于公网之下,所以为了安全起见,我们可以添加账号密码功能。这样只有知道账号密码的人才能够登录并使用SD,避免算力浪费。

如果你需要账号密码功能,我们则需要再次修改配置文件,添加参数,其中的为用户名,为密码。

例如,我们想设置用户名为,密码为,则将文件修改为以下内容。

@echo off  git pull  set PYTHON=set GIT=set VENV_DIR=set COMMANDLINE_ARGS=--share --gradio-auth openAI:ABC123  call webui.bat

按道理来说,这样设置就已经可以了,但是SD所支持的界面依赖版本不是最新,这个版本的Gradio存在一个BUG,那就是登陆后无法正常与API交互,所以此时我们需要再添加一个参数即可。

@echo off  git pull  set PYTHON=set GIT=set VENV_DIR=set COMMANDLINE_ARGS=--share --gradio-auth openAI:ABC123 --no-gradio-【【微信】】.bat

此时我们重新运行SD启动文件,我们可以看到如下内容:

Running on local URL:  <http://127.0.0.1:7860> Running on public URL: <https://fbf87879-b701-31d8.gradio.live>

其中那一串晦涩难懂的地址,为我们可以访问的公网地址,我们通过该地址访问之后,将会看到如下的登陆界面。

? 注意:局域网状态下无法安装、更新、卸载任何插件,因为每个人的需求不同,如果局域网内的用户A删除了一个局域网B用户需要使用的插件,这会导致其它用户无法运行,所以局域网状态下的任何终端用户都无法对插件拓展项进行设置。

什么是公网IP?公网IP也就是可以共享到网络上给别人访问的IP地址,这个地址具有唯一性,但可能随时变更。如果你希望自己的公网IP地址能够永久有效不变更,我们可以通过动态DDNS解析功能来进行设置,通过程序后台实时获取公网IP地址,然后通过域名实时解析该地址即可达到通过域名访问的目的。但是此部分内容较长,涉及到的其它内容较多,不展开讲解。

正常来说是只有自己的电脑可以访问。这种地址是有使用同一路由器或交换机的设备可以相互访问的。如果你希望自己的设备可以在公网中能够正常使用,需要打电话给自己的宽带运营商申请公网IP。

在国外就不用考虑申请公网IP这个问题,因为国外的人口较少,公网IP地址是绝对够用的。但国内无论是人口还是设备都非常多,而IPv4的地址段有限,所以默认情况下各宽带运营商是不会为我们开通公网IP功能的。

  • 移动宽带近两年申请公网的可能性几乎为0%
  • 联通宽带近两年申请公网的可能性不足30%
  • 电信宽带近两年申请公网的可能性较大,但是需要亲自到营业厅签署公网申请协议,避免非法用途。

如果你没有公网IP,那么其他人即使拥有你的SD公网链接和账号密码,也是无法远程访问SD进行AI绘画的。

点击下文前往Stable Diffusion的教程总目录,学习其它内容。

Stable Diffusion|全方位教程指南


OpenAI官方教程:如何使用基于embeddings检索来解决GPT无法处理长文本和最新数据的问题

openal怎么用,open aip,openai gym 教程,open的教程
出chatgpt独享账号!内含5美元!仅需38元/个!独享永久使用!点击购买!

本文来自DataLearner官方博客:OpenAI官方教程:如何使用基于embeddings检索来解决GPT无法处理长文本和最新数据的问题 | 数据学习者官方网站(Datalearner)

这是OpenAI官方的cookebook最新更新的一篇技术博客,里面说明了为什么我们需要使用embeddings-based的搜索技术来完成问答任务。

尽管GPT的能力很强,但是OpenAI认为,基于embeddings的搜索依然十分重要。甚至,这种方式比模型做fine-tuning更好。本篇博客将简单介绍一下为什么OpenAI认为目前基于embeddings的搜索是GPT的最强补充能力!

一、GPT的缺点

尽管目前GPT-4或者ChatGPT的能力已经很强大,但是目前它依然有很大的缺陷:

训练数据是基于2021年9月之前的数据,缺少最新的数据无法访问我们无法公开的文档基于历史会话中获取信息

因此,OpenAI发布了这样一篇文档,说明如何使用两步搜索回答来增强GPT的能力:

搜索:搜索您的文本库以查找相关的文本部分。请求:将检索到的文本部分插入到发送给GPT的消息中,并向其提出问题。二、为什么搜索比fine-tuning更好?

GPT可以通过两种方式学习知识:

通过模型权重(即在训练集上微调模型)通过模型输入(即将知识插入到输入消息中)

尽管微调可能感觉更自然――毕竟,通过数据训练是GPT学习所有其他知识的方式――但OpenAI通常不建议将其作为教授模型知识的方式。微调更适合于教授专业任务或风格,对于事实回忆来说则不太可靠。

注意,这里说的是事实回忆,也就是说,如果你有自己的数据,只想从数据中获得知识或者获得相关的内容,那么搜索比微调可能更好。举个例子来说,如果你有大批的历史数据,你只想找到数据中你需要的部分,包括某些概念在哪里出现过,为什么使用了它等等。这些都算是事实回忆。

但是,如果你希望模型可以基于某种模式生成某些内容。例如,你希望模型可以基于XX风格生成某些工作日志甚至是宣传内容,那么微调可能效果更好。

类比来说,模型权重就像长期记忆。当您对模型进行微调时,就像为一周后的考试而学习。当考试到来时,模型可能会忘记细节,或者错误地记住它从未读过的事实。

相比之下,消息输入就像短期记忆。当您将知识插入消息时,就像带着开放的笔记参加考试。有了笔记,模型更有可能得出正确的答案。

相对于微调,文本搜索的一个缺点是每个模型一次只能读取有限数量的文本,以OpenAI为例,其一次输入的内容限制如下:

模型名称文本最长输入gpt-3.5-turbo4096个tokens(大约5页)gpt-48192个tokens(大约10页)gpt-4-32k32768个tokens(约40页)

延续这个比喻,您可以将模型想象成一位学生,尽管可能有许多参考书可供借鉴,但一次只能查看几页笔记。

因此,为了构建一个能够利用大量文本回答问题的系统,OpenAI建议使用“搜索-提问”方法。

三、文本检索

搜索文本的方法很多,包括:

基于词汇的搜索(Lexical-based)基于图形的搜索(Graph-based)基于嵌入的搜索(【【淘密令】】-based)

OpenAI推荐的词嵌入方法。嵌入很容易实现,并且在问题中表现尤为出色,因为问题通常在词汇上不会与它们的答案重叠。

可以考虑将仅使用嵌入的搜索视为作为整个系统的起点。更好的搜索系统可能会结合多种搜索方法,以及特性,如受欢迎程度、最近性、用户历史记录、与先前搜索结果的冗余、点击率数据等。

通过将问题首先转换为假设的答案然后再进行嵌入的技术,如HyDE,也可以提高问答检索的性能。同样,GPT还可以通过自动将问题转换为一组关键词或搜索术语来潜在地改善搜索结果。

四、如何建立基于embeddings的搜索系统来解决问题

总的来说,这样的系统包含3个步骤:准备需要检索的知识、检索、提问即可:

准备搜索数据(仅一次)收集:即获取你要用的数据,例如OpenAI的案例是下载几百篇有关2022年奥运会的维基百科文章切块:将文档分成短小的、大多是自包含的部分以进行嵌入嵌入:使用OpenAI API对每个部分数据获得embeddings结果存储:存储embedding是(对于大型数据集,可以使用向量数据库)搜索(每次查询一次)给定用户问题,从OpenAI API生成查询的embeddings使用embeddings,按照与查询相关性对文本部分进行排序提问(每次查询一次)将问题和最相关的部分插入到发送给GPT的消息中返回GPT的答案

关于这种方式的成本分析和实际代码样例参考原文:OpenAI官方教程:如何使用基于embeddings检索来解决GPT无法处理长文本和最新数据的问题 | 数据学习者官方网站(Datalearner)

【本文地址】