Closed cgq0816 closed 4 months ago
请问方便发一下您测试langchain用的脚本吗?我们看下。以及是用vllm还是什么框架起的服务?
请问方便发一下您测试langchain用的脚本吗?我们看下。以及是用vllm还是什么框架起的服务?
1、用的langchain官网的调用示例 https://api.python.langchain.com/en/latest/agents/langchain.agents.openai_tools.base.create_openai_tools_agent.html#
https://api.python.langchain.com/en/latest/agents/langchain.agents.openai_functions_agent.base.create_openai_functions_agent.html/ 2、Qwen1.5-14B-Chat 用的是together.ai里的 model = "Qwen/Qwen1.5-14B-Chat" llm = ChatOpenAI(model_name=model, openai_api_base=COMMON_CONFIG.get("together_api_base"), openai_api_key=COMMON_CONFIG.get("together_api_key"), max_tokens=max_tokens, temperature=temperature, top_p=1.0, max_retries=max_retries, request_timeout=request_timeout, )
请问方便发一下您测试langchain用的脚本吗?我们看下。以及是用vllm还是什么框架起的服务?
1、用的langchain官网的调用示例 https://api.python.langchain.com/en/latest/agents/langchain.agents.openai_tools.base.create_openai_tools_agent.html#
https://api.python.langchain.com/en/latest/agents/langchain.agents.openai_functions_agent.base.create_openai_functions_agent.html/ 2、Qwen1.5-14B-Chat 用的是together.ai里的 model = "Qwen/Qwen1.5-14B-Chat" llm = ChatOpenAI(model_name=model, openai_api_base=COMMON_CONFIG.get("together_api_base"), openai_api_key=COMMON_CONFIG.get("together_api_key"), max_tokens=max_tokens, temperature=temperature, top_p=1.0, max_retries=max_retries, request_timeout=request_timeout, )
使用langchain中的ChatTongyi方法也没有调用function call from langchain_community.chat_models.tongyi import ChatTongyi
langchain版本 langchain 0.1.0 langchain-community 0.0.10 langchain-core 0.1.19
您好,经过排查,是工程接口问题,和模型无关。
详情如下:
解决方案一:
解决方案二:
另外,我在打印中间环节的时候,发现调用 ChatTongyi 时有细节需要注意:
model = ChatTongyi(
model="qwen1.5-72b-chat", # 注意是model,不是model_name
)
而不是如您截图的
model = ChatTongyi(
model_name="qwen1.5-72b-chat", # 错误!实际没生效,会错误调用成 qwen-turbo
)
另外,我在打印中间环节的时候,发现调用 ChatTongyi 时有细节需要注意:
model = ChatTongyi( model="qwen1.5-72b-chat", # 注意是model,不是model_name )
而不是如您截图的
model = ChatTongyi( model_name="qwen1.5-72b-chat", # 错误!实际没生效,会错误调用成 qwen-turbo )
你好,有一个问题想请教一下,使用openai的时候提示以下问题,该如何解决呢 openai.error.InvalidRequestError: Qwen/Qwen1.5-14B-Chat doesn't support constraints
你好,有一个问题想请教一下,使用openai的时候提示以下问题,该如何解决呢 openai.error.InvalidRequestError: Qwen/Qwen1.5-14B-Chat doesn't support constraints
这个报错就是因为langchain的这个agent实现使用了function calling、但是together ai等服务提供商并没有为qwen提供function calling功能。
可以参见我前面回复提到的解决方案一、解决方案二。
你好,问个关于function call的问题,之前版本发布的函数调用还支持在Qwen 1.5使用吗 https://github.com/QwenLM/Qwen/blob/main/examples/function_call_examples.py
你好,问个关于function call的问题,之前版本发布的函数调用还支持在Qwen 1.5使用吗 https://github.com/QwenLM/Qwen/blob/main/examples/function_call_examples.py
您好,经过排查,是工程接口问题,和模型无关。
详情如下:
- 按您的方式创建后,我打印了 langchain 调用的中间环节,发现 langchain 是在使用 function_calling (tool calling) 接口,但是当前 together 和 dashscope 应该都还没有开放 function calling 功能,因此实际没有生效。
解决方案一:
- 如果您需要 function calling 接口,可以等待 dashscope 年后上线。也可以参考 https://github.com/QwenLM/Qwen-Agent 项目封装的 function calling 接口。
解决方案二:
- 您也许可以尝试 langchain 的其他不依赖 function calling 的 agent 实现,比如 ReAct。但我们对 langchain 并不熟悉,因此无法给出更具体的建议。
我使用了Xinference框架进行推理服务,这个框架是支持qwen1.5 的function calling的,但是在langchain中调用create_openai_tools_agent和create_openai_functions_agent仍然失败:
其中:
如果”使用 langchain 的其他不依赖 function calling 的 agent 实现,比如 ReAct“,则会出现 ”Observ“ #197 问题
【注:Xinference服务】:
XINFERENCE_MODEL_SRC=modelscope xinference-local --host 0.0.0.0 --port 9997
xinference launch --model-name qwen1.5-chat --size-in-billions 7 --model-format gptq --quantization Int4 --gpu_memory_utilization 0.7
@JianxinMa 您好,想问下dashscope 的function call实现已经上线了吗? 会与 Qwen-Agent 项目封装的 function calling 接口 有什么区别?
@JianxinMa 您好,想问下dashscope 的function call实现已经上线了吗? 会与 Qwen-Agent 项目封装的 function calling 接口 有什么区别?
上了,和qwen-agent的区别不大。dashscope用的tool_calls的格式(如果用langchain注意看是不是用的tool_calls而不是function_call): https://help.aliyun.com/zh/dashscope/developer-reference/api-details?disableWebsiteRedirect=true#86ef4d304bwsb
query = "计算 3 + 12? 以及 11 * 49?"
print(llm_with_tools.invoke(query).tool_calls)from langchain_core.output_parsers import PydanticToolsParser from pydantic import BaseModel, Fieldclass add(BaseModel): """Add two integers."""
a: int = Field(..., description="First integer")
b: int = Field(..., description="Second integer")class multiply(BaseModel):
"""Multiply two integers."""
a: int = Field(..., description="First integer")
b: int = Field(..., description="Second integer")chain = llm_with_tools | PydanticToolsParser(tools=【add, multiply】)
print(chain.invoke(query))
【{'name': 'add', 'args': {'a': 3, 'b': 12}, 'id': 'call_2fba6e0cbda543ba977d18', 'type': 'tool_call'}】 【add(a=3, b=12)】 为什么只能调用一个呢
用qwen1.5-14b-chat进行测试,发现用langchain的这两个agent,均不能调用工具,所以请问一下qwen1.5支持langchain的这两个agent吗?如果支持,该如何使用呢