Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

怎么写成api形式的接口呢? #247

Open
812781385 opened this issue Jul 4, 2024 · 2 comments
Open

怎么写成api形式的接口呢? #247

812781385 opened this issue Jul 4, 2024 · 2 comments

Comments

@812781385
Copy link

目前所有这样的demo只是在命令行打印结果:

res_stream = []
for res_stream in client.chat(
messages=messages,
functions=tools,
stream=True):
print(res_stream)

  1. 情景一:
    命中functioncall:这种需要调用两次模型,第一次返回的是functioncall的结果,这不是客户端想要的。然后再调用模型才返回客户端接受的数据

2.情景二:
未命中functioncall:这种会直接返回客户端接受的数据

如果要写成api形式的流式返回,该怎么实现呢

@JianxinMa
Copy link
Contributor

关于情形一&情形二,function call这种偏底层的llm接口本身就是这样设计的(gpt也是如此)。您也考虑看看 examples/assistant_add_custom_tool.py 之类的更高级的agent封装,看是不是更贴合您的场景。

要封装成api,有两种方式:

  • (因为gradio不稳定所以不太推荐,但这是目前支持的方式)启动 web gui(比如examples/assistant_add_custom_tool.p示例里的gradio webui),gradio demo页面最底下有个“通过API使用”的小字,可以点进去看看。
  • (推荐,但qwen-agent还没自带这个功能,开发中)用户自行学习下FastAPI,通过FastAPI把qwen-agent封装成http api服务(如果有遇到阻塞问题,可以开多线程解决)。

(不清楚我对您的问题理解是否有误)

@leavegee
Copy link

leavegee commented Jul 9, 2024

关于情形一&情形二,function call这种偏底层的llm接口本身就是这样设计的(gpt也是如此)。您也考虑看看 examples/assistant_add_custom_tool.py 之类的更高级的agent封装,看是不是更贴合您的场景。

要封装成api,有两种方式:

  • (因为gradio不稳定所以不太推荐,但这是目前支持的方式)启动 web gui(比如examples/assistant_add_custom_tool.p示例里的gradio webui),gradio demo页面最底下有个“通过API使用”的小字,可以点进去看看。
  • (推荐,但qwen-agent还没自带这个功能,开发中)用户自行学习下FastAPI,通过FastAPI把qwen-agent封装成http api服务(如果有遇到阻塞问题,可以开多线程解决)。

(不清楚我对您的问题理解是否有误)

强烈期望支持qwen-agent支持http api服务, 最好是兼容openai的chat api,那样就可以直接发布使用了.这个我觉得是目前最期盼的功能. 能大力增强qwen-agent的应用范围.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants