镜像自地址
https://github.com/binary-husky/gpt_academic.git
已同步 2025-12-06 14:36:48 +00:00
* logging sys to loguru: stage 1 complete * import loguru: stage 2 * logging -> loguru: stage 3 * support o1-preview and o1-mini * logging -> loguru stage 4 * update social helper * logging -> loguru: final stage * fix: console output * update translation matrix * fix: loguru argument error with proxy enabled (#1977) * relax llama index version * remove comment * Added some modules to support openrouter (#1975) * Added some modules for supporting openrouter model Added some modules for supporting openrouter model * Update config.py * Update .gitignore * Update bridge_openrouter.py * Not changed actually * Refactor logging in bridge_openrouter.py --------- Co-authored-by: binary-husky <qingxu.fu@outlook.com> * remove logging extra --------- Co-authored-by: Steven Moder <java20131114@gmail.com> Co-authored-by: Ren Lifei <2602264455@qq.com>
26 行
855 B
Python
26 行
855 B
Python
from crazy_functions.json_fns.pydantic_io import GptJsonIO, JsonStringError
|
|
|
|
def structure_output(txt, prompt, err_msg, run_gpt_fn, pydantic_cls):
|
|
gpt_json_io = GptJsonIO(pydantic_cls)
|
|
analyze_res = run_gpt_fn(
|
|
txt,
|
|
sys_prompt=prompt + gpt_json_io.format_instructions
|
|
)
|
|
try:
|
|
friend = gpt_json_io.generate_output_auto_repair(analyze_res, run_gpt_fn)
|
|
except JsonStringError as e:
|
|
return None, err_msg
|
|
|
|
err_msg = ""
|
|
return friend, err_msg
|
|
|
|
|
|
def select_tool(prompt, run_gpt_fn, pydantic_cls):
|
|
pydantic_cls_instance, err_msg = structure_output(
|
|
txt=prompt,
|
|
prompt="根据提示, 分析应该调用哪个工具函数\n\n",
|
|
err_msg=f"不能理解该联系人",
|
|
run_gpt_fn=run_gpt_fn,
|
|
pydantic_cls=pydantic_cls
|
|
)
|
|
return pydantic_cls_instance, err_msg |