diff --git a/config.yaml.template b/config.yaml.template index 9d507e6..e23de14 100644 --- a/config.yaml.template +++ b/config.yaml.template @@ -57,3 +57,11 @@ report_reminder: tigerbot: key: key model: tigerbot-7b-sft + +# 使用讯飞星火web模式api需要抓取以下参数 +# 抓取方式详见文档:https://www.bilibili.com/read/cv27066577 +# xinghuo_web: +# cookie: cookie +# fd: fd +# GtToken: GtToken +# prompt: 你是智能聊天机器人,你叫wcferry。请用这个角色回答我的问题 # 根据需要对角色进行设定 diff --git a/configuration.py b/configuration.py index 517d96e..afc2b04 100644 --- a/configuration.py +++ b/configuration.py @@ -32,3 +32,4 @@ class Config(object): self.NEWS = yconfig["news"]["receivers"] self.REPORT_REMINDERS = yconfig["report_reminder"]["receivers"] self.TIGERBOT = yconfig.get("tigerbot") + self.XINGHUO_WEB = yconfig.get("xinghuo_web") diff --git a/func_xinghuo_web.py b/func_xinghuo_web.py new file mode 100644 index 0000000..266eadf --- /dev/null +++ b/func_xinghuo_web.py @@ -0,0 +1,29 @@ +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- +from sparkdesk_web.core import SparkWeb + + +class XinghuoWeb(): + def __init__(self, xhconf=None) -> None: + + self._sparkWeb = SparkWeb( + cookie=xhconf["cookie"], + fd=xhconf["fd"], + GtToken=xhconf["GtToken"], + ) + self._chat = self._sparkWeb.create_continuous_chat() + # 如果有提示词 + if xhconf["prompt"]: + self._chat.chat(xhconf["prompt"]) + + def get_answer(self, msg: str, sender: str = None) -> str: + answer = self._chat.chat(msg) + return answer + + +if __name__ == "__main__": + from configuration import Config + c = Config() + xinghuo = XinghuoWeb(c.XINGHUO_WEB) + rsp = xinghuo.get_answer("你还活着?") + print(rsp) diff --git a/requirements.txt b/requirements.txt index f76c6fa..0394075 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,4 +5,6 @@ pandas pyyaml requests schedule +pyhandytools +sparkdesk-api==1.3.0 wcferry>=39.0.3.0 diff --git a/robot.py b/robot.py index 5950ae9..c635b19 100644 --- a/robot.py +++ b/robot.py @@ -14,6 +14,7 @@ from func_chatgpt import ChatGPT from func_chengyu import cy from func_news import News from func_tigerbot import TigerBot +from func_xinghuo_web import XinghuoWeb from job_mgmt import Job @@ -33,6 +34,8 @@ class Robot(Job): elif self.config.CHATGPT: cgpt = self.config.CHATGPT self.chat = ChatGPT(cgpt.get("key"), cgpt.get("api"), cgpt.get("proxy"), cgpt.get("prompt")) + elif self.config.XINGHUO_WEB: + self.chat = XinghuoWeb(self.config.XINGHUO_WEB) else: self.chat = None