pygpt-net 2.6.23__py3-none-any.whl → 2.6.25__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pygpt_net/CHANGELOG.txt +14 -0
- pygpt_net/__init__.py +3 -3
- pygpt_net/controller/chat/response.py +6 -5
- pygpt_net/controller/config/placeholder.py +3 -1
- pygpt_net/controller/model/importer.py +28 -5
- pygpt_net/core/agents/runners/loop.py +36 -3
- pygpt_net/core/attachments/context.py +4 -4
- pygpt_net/core/idx/chat.py +1 -1
- pygpt_net/core/idx/indexing.py +3 -3
- pygpt_net/core/idx/llm.py +61 -2
- pygpt_net/data/config/config.json +41 -4
- pygpt_net/data/config/models.json +3 -3
- pygpt_net/data/config/settings.json +56 -1
- pygpt_net/data/locale/locale.de.ini +46 -0
- pygpt_net/data/locale/locale.en.ini +53 -1
- pygpt_net/data/locale/locale.es.ini +46 -0
- pygpt_net/data/locale/locale.fr.ini +46 -0
- pygpt_net/data/locale/locale.it.ini +46 -0
- pygpt_net/data/locale/locale.pl.ini +47 -1
- pygpt_net/data/locale/locale.uk.ini +46 -0
- pygpt_net/data/locale/locale.zh.ini +46 -0
- pygpt_net/provider/agents/llama_index/codeact_workflow.py +8 -7
- pygpt_net/provider/agents/llama_index/planner_workflow.py +11 -10
- pygpt_net/provider/agents/llama_index/supervisor_workflow.py +9 -8
- pygpt_net/provider/agents/openai/agent_b2b.py +30 -17
- pygpt_net/provider/agents/openai/agent_planner.py +29 -29
- pygpt_net/provider/agents/openai/agent_with_experts_feedback.py +21 -23
- pygpt_net/provider/agents/openai/agent_with_feedback.py +21 -23
- pygpt_net/provider/agents/openai/bot_researcher.py +25 -30
- pygpt_net/provider/agents/openai/evolve.py +37 -39
- pygpt_net/provider/agents/openai/supervisor.py +16 -18
- pygpt_net/provider/core/config/patch.py +45 -1
- pygpt_net/provider/llms/anthropic.py +38 -7
- pygpt_net/provider/llms/azure_openai.py +9 -4
- pygpt_net/provider/llms/deepseek_api.py +36 -3
- pygpt_net/provider/llms/google.py +9 -3
- pygpt_net/provider/llms/hugging_face_api.py +9 -3
- pygpt_net/provider/llms/hugging_face_router.py +17 -3
- pygpt_net/provider/llms/llama_index/x_ai/__init__.py +0 -0
- pygpt_net/provider/llms/llama_index/x_ai/embedding.py +71 -0
- pygpt_net/provider/llms/local.py +25 -1
- pygpt_net/provider/llms/mistral.py +29 -1
- pygpt_net/provider/llms/ollama.py +3 -1
- pygpt_net/provider/llms/openai.py +7 -2
- pygpt_net/provider/llms/x_ai.py +19 -3
- pygpt_net/ui/widget/textarea/input.py +3 -3
- {pygpt_net-2.6.23.dist-info → pygpt_net-2.6.25.dist-info}/METADATA +54 -28
- {pygpt_net-2.6.23.dist-info → pygpt_net-2.6.25.dist-info}/RECORD +51 -49
- {pygpt_net-2.6.23.dist-info → pygpt_net-2.6.25.dist-info}/LICENSE +0 -0
- {pygpt_net-2.6.23.dist-info → pygpt_net-2.6.25.dist-info}/WHEEL +0 -0
- {pygpt_net-2.6.23.dist-info → pygpt_net-2.6.25.dist-info}/entry_points.txt +0 -0
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
# GitHub: https://github.com/szczyglis-dev/py-gpt #
|
|
7
7
|
# MIT License #
|
|
8
8
|
# Created By : Marcin Szczygliński #
|
|
9
|
-
# Updated Date: 2025.08.
|
|
9
|
+
# Updated Date: 2025.08.26 01:00:00 #
|
|
10
10
|
# ================================================== #
|
|
11
11
|
|
|
12
12
|
import copy
|
|
@@ -31,6 +31,7 @@ from pygpt_net.item.preset import PresetItem
|
|
|
31
31
|
|
|
32
32
|
from pygpt_net.provider.gpt.agents.remote_tools import append_tools
|
|
33
33
|
from pygpt_net.provider.gpt.agents.response import StreamHandler
|
|
34
|
+
from pygpt_net.utils import trans
|
|
34
35
|
|
|
35
36
|
from ..base import BaseAgent
|
|
36
37
|
from ...gpt.agents.experts import get_experts
|
|
@@ -73,7 +74,7 @@ class Agent(BaseAgent):
|
|
|
73
74
|
id = kwargs.get("bot_id", 1)
|
|
74
75
|
option_key = f"bot_{id}"
|
|
75
76
|
kwargs = {
|
|
76
|
-
"name":
|
|
77
|
+
"name": self.get_option(preset, option_key, "name"),
|
|
77
78
|
"instructions": self.get_option(preset, option_key, "prompt"),
|
|
78
79
|
"model": window.core.agents.provider.get_openai_model(model),
|
|
79
80
|
}
|
|
@@ -226,6 +227,7 @@ class Agent(BaseAgent):
|
|
|
226
227
|
tools=tools,
|
|
227
228
|
)
|
|
228
229
|
|
|
230
|
+
bot_1_name = self.get_option(preset, "bot_1", "name")
|
|
229
231
|
bot_1_kwargs = copy.deepcopy(agent_kwargs)
|
|
230
232
|
bot_2_kwargs = copy.deepcopy(agent_kwargs)
|
|
231
233
|
|
|
@@ -239,6 +241,7 @@ class Agent(BaseAgent):
|
|
|
239
241
|
if model_name_2:
|
|
240
242
|
model_2 = window.core.models.get(model_name_2)
|
|
241
243
|
bot_2_kwargs["model"] = model_2
|
|
244
|
+
bot_2_name = self.get_option(preset, "bot_2", "name")
|
|
242
245
|
bot_2_kwargs["bot_id"] = 2
|
|
243
246
|
if experts:
|
|
244
247
|
bot_2_kwargs["handoffs"] = experts
|
|
@@ -334,7 +337,7 @@ class Agent(BaseAgent):
|
|
|
334
337
|
handler.reset()
|
|
335
338
|
|
|
336
339
|
# bot 1 title
|
|
337
|
-
title = "\n\n**
|
|
340
|
+
title = f"\n\n**{bot_1_name}**\n\n"
|
|
338
341
|
ctx.stream = title
|
|
339
342
|
bridge.on_step(ctx, begin)
|
|
340
343
|
begin = False
|
|
@@ -380,7 +383,7 @@ class Agent(BaseAgent):
|
|
|
380
383
|
handler.reset()
|
|
381
384
|
|
|
382
385
|
# bot 2 title
|
|
383
|
-
title = "\n\n**
|
|
386
|
+
title = f"\n\n**{bot_2_name}**\n\n"
|
|
384
387
|
ctx.stream = title
|
|
385
388
|
bridge.on_step(ctx, False)
|
|
386
389
|
if not use_partial_ctx:
|
|
@@ -427,22 +430,27 @@ class Agent(BaseAgent):
|
|
|
427
430
|
"bot_1": {
|
|
428
431
|
"label": "Bot 1",
|
|
429
432
|
"options": {
|
|
433
|
+
"name": {
|
|
434
|
+
"type": "text",
|
|
435
|
+
"label": trans("agent.option.name"),
|
|
436
|
+
"default": "Bot 1",
|
|
437
|
+
},
|
|
430
438
|
"prompt": {
|
|
431
439
|
"type": "textarea",
|
|
432
|
-
"label": "
|
|
433
|
-
"description": "
|
|
440
|
+
"label": trans("agent.option.prompt"),
|
|
441
|
+
"description": trans("agent.option.prompt.b1.desc"),
|
|
434
442
|
"default": self.PROMPT_BOT_1,
|
|
435
443
|
},
|
|
436
444
|
"allow_local_tools": {
|
|
437
445
|
"type": "bool",
|
|
438
|
-
"label": "
|
|
439
|
-
"description": "
|
|
446
|
+
"label": trans("agent.option.tools.local"),
|
|
447
|
+
"description": trans("agent.option.tools.local.desc"),
|
|
440
448
|
"default": False,
|
|
441
449
|
},
|
|
442
450
|
"allow_remote_tools": {
|
|
443
451
|
"type": "bool",
|
|
444
|
-
"label": "
|
|
445
|
-
"description": "
|
|
452
|
+
"label": trans("agent.option.tools.remote"),
|
|
453
|
+
"description": trans("agent.option.tools.remote.desc"),
|
|
446
454
|
"default": False,
|
|
447
455
|
},
|
|
448
456
|
}
|
|
@@ -450,28 +458,33 @@ class Agent(BaseAgent):
|
|
|
450
458
|
"bot_2": {
|
|
451
459
|
"label": "Bot 2",
|
|
452
460
|
"options": {
|
|
461
|
+
"name": {
|
|
462
|
+
"type": "text",
|
|
463
|
+
"label": trans("agent.option.name"),
|
|
464
|
+
"default": "Bot 2",
|
|
465
|
+
},
|
|
453
466
|
"model": {
|
|
454
|
-
"label": "
|
|
467
|
+
"label": trans("agent.option.model"),
|
|
455
468
|
"type": "combo",
|
|
456
469
|
"use": "models",
|
|
457
470
|
"default": "gpt-4o",
|
|
458
471
|
},
|
|
459
472
|
"prompt": {
|
|
460
473
|
"type": "textarea",
|
|
461
|
-
"label": "
|
|
462
|
-
"description": "
|
|
474
|
+
"label": trans("agent.option.prompt"),
|
|
475
|
+
"description": trans("agent.option.prompt.b2.desc"),
|
|
463
476
|
"default": self.PROMPT_BOT_2,
|
|
464
477
|
},
|
|
465
478
|
"allow_local_tools": {
|
|
466
479
|
"type": "bool",
|
|
467
|
-
"label": "
|
|
468
|
-
"description": "
|
|
480
|
+
"label": trans("agent.option.tools.local"),
|
|
481
|
+
"description": trans("agent.option.tools.local.desc"),
|
|
469
482
|
"default": False,
|
|
470
483
|
},
|
|
471
484
|
"allow_remote_tools": {
|
|
472
485
|
"type": "bool",
|
|
473
|
-
"label": "
|
|
474
|
-
"description": "
|
|
486
|
+
"label": trans("agent.option.tools.remote"),
|
|
487
|
+
"description": trans("agent.option.tools.remote.desc"),
|
|
475
488
|
"default": False,
|
|
476
489
|
},
|
|
477
490
|
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
# GitHub: https://github.com/szczyglis-dev/py-gpt #
|
|
7
7
|
# MIT License #
|
|
8
8
|
# Created By : Marcin Szczygliński #
|
|
9
|
-
# Updated Date: 2025.08.
|
|
9
|
+
# Updated Date: 2025.08.26 01:00:00 #
|
|
10
10
|
# ================================================== #
|
|
11
11
|
|
|
12
12
|
from dataclasses import dataclass
|
|
@@ -16,7 +16,6 @@ from agents import (
|
|
|
16
16
|
Agent as OpenAIAgent,
|
|
17
17
|
Runner,
|
|
18
18
|
RunConfig,
|
|
19
|
-
ModelSettings,
|
|
20
19
|
TResponseInputItem,
|
|
21
20
|
)
|
|
22
21
|
|
|
@@ -32,8 +31,9 @@ from pygpt_net.item.model import ModelItem
|
|
|
32
31
|
from pygpt_net.item.preset import PresetItem
|
|
33
32
|
|
|
34
33
|
from pygpt_net.provider.gpt.agents.client import get_custom_model_provider, set_openai_env
|
|
35
|
-
from pygpt_net.provider.gpt.agents.remote_tools import
|
|
34
|
+
from pygpt_net.provider.gpt.agents.remote_tools import append_tools
|
|
36
35
|
from pygpt_net.provider.gpt.agents.response import StreamHandler
|
|
36
|
+
from pygpt_net.utils import trans
|
|
37
37
|
|
|
38
38
|
from ..base import BaseAgent
|
|
39
39
|
from ...gpt.agents.experts import get_experts
|
|
@@ -390,9 +390,9 @@ class Agent(BaseAgent):
|
|
|
390
390
|
evaluator_result = await Runner.run(evaluator, input_items)
|
|
391
391
|
result: EvaluationFeedback = evaluator_result.final_output
|
|
392
392
|
|
|
393
|
-
info = f"\n___\n**
|
|
393
|
+
info = f"\n___\n**{trans('agent.eval.score')}: {result.score}**\n\n"
|
|
394
394
|
if result.score == "pass":
|
|
395
|
-
info += "\n\n**
|
|
395
|
+
info += f"\n\n**{trans('agent.eval.score.good')}**\n"
|
|
396
396
|
if use_partial_ctx:
|
|
397
397
|
ctx = bridge.on_next_ctx(
|
|
398
398
|
ctx=ctx,
|
|
@@ -408,7 +408,7 @@ class Agent(BaseAgent):
|
|
|
408
408
|
final_output += info
|
|
409
409
|
break
|
|
410
410
|
|
|
411
|
-
info += "\n\n**
|
|
411
|
+
info += f"\n\n**{trans('agent.eval.next')}**\n\nFeedback: {result.feedback}\n___\n"
|
|
412
412
|
input_items.append({"content": f"Feedback: {result.feedback}", "role": "user"})
|
|
413
413
|
|
|
414
414
|
if use_partial_ctx:
|
|
@@ -436,82 +436,82 @@ class Agent(BaseAgent):
|
|
|
436
436
|
"""
|
|
437
437
|
return {
|
|
438
438
|
"base": {
|
|
439
|
-
"label": "
|
|
439
|
+
"label": trans("agent.option.section.base"),
|
|
440
440
|
"options": {
|
|
441
441
|
"prompt": {
|
|
442
442
|
"type": "textarea",
|
|
443
|
-
"label": "
|
|
444
|
-
"description": "
|
|
443
|
+
"label": trans("agent.option.prompt"),
|
|
444
|
+
"description": trans("agent.option.prompt.base.desc"),
|
|
445
445
|
"default": self.PROMPT,
|
|
446
446
|
},
|
|
447
447
|
"allow_local_tools": {
|
|
448
448
|
"type": "bool",
|
|
449
|
-
"label": "
|
|
450
|
-
"description": "
|
|
449
|
+
"label": trans("agent.option.tools.local"),
|
|
450
|
+
"description": trans("agent.option.tools.local.desc"),
|
|
451
451
|
"default": False,
|
|
452
452
|
},
|
|
453
453
|
"allow_remote_tools": {
|
|
454
454
|
"type": "bool",
|
|
455
|
-
"label": "
|
|
456
|
-
"description": "
|
|
455
|
+
"label": trans("agent.option.tools.remote"),
|
|
456
|
+
"description": trans("agent.option.tools.remote.desc"),
|
|
457
457
|
"default": False,
|
|
458
458
|
},
|
|
459
459
|
}
|
|
460
460
|
},
|
|
461
461
|
"planner": {
|
|
462
|
-
"label": "
|
|
462
|
+
"label": trans("agent.option.section.planner"),
|
|
463
463
|
"options": {
|
|
464
464
|
"model": {
|
|
465
|
-
"label": "
|
|
465
|
+
"label": trans("agent.option.model"),
|
|
466
466
|
"type": "combo",
|
|
467
467
|
"use": "models",
|
|
468
468
|
"default": "o3-mini-low",
|
|
469
469
|
},
|
|
470
470
|
"prompt": {
|
|
471
471
|
"type": "textarea",
|
|
472
|
-
"label": "
|
|
473
|
-
"description": "
|
|
472
|
+
"label": trans("agent.option.prompt"),
|
|
473
|
+
"description": trans("agent.option.prompt.planner.desc"),
|
|
474
474
|
"default": self.PROMPT_PLANNER,
|
|
475
475
|
},
|
|
476
476
|
"allow_local_tools": {
|
|
477
477
|
"type": "bool",
|
|
478
|
-
"label": "
|
|
479
|
-
"description": "
|
|
478
|
+
"label": trans("agent.option.tools.local"),
|
|
479
|
+
"description": trans("agent.option.tools.local.desc"),
|
|
480
480
|
"default": False,
|
|
481
481
|
},
|
|
482
482
|
"allow_remote_tools": {
|
|
483
483
|
"type": "bool",
|
|
484
|
-
"label": "
|
|
485
|
-
"description": "
|
|
484
|
+
"label": trans("agent.option.tools.remote"),
|
|
485
|
+
"description": trans("agent.option.tools.remote.desc"),
|
|
486
486
|
"default": False,
|
|
487
487
|
},
|
|
488
488
|
}
|
|
489
489
|
},
|
|
490
490
|
"feedback": {
|
|
491
|
-
"label": "
|
|
491
|
+
"label": trans("agent.option.section.feedback"),
|
|
492
492
|
"options": {
|
|
493
493
|
"model": {
|
|
494
|
-
"label": "
|
|
494
|
+
"label": trans("agent.option.model"),
|
|
495
495
|
"type": "combo",
|
|
496
496
|
"use": "models",
|
|
497
497
|
"default": "gpt-4o",
|
|
498
498
|
},
|
|
499
499
|
"prompt": {
|
|
500
500
|
"type": "textarea",
|
|
501
|
-
"label": "
|
|
502
|
-
"description": "
|
|
501
|
+
"label": trans("agent.option.prompt"),
|
|
502
|
+
"description": trans("agent.option.prompt.feedback.desc"),
|
|
503
503
|
"default": self.PROMPT_FEEDBACK,
|
|
504
504
|
},
|
|
505
505
|
"allow_local_tools": {
|
|
506
506
|
"type": "bool",
|
|
507
|
-
"label": "
|
|
508
|
-
"description": "
|
|
507
|
+
"label": trans("agent.option.tools.local"),
|
|
508
|
+
"description": trans("agent.option.tools.local.desc"),
|
|
509
509
|
"default": False,
|
|
510
510
|
},
|
|
511
511
|
"allow_remote_tools": {
|
|
512
512
|
"type": "bool",
|
|
513
|
-
"label": "
|
|
514
|
-
"description": "
|
|
513
|
+
"label": trans("agent.option.tools.remote"),
|
|
514
|
+
"description": trans("agent.option.tools.remote.desc"),
|
|
515
515
|
"default": False,
|
|
516
516
|
},
|
|
517
517
|
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
# GitHub: https://github.com/szczyglis-dev/py-gpt #
|
|
7
7
|
# MIT License #
|
|
8
8
|
# Created By : Marcin Szczygliński #
|
|
9
|
-
# Updated Date: 2025.08.
|
|
9
|
+
# Updated Date: 2025.08.26 01:00:00 #
|
|
10
10
|
# ================================================== #
|
|
11
11
|
|
|
12
12
|
from dataclasses import dataclass
|
|
@@ -15,8 +15,6 @@ from typing import Dict, Any, Tuple, Literal, Optional
|
|
|
15
15
|
from agents import (
|
|
16
16
|
Agent as OpenAIAgent,
|
|
17
17
|
Runner,
|
|
18
|
-
RunConfig,
|
|
19
|
-
ModelSettings,
|
|
20
18
|
TResponseInputItem,
|
|
21
19
|
)
|
|
22
20
|
|
|
@@ -31,9 +29,9 @@ from pygpt_net.item.ctx import CtxItem
|
|
|
31
29
|
from pygpt_net.item.model import ModelItem
|
|
32
30
|
from pygpt_net.item.preset import PresetItem
|
|
33
31
|
|
|
34
|
-
from pygpt_net.provider.gpt.agents.
|
|
35
|
-
from pygpt_net.provider.gpt.agents.remote_tools import get_remote_tools, is_computer_tool, append_tools
|
|
32
|
+
from pygpt_net.provider.gpt.agents.remote_tools import append_tools
|
|
36
33
|
from pygpt_net.provider.gpt.agents.response import StreamHandler
|
|
34
|
+
from pygpt_net.utils import trans
|
|
37
35
|
|
|
38
36
|
from ..base import BaseAgent
|
|
39
37
|
from ...gpt.agents.experts import get_experts
|
|
@@ -284,9 +282,9 @@ class Agent(BaseAgent):
|
|
|
284
282
|
evaluator_result = await Runner.run(evaluator, input_items)
|
|
285
283
|
result: EvaluationFeedback = evaluator_result.final_output
|
|
286
284
|
|
|
287
|
-
info = f"\n___\n**
|
|
285
|
+
info = f"\n___\n**{trans('agent.eval.score')}: {result.score}**\n\n"
|
|
288
286
|
if result.score == "pass":
|
|
289
|
-
info += "\n\n**
|
|
287
|
+
info += f"\n\n**{trans('agent.eval.score.good')}**\n"
|
|
290
288
|
if use_partial_ctx:
|
|
291
289
|
ctx = bridge.on_next_ctx(
|
|
292
290
|
ctx=ctx,
|
|
@@ -302,7 +300,7 @@ class Agent(BaseAgent):
|
|
|
302
300
|
final_output += info
|
|
303
301
|
break
|
|
304
302
|
|
|
305
|
-
info += "\n\n**
|
|
303
|
+
info += f"\n\n**{trans('agent.eval.next')}**\n\nFeedback: {result.feedback}\n___\n"
|
|
306
304
|
input_items.append({"content": f"Feedback: {result.feedback}", "role": "user"})
|
|
307
305
|
|
|
308
306
|
if use_partial_ctx:
|
|
@@ -330,53 +328,53 @@ class Agent(BaseAgent):
|
|
|
330
328
|
"""
|
|
331
329
|
return {
|
|
332
330
|
"base": {
|
|
333
|
-
"label": "
|
|
331
|
+
"label": trans("agent.option.section.base"),
|
|
334
332
|
"options": {
|
|
335
333
|
"prompt": {
|
|
336
334
|
"type": "textarea",
|
|
337
|
-
"label": "
|
|
338
|
-
"description": "
|
|
335
|
+
"label": trans("agent.option.prompt"),
|
|
336
|
+
"description": trans("agent.option.prompt.base.desc"),
|
|
339
337
|
"default": self.PROMPT,
|
|
340
338
|
},
|
|
341
339
|
"allow_local_tools": {
|
|
342
340
|
"type": "bool",
|
|
343
|
-
"label": "
|
|
344
|
-
"description": "
|
|
341
|
+
"label": trans("agent.option.tools.local"),
|
|
342
|
+
"description": trans("agent.option.tools.local.desc"),
|
|
345
343
|
"default": False,
|
|
346
344
|
},
|
|
347
345
|
"allow_remote_tools": {
|
|
348
346
|
"type": "bool",
|
|
349
|
-
"label": "
|
|
350
|
-
"description": "
|
|
347
|
+
"label": trans("agent.option.tools.remote"),
|
|
348
|
+
"description": trans("agent.option.tools.remote.desc"),
|
|
351
349
|
"default": False,
|
|
352
350
|
},
|
|
353
351
|
}
|
|
354
352
|
},
|
|
355
353
|
"feedback": {
|
|
356
|
-
"label": "
|
|
354
|
+
"label": trans("agent.option.section.feedback"),
|
|
357
355
|
"options": {
|
|
358
356
|
"model": {
|
|
359
|
-
"label": "
|
|
357
|
+
"label": trans("agent.option.model"),
|
|
360
358
|
"type": "combo",
|
|
361
359
|
"use": "models",
|
|
362
360
|
"default": "gpt-4o",
|
|
363
361
|
},
|
|
364
362
|
"prompt": {
|
|
365
363
|
"type": "textarea",
|
|
366
|
-
"label": "
|
|
367
|
-
"description": "
|
|
364
|
+
"label": trans("agent.option.prompt"),
|
|
365
|
+
"description": trans("agent.option.prompt.feedback.desc"),
|
|
368
366
|
"default": self.PROMPT_FEEDBACK,
|
|
369
367
|
},
|
|
370
368
|
"allow_local_tools": {
|
|
371
369
|
"type": "bool",
|
|
372
|
-
"label": "
|
|
373
|
-
"description": "
|
|
370
|
+
"label": trans("agent.option.tools.local"),
|
|
371
|
+
"description": trans("agent.option.tools.local.desc"),
|
|
374
372
|
"default": False,
|
|
375
373
|
},
|
|
376
374
|
"allow_remote_tools": {
|
|
377
375
|
"type": "bool",
|
|
378
|
-
"label": "
|
|
379
|
-
"description": "
|
|
376
|
+
"label": trans("agent.option.tools.remote"),
|
|
377
|
+
"description": trans("agent.option.tools.remote.desc"),
|
|
380
378
|
"default": False,
|
|
381
379
|
},
|
|
382
380
|
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
# GitHub: https://github.com/szczyglis-dev/py-gpt #
|
|
7
7
|
# MIT License #
|
|
8
8
|
# Created By : Marcin Szczygliński #
|
|
9
|
-
# Updated Date: 2025.08.
|
|
9
|
+
# Updated Date: 2025.08.26 01:00:00 #
|
|
10
10
|
# ================================================== #
|
|
11
11
|
|
|
12
12
|
from dataclasses import dataclass
|
|
@@ -15,8 +15,6 @@ from typing import Dict, Any, Tuple, Literal, Optional
|
|
|
15
15
|
from agents import (
|
|
16
16
|
Agent as OpenAIAgent,
|
|
17
17
|
Runner,
|
|
18
|
-
RunConfig,
|
|
19
|
-
ModelSettings,
|
|
20
18
|
TResponseInputItem,
|
|
21
19
|
)
|
|
22
20
|
|
|
@@ -31,9 +29,9 @@ from pygpt_net.item.ctx import CtxItem
|
|
|
31
29
|
from pygpt_net.item.model import ModelItem
|
|
32
30
|
from pygpt_net.item.preset import PresetItem
|
|
33
31
|
|
|
34
|
-
from pygpt_net.provider.gpt.agents.
|
|
35
|
-
from pygpt_net.provider.gpt.agents.remote_tools import get_remote_tools, is_computer_tool, append_tools
|
|
32
|
+
from pygpt_net.provider.gpt.agents.remote_tools import append_tools
|
|
36
33
|
from pygpt_net.provider.gpt.agents.response import StreamHandler
|
|
34
|
+
from pygpt_net.utils import trans
|
|
37
35
|
|
|
38
36
|
from ..base import BaseAgent
|
|
39
37
|
from ...gpt.agents.experts import get_experts
|
|
@@ -284,9 +282,9 @@ class Agent(BaseAgent):
|
|
|
284
282
|
evaluator_result = await Runner.run(evaluator, input_items)
|
|
285
283
|
result: EvaluationFeedback = evaluator_result.final_output
|
|
286
284
|
|
|
287
|
-
info = f"\n___\n**
|
|
285
|
+
info = f"\n___\n**{trans('agent.eval.score')}: {result.score}**\n\n"
|
|
288
286
|
if result.score == "pass":
|
|
289
|
-
info += "\n\n**
|
|
287
|
+
info += f"\n\n**{trans('agent.eval.score.good')}**\n"
|
|
290
288
|
if use_partial_ctx:
|
|
291
289
|
ctx = bridge.on_next_ctx(
|
|
292
290
|
ctx=ctx,
|
|
@@ -302,7 +300,7 @@ class Agent(BaseAgent):
|
|
|
302
300
|
final_output += info
|
|
303
301
|
break
|
|
304
302
|
|
|
305
|
-
info += "\n\n**
|
|
303
|
+
info += f"\n\n**{trans('agent.eval.next')}**\n\nFeedback: {result.feedback}\n___\n"
|
|
306
304
|
input_items.append({"content": f"Feedback: {result.feedback}", "role": "user"})
|
|
307
305
|
|
|
308
306
|
if use_partial_ctx:
|
|
@@ -330,53 +328,53 @@ class Agent(BaseAgent):
|
|
|
330
328
|
"""
|
|
331
329
|
return {
|
|
332
330
|
"base": {
|
|
333
|
-
"label": "
|
|
331
|
+
"label": trans("agent.option.section.base"),
|
|
334
332
|
"options": {
|
|
335
333
|
"prompt": {
|
|
336
334
|
"type": "textarea",
|
|
337
|
-
"label": "
|
|
338
|
-
"description": "
|
|
335
|
+
"label": trans("agent.option.prompt"),
|
|
336
|
+
"description": trans("agent.option.prompt.base.desc"),
|
|
339
337
|
"default": self.PROMPT,
|
|
340
338
|
},
|
|
341
339
|
"allow_local_tools": {
|
|
342
340
|
"type": "bool",
|
|
343
|
-
"label": "
|
|
344
|
-
"description": "
|
|
341
|
+
"label": trans("agent.option.tools.local"),
|
|
342
|
+
"description": trans("agent.option.tools.local.desc"),
|
|
345
343
|
"default": False,
|
|
346
344
|
},
|
|
347
345
|
"allow_remote_tools": {
|
|
348
346
|
"type": "bool",
|
|
349
|
-
"label": "
|
|
350
|
-
"description": "
|
|
347
|
+
"label": trans("agent.option.tools.remote"),
|
|
348
|
+
"description": trans("agent.option.tools.remote.desc"),
|
|
351
349
|
"default": False,
|
|
352
350
|
},
|
|
353
351
|
}
|
|
354
352
|
},
|
|
355
353
|
"feedback": {
|
|
356
|
-
"label": "
|
|
354
|
+
"label": trans("agent.option.section.feedback"),
|
|
357
355
|
"options": {
|
|
358
356
|
"model": {
|
|
359
|
-
"label": "
|
|
357
|
+
"label": trans("agent.option.model"),
|
|
360
358
|
"type": "combo",
|
|
361
359
|
"use": "models",
|
|
362
360
|
"default": "gpt-4o",
|
|
363
361
|
},
|
|
364
362
|
"prompt": {
|
|
365
363
|
"type": "textarea",
|
|
366
|
-
"label": "
|
|
367
|
-
"description": "
|
|
364
|
+
"label": trans("agent.option.prompt"),
|
|
365
|
+
"description": trans("agent.option.prompt.feedback.desc"),
|
|
368
366
|
"default": self.PROMPT_FEEDBACK,
|
|
369
367
|
},
|
|
370
368
|
"allow_local_tools": {
|
|
371
369
|
"type": "bool",
|
|
372
|
-
"label": "
|
|
373
|
-
"description": "
|
|
370
|
+
"label": trans("agent.option.tools.local"),
|
|
371
|
+
"description": trans("agent.option.tools.local.desc"),
|
|
374
372
|
"default": False,
|
|
375
373
|
},
|
|
376
374
|
"allow_remote_tools": {
|
|
377
375
|
"type": "bool",
|
|
378
|
-
"label": "
|
|
379
|
-
"description": "
|
|
376
|
+
"label": trans("agent.option.tools.remote"),
|
|
377
|
+
"description": trans("agent.option.tools.remote.desc"),
|
|
380
378
|
"default": False,
|
|
381
379
|
},
|
|
382
380
|
}
|