diff --git a/.env b/.env new file mode 100644 index 000000000..6e242e1f5 --- /dev/null +++ b/.env @@ -0,0 +1,26 @@ +# 您不应该修改默认值,这个文件被仓库索引,请修改.env.prod +ENVIRONMENT=prod +HOST=127.0.0.1 +PORT=8080 + +COMMAND_START=["/"] + +# 插件配置 +PLUGINS=["src2.plugins.chat"] + +# 默认配置 +MONGODB_HOST=127.0.0.1 +MONGODB_PORT=27017 +DATABASE_NAME=MegBot + +MONGODB_USERNAME = "" # 默认空值 +MONGODB_PASSWORD = "" # 默认空值 +MONGODB_AUTH_SOURCE = "" # 默认空值 + +#key and url +CHAT_ANY_WHERE_KEY= +SILICONFLOW_KEY= +CHAT_ANY_WHERE_BASE_URL=https://api.chatanywhere.tech/v1 +SILICONFLOW_BASE_URL=https://api.siliconflow.cn/v1/ +DEEP_SEEK_KEY= +DEEP_SEEK_BASE_URL=https://api.deepseek.com/v1 \ No newline at end of file diff --git a/.gitignore b/.gitignore index c19b9ce33..097126da9 100644 --- a/.gitignore +++ b/.gitignore @@ -14,7 +14,7 @@ reasoning_content.bat reasoning_window.bat queue_update.txt memory_graph.gml -.env.dev +.env.* # Byte-compiled / optimized / DLL files @@ -147,7 +147,6 @@ celerybeat.pid *.sage.py # Environments -.env .venv env/ venv/ diff --git a/Dockerfile b/Dockerfile index 111466ff3..6a7aa09c0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,8 +2,7 @@ FROM nonebot/nb-cli:latest WORKDIR / COPY . /MaiMBot/ WORKDIR /MaiMBot -RUN mv config/env.example config/.env \ -&& mv config/bot_config_toml config/bot_config.toml +RUN mv config/bot_config_toml config/bot_config.toml RUN pip install --upgrade -r requirements.txt VOLUME [ "/MaiMBot/config" ] EXPOSE 8080 diff --git a/docker-compose.yml b/docker-compose.yml index 4c136b284..cfe787c04 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -27,7 +27,7 @@ services: - mongodb:/data/db - mongodbCONFIG:/data/configdb image: mongo:latest - + maimbot: container_name: maimbot environment: @@ -41,8 +41,8 @@ services: volumes: - maimbotCONFIG:/MaiMBot/config - maimbotDATA:/MaiMBot/data + - ./.env.prod:/MaiMBot/.env.prod image: sengokucola/maimbot:latest - volumes: maimbotCONFIG: @@ -51,4 +51,5 @@ volumes: napcatCONFIG: mongodb: mongodbCONFIG: - + + diff --git a/requirements.txt b/requirements.txt index 3f0fe05dd..11536d12a 100644 Binary files a/requirements.txt and b/requirements.txt differ diff --git a/src/plugins/schedule/schedule_llm_module.py b/src/plugins/schedule/schedule_llm_module.py index 34dad6fec..21e3f7681 100644 --- a/src/plugins/schedule/schedule_llm_module.py +++ b/src/plugins/schedule/schedule_llm_module.py @@ -20,7 +20,7 @@ class LLMModel: self.model_name = model_name self.params = kwargs - async def generate_response(self, prompt: str) -> Tuple[str, str]: + def generate_response(self, prompt: str) -> Tuple[str, str]: """根据输入的提示生成模型的响应""" headers = { "Authorization": f"Bearer {self.api_key}", @@ -39,17 +39,16 @@ class LLMModel: api_url = f"{self.base_url.rstrip('/')}/chat/completions" try: - async with aiohttp.ClientSession() as session: - async with session.post(api_url, headers=headers, json=data) as response: - response.raise_for_status() # 检查响应状态 - - result = await response.json() - if "choices" in result and len(result["choices"]) > 0: - content = result["choices"][0]["message"]["content"] - reasoning_content = result["choices"][0]["message"].get("reasoning_content", "") - return content, reasoning_content # 返回内容和推理内容 - return "没有返回结果", "" # 返回两个值 - + response = requests.post(api_url, headers=headers, json=data) + response.raise_for_status() # 检查响应状态 + + result = response.json() + if "choices" in result and len(result["choices"]) > 0: + content = result["choices"][0]["message"]["content"] + reasoning_content = result["choices"][0]["message"].get("reasoning_content", "") + return content, reasoning_content # 返回内容和推理内容 + return "没有返回结果", "" # 返回两个值 + except Exception as e: return f"请求失败: {str(e)}", "" # 返回错误信息和空字符串