XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet
公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/gpt4free

Enhance API and bot functionality by adding model handling and improving logging; update image model configuration

a61e180b
hlohaus <hlohaus@users.noreply.github.com>
提交于

代码差异

3 个文件 +8 -6
Modified g4f/gui/server/api.py +1 -0
@@ -178,6 +178,7 @@ class Api:
178 178 debug.log = decorated_log
179 179 proxy = os.environ.get("G4F_PROXY")
180 180 try:
181 model = kwargs.get("model")
181 182 provider_handler = provider or AnyProvider
182 183 provider = provider_handler.__name__ if provider_handler else provider
183 184 if "user" in kwargs:
Modified g4f/mcp/pa_provider.py +2 -1
@@ -88,6 +88,7 @@ def is_hidden_file(path: str) -> bool:
88 88
89 89 #: Modules that are allowed inside the safe execution sandbox.
90 90 SAFE_MODULES: FrozenSet[str] = frozenset({
91 "__future__", "concurrent", "warnings", "urllib3", "urllib3.exceptions",
91 92 # Math / numeric
92 93 "math", "cmath", "decimal", "fractions", "statistics", "random", "numbers",
93 94 # String / text
@@ -603,7 +604,7 @@ class PaProviderRegistry:
603 604 except Exception:
604 605 pass
605 606 relative_path = pa_path.relative_to(directory).as_posix()
606 print(f"Loaded PA provider: {provider_id} ({relative_path})")
607 debug.log(f"Loaded PA provider: {provider_id} ({relative_path})")
607 608 if is_hidden_file(relative_path):
608 609 relative_path = None
609 610 entries.append((
Modified projects/discord-bot/bot.py +5 -5
@@ -26,7 +26,7 @@ from discord import app_commands
26 26 from discord.ext import commands
27 27 from dotenv import load_dotenv
28 28
29 import g4f.Provider
29 from g4f.providers.any_provider import AnyProvider
30 30 from g4f.client import ClientFactory
31 31
32 32 from mcp_tools import MCPToolManager, ALL_AVAILABLE_TOOLS, SAFE_DEFAULT_TOOLS
@@ -38,6 +38,7 @@ load_dotenv()
38 38 # ---------------------------------------------------------------------------
39 39 TOKEN = os.getenv("DISCORD_TOKEN")
40 40 MODEL = os.getenv("G4F_MODEL", "auto")
41 IMAGE_MODEL = os.getenv("G4F_IMAGE_MODEL", "flux")
41 42 SYSTEM_PROMPT = os.getenv(
42 43 "G4F_SYSTEM_PROMPT",
43 44 "You are a helpful, friendly Discord assistant. Keep answers concise "
@@ -70,7 +71,7 @@ log = logging.getLogger("g4f-discord")
70 71 # ---------------------------------------------------------------------------
71 72 client = ClientFactory.create_async_client(provider="default",
72 73 api_key=os.getenv("G4F_API_KEY"),
73 media_provider=os.getenv("G4F_MEDIA_PROVIDER"))
74 media_provider=os.getenv("G4F_MEDIA_PROVIDER", AnyProvider))
74 75 mcp = MCPToolManager(enabled_tools=ENABLED_TOOLS)
75 76
76 77 # Per-user conversation history: user_id -> deque of {"role", "content"}
@@ -467,7 +468,7 @@ async def image(
467 468 ):
468 469 await interaction.response.defer(thinking=True)
469 470 try:
470 m = _normalize_model_name(model) if model else MODEL
471 m = _normalize_model_name(model) if model else IMAGE_MODEL
471 472 generated = await _generate_image(prompt=prompt, model=m)
472 473 except Exception as e:
473 474 log.exception("Image generation failed")
@@ -575,8 +576,7 @@ async def on_message(message: discord.Message):
575 576 try:
576 577 # Create a placeholder then edit/send final result.
577 578 placeholder = await message.channel.send("🖼️ Generating…")
578 m = MODEL
579 generated = await _generate_image(prompt=prompt, model=m)
579 generated = await _generate_image(prompt=prompt, model=IMAGE_MODEL)
580 580
581 581 if generated.startswith("http://") or generated.startswith("https://"):
582 582 embed = discord.Embed(title="🖼️ Generated image")