资讯详情

nonebot2 Sky—ChatAI模型

📅 2026/10/29 10:17:22 | 华诺云谱 👁 阅读
nonebot2 Sky—ChatAI模型
目录账号准备需要修改部分注意事项使用教程效果展示缺点账号准备先进入天工开放平台官网天工开放平台进入后先注册好个人账号要实名认证如图可见有四个可用的模型本文章只讲模型Sky-Chat跳转到“接口调用案例”可见基本py代码。上面写了具体参数和返回内容案例。先来看官方给的代码# -*- coding: utf-8 -*- import requests import time import hashlib import json url https://{API_HOST}/saas/api/v4/generate app_key YOUR_APP_KEY # 这里需要替换你的APIKey app_secret YOUR_APP_SECRET # 这里需要替换你的APISecret timestamp str(int(time.time())) sign_content app_key app_secret timestamp sign_result hashlib.md5(sign_content.encode(utf-8)).hexdigest() # 设置请求头请求的数据格式为json headers{ app_key: app_key, timestamp: timestamp, sign: sign_result, Content-Type: application/json, stream: true # or change to false 不处理流式返回内容 } # 设置请求URL和参数 data { messages: [ { role: system, content: 你的名字叫做小奇是一个智能AI助手 }, { role: user, content: 给我一个赚取10w的方法 } ], model: SkyChat-MegaVerse } # 发起请求并获取响应 response requests.post(url, headersheaders, jsondata, streamTrue) # 处理响应流 for line in response.iter_lines(): if line: # 处理接收到的数据 print(line.decode(utf-8))需要修改部分API_HOSTAPIKeyAPISecret触发方式以及需要发送内容data内部最后的发送代码以下代码是复制的我机器人的另一个指令代码所以能用但是没有去纠察有什么不方便或需要修改的地方了自己可以改,注意该导入的模块都要导入tiangong on_command(天工) tiangong.handle() async def _handle(matcher: Matcher, naka: Message CommandArg()): if naka.extract_plain_text(): matcher.set_arg(naka, naka) tiangong.got(naka, prompt提示信息) async def _(naka: str ArgPlainText(naka)): # -*- coding: utf-8 -*- url https://sky-api.singularity-ai.com/saas/api/v4/generate app_key 替换部分 # 这里需要替换你的APIKey app_secret 替换部分 # 这里需要替换你的APISecret timestamp str(int(time.time())) sign_content app_key app_secret timestamp sign_result hashlib.md5(sign_content.encode(utf-8)).hexdigest() # 设置请求头请求的数据格式为json headers{ app_key: app_key, timestamp: timestamp, sign: sign_result, Content-Type: application/json, stream: true # or change to false 不处理流式返回内容 } # 设置请求URL和参数 data { messages: [ { role: system, content: 人设 }, { role: user, content: f{naka} } ], model: SkyChat-MegaVerse } response requests.post(url, headersheaders, jsondata, streamTrue) all_replies # 初始化一个空字符串用于存储所有的reply值 for line in response.iter_lines(): if line: response_json line.decode(utf-8) response_data json.loads(response_json) try: reply response_data[resp_data][reply] all_replies reply # 将新的reply值附加到all_replies字符串上 except KeyError as e: print(fError extracting reply: {e}) # 当所有reply都已读取后发送合并后的字符串 await tiangong.send(all_replies) # 发送合并后的回复注意事项API_HOST 在文档重要参数里有写是sky-api.singularity-ai.com替换至代码部分即可。APIKey和APISecret在个人中心的账户管理会给你一个要先注册实名替换至代码即可。以上代码“人设”部分用于写自己想要机器人的人设可以去B站照抄这个模型我觉得不是很好的原因是因为一旦用到搜索功能就会把人设忘的一干二净也有可能是我的人设写的不好最后一段发送代码有很大区别的原因是原代码返回的是由一堆json构成的字典此时你要把所有resp_data.reply里的字符都放入一个字符串再输出代码部分照抄就行不好好看参数文档的后果就是我这样其他具体需要修改的参数还请自行查看官方文档文章开头的那个网站就有使用教程先输入指令“/天工”可以自己改指令名或设置成关键词或者不got直接后文去除前触发关键词等都行。got的内容会存入“naka”中prompt里放提示信息即指令调出AI之后会发送的提示信息具体效果看本文章效果演示替换掉data中本该发送的内容。此时你会发现发送的内容是“余额不足”此时就需要你去官网充值了各个模型具体价目表如下效果展示缺点难以达到前后文记忆的功能有想过开一个新的json或者全局变量去存储前几句并在某次数之内提前发送处理但很明显我搞不明白。有没有大佬可以去研究一下
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑