Giter VIP home page Giter VIP logo

nonebot_plugin_zyk_novelai's Introduction

📝 nonebot_plugin_zyk_novelai

Security Status

本插件基于Naifu端配置制作

📄 使用本插件前请仔细阅读README文档

✨ 新版本一览

📌 version 2.9.5.2

都更新了哪些内容?

  1. 优化代码结构
  2. 重写正则响应器,prompt和uc参数后都要带一对英文双引号

📈 预计未来更新的内容

  1. 更新tag数据库

💿 安装方式

  • 使用pip

pip install nonebot_plugin_zyk_novelai
  • 使用nb-cli

nb plugin install nonebot_plugin_zyk_novelai

🚀 配置后端(Colab部署)

  1. 使用4chan魔改版NovelAILeaks(naifu)的Colab后端:配置后端

    • 配置需要科学上网(大陆无法访问Colab)和谷歌账户
  2. 请按照要求配置好后在env文件中填写生成的URL或使用指令发送给机器人

    • 注意,URL格式通常为:https://THIS-IS-A-SAMPLE.trycloudflare.com/ 注意在末尾加上斜杠“/”!

    image

  3. 发送请求报错:(报EOF相关的错误)

    • 请在env文件中填写代理使用的的本地代理端口,并确保开着代理
  4. Colab端无法配置问题:普通谷歌账户使用Colab会有GPU使用时限。解决方法:

    • 等一段时间,一般半天或一天就会恢复使用
    • 多开几个谷歌账户轮流使用,重复步骤一
    • 付费购买或订阅
    • 使用本地版Naifu,需要NVIDIA显卡

    image

🔧 env配置

Name Example Type Usage Required
novelai_post_url https://THIS-IS-A-SAMPLE.trycloudflare.com/ str 后端URL No
novelai_proxy_port 10809 int 本地代理端口 No
novelai_img_time 30 int 生图时间限制 No
novelai_withdraw_time 20 int 撤回时间 No
novelai_cd_time 10 int CD时间 No
novelai_white_list [1234567890] list 白名单,无CD限制 No
novelai_black_list [1234567890] list 黑名单,无法使用生图功能 No

🏷️ 指令

查看当前配置信息

(COMMAND_START)check state

eg:
   /check state

设置后端URL

set_url:https://THIS-IS-A-SAMPLE.trycloudflare.com/

或直接在env配置文件中填写

novelai_post_url=https://THIS-IS-A-SAMPLE.trycloudflare.com/

普通绘图

ai绘图 | AI绘图 | ai作图 | AI作图 [scale=] [steps=] [size=] [seed=] [prompt=] [uc=]

eg:
   ai绘图 steps=50 prompt="{masterpiece}, best quality, {1 girl with black long hair and {{red light eyes}} wearing white dress and white leggings}, {loli:2}, full body, {sitting in sofa}, {looking at viewer} AND {dislike and void}, dark background"
  • 随机prompt指令参数

以图生图和普通模式都可以使用

  1. 不加prompt参数默认使用随机prompt,当然tag个数也将随机

  2. 使用随机prompt指令参数指定tag个数

    prompt="RandomP (num)"
      
    eg:
       prompt="RandomP 30"
    

以图生图

和普通生图指令基本一样

以图生图 | img2img (your image) [strength=] [noise=] [scale=] [size=] [seed=] [prompt=] [uc=]

eg:
   img2img (an image) strength=0.5 noise=0.4 size=1024x512
  • 📖 附参数说明

更详细的参数说明见后文

参数strength和noise都是一个float(浮点) 类型的数,且应 <=0.99

搜索魔咒

(COMMAND_START)补魔 | 召唤魔咒 | 搜索魔咒 名称

eg:
   /补魔 吊带袜

💡 生图指令参数说明

在使用生图指令时,请严格规范指令格式(参数位置),否则无法触发响应(生图响应器使用正则匹配)

参数支持

普通生图指令支持参数:

  • scale (可选) 默认12
  • steps (可选) 默认28
  • seed (可选) 默认随机
  • size (可选) 默认512x768
  • uc (可选) 默认 Naifu通用反咒
  • prompt (可选) 默认随机

以图生图指令支持参数:

  • size (可选) 默认按原图尺寸匹配
  • strength (可选) 默认0.7
  • noise (可选) 默认0.2
  • scale (可选) 默认12
  • seed (可选) 默认随机
  • uc (可选) 默认 Naifu通用反咒
  • prompt (可选) 默认随机

📃 参数解释

  • scale:在高scale下,提示将更紧密地遵循,细节和清晰度更高。低scale通常会导致更大的创作自由度,但清晰度降低

  • steps:优化图像的迭代次数

  • seed:图像种子

  • size:图像尺寸

  • strength:控制上传图像的更改量。较低的强度将生成更接近原始图像的图像

  • noise:较高的噪点会增加添加到上传图像的细节,但如果太高,则会导致伪影。通常,噪声应始终小于强度

  • uc:不需要的内容(反咒)

🥚 补充

❓ 什么是本地代理端口?

本地代理端口指的就是你的代理软件所使用的(系统)端口

如何查看本地代理端口? (以Windows 10 为例)

查看本地代理端口

其中的端口即你的本地代理端口


🐛 如果发现插件有BUG或有建议,欢迎合理Issue

❤️ 最后,如果你喜欢本插件,就请给本插件点个⭐吧

nonebot_plugin_zyk_novelai's People

Contributors

zyksslm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

nonebot_plugin_zyk_novelai's Issues

非Windows系统下读取数据库失败导致随机tag无法生成

错误提示是sqlite3.OperationalError: no such table: main_tags,原因是work.py里使用了db_path = os.path.abspath(os.path.dirname(__file__)) + r"\resource\novelai_tags.db"生成数据库路径,而在非Windows系统下'\'并不是路径分隔符。
推荐使用db_path = os.path.join(os.path.abspath(os.path.dirname(__file__)), "resource","novelai_tags.db")来合并路径。

这怎么解决呢

2022-12-24 04:07:41,403 INFO main.py(11524) - Request took 13.741 seconds
INFO: 172.104.99.44:0 - "POST /generate-stream HTTP/1.1" 200 OK
INFO: 172.104.99.44:0 - "GET /_next/static/media/sparkles.b1e1a420.svg HTTP/1.1" 200 OK
INFO: 172.104.99.44:0 - "GET /_next/static/media/clipboard.579cb9e6.svg HTTP/1.1" 200 OK
INFO: 172.104.99.44:0 - "GET /_next/static/media/variations.d35c8a3a.svg HTTP/1.1" 200 OK
INFO: 172.104.99.44:0 - "GET /_next/static/media/save.36b86afc.svg HTTP/1.1" 200 OK
INFO: 172.104.99.44:0 - "GET /_next/static/chunks/157.4184b7ea2aeb8d93.js HTTP/1.1" 200 OK
100% 50/50 [00:18<00:00, 2.70it/s]
2022-12-24T04:10:33Z ERR error="Incoming request ended abruptly: context canceled" cfRay=77e67c6b210825f2-NRT originService=http://localhost:6969
2022-12-24T04:10:33Z ERR Request failed error="Incoming request ended abruptly: context canceled" connIndex=2 dest=https://helping-massage-angeles-waste.trycloudflare.com/generate-stream ip=198.41.200.23 type=http
2022-12-24 04:10:35,163 INFO main.py(11524) - Request took 21.268 seconds

后端提示Name or service not known

image

用check state观察到后端地址为:xxx.trycloudflare.com/generate-stream,然后浏览器打开这个页面实际上是404的,服务器ping这个域名可以ping通,网络没有问题,是不是后端地址的规则需要修改?

后端请求失败

大佬,我的请求后输出的是“后端请求失败”,是我的env设置格式有问题吗,恳请大佬指正.
这是我的设置:
novelai_post_url = "https://***-stevens.trycloudflare.com/"
novelai_proxy_port = "
"

后端报错导致插件一直处于占用中

在work.py的get_data中有可能网络请求失败或是其他原因导致后端返回错误未能被124行的正则匹配,导致出现以下错误:

  File ".../nonebot_plugin_zyk_novelai/work.py", line 124, in get_data
    error = findall(r'"error":"(?P<error>.*?)"', info)[0]
IndexError: list index out of range

出错后机器人会一直处于资源占用中状态而拒绝回应绘图指令。

机器人报错

12-10 08:38:51 [INFO] nonebot | Matcher(type='message', module=nonebot_plugin_zyk_novelai) running complete
12-10 08:38:51 [ERROR] nonebot | Running Matcher(type='message', module=nonebot_plugin_zyk_novelai) failed.
Traceback (most recent call last):
File "", line 1, in
File "/usr/local/python3/lib/python3.11/multiprocessing/spawn.py", line 120, in spawn_main
exitcode = _main(fd, parent_sentinel)
File "/usr/local/python3/lib/python3.11/multiprocessing/spawn.py", line 133, in _main
return self._bootstrap(parent_sentinel)
File "/usr/local/python3/lib/python3.11/multiprocessing/process.py", line 314, in _bootstrap
self.run()
File "/usr/local/python3/lib/python3.11/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/python3/lib/python3.11/site-packages/uvicorn/_subprocess.py", line 76, in subprocess_started
target(sockets=sockets)
File "/usr/local/python3/lib/python3.11/site-packages/uvicorn/server.py", line 60, in run
return asyncio.run(self.serve(sockets=sockets))
File "/usr/local/python3/lib/python3.11/asyncio/runners.py", line 190, in run
return runner.run(main)
File "/usr/local/python3/lib/python3.11/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
File "/usr/local/python3/lib/python3.11/site-packages/nonebot/message.py", line 142, in _check_matcher
await _run_matcher(Matcher, bot, event, state, stack, dependency_cache)

File "/usr/local/python3/lib/python3.11/site-packages/nonebot/message.py", line 188, in _run_matcher
await matcher.run(bot, event, state, stack, dependency_cache)
File "/usr/local/python3/lib/python3.11/site-packages/nonebot/internal/matcher/matcher.py", line 727, in run
await self.simple_run(bot, event, state, stack, dependency_cache)
File "/usr/local/python3/lib/python3.11/site-packages/nonebot/internal/matcher/matcher.py", line 702, in simple_run
await handler(
File "/usr/local/python3/lib/python3.11/site-packages/nonebot/dependencies/init.py", line 108, in call
return await cast(Callable[..., Awaitable[R]], self.call)(**values)
File "/usr/local/python3/lib/python3.11/site-packages/nonebot_plugin_zyk_novelai/init.py", line 189, in _
data = await get_data(post_url=post_url, size=size, prompt=prompt, proxies=proxies, uc=uc, steps=steps, scale=scale, seed=seed)
NameError: name 'proxies' is not defined

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.