技术背景介绍
Tongyi Qwen是由阿里巴巴达摩院开发的大规模语言模型,具备强大的自然语言处理能力,适用于多种任务和领域。在这篇文章中,我们将介绍如何使用langchain库中的ChatTongyi来进行对话处理及调用工具。
核心原理解析
ChatTongyi通过自然语言理解和语义分析技术,从用户的输入中获取意图。结合langchain库,它不仅能进行基本对话,还支持调用API工具功能。用户可以通过描述工具及其参数,获取模型返回的JSON对象,来执行特定工具的调用。
代码实现演示
环境准备
首先,我们需要安装dashscope包来使用ChatTongyi:
%pip install --upgrade --quiet dashscope
API密钥设置
获取API密钥,并将其设置为环境变量:
from getpass import getpass
import os
DASHSCOPE_API_KEY = getpass() # 保证密钥安全存储
os.environ["DASHSCOPE_API_KEY"] = DASHSCOPE_API_KEY
基本对话功能
使用ChatTongyi进行简单对话:
from langchain_community.chat_models.tongyi import ChatTongyi
from langchain_core.messages import HumanMessage
# 初始化ChatTongyi实例
chatLLM = ChatTongyi(streaming=True)
# 发送消息
res = chatLLM.stream([HumanMessage(content="Hi")], streaming=True)
for r in res:
print("chat resp:", r)
结合工具调用
ChatTongyi还支持与工具结合使用,通过工具描述和参数实现特定功能。如下是如何进行简单的乘法计算:
from langchain_core.tools import tool
@tool
def multiply(first_int: int, second_int: int) -> int:
"""Multiply two integers together."""
return first_int * second_int
# 绑定工具到ChatTongyi
llm = ChatTongyi(model="qwen-turbo")
llm_with_tools = llm.bind_tools([multiply])
# 调用工具
msg = llm_with_tools.invoke("What's 5 times forty two")
print(msg)
视觉理解能力
Tongyi还支持图像处理,可以分析图像内容并提供摘要:
from langchain_community.chat_models import ChatTongyi
from langchain_core.messages import HumanMessage
# 初始化带视觉分析功能的模型
chatLLM = ChatTongyi(model_name="qwen-vl-max")
# 提供图像和文本输入
image_message = {"image": "https://example.com/path/to/image.png"}
text_message = {"text": "summarize this picture"}
message = HumanMessage(content=[text_message, image_message])
# 调用模型并获取摘要
ai_message = chatLLM.invoke([message])
print(ai_message)
应用场景分析
Tongyi Qwen适用于各类自然语言处理任务,如对话系统、文本翻译、语义分析等。通过工具调用,用户可以将其应用于需要特定计算或数据查询的场景,例如计算器、天气查询等。
实践建议
- 确保网络环境稳定以提高API调用效率。
- 在工具调用中准确描述工具及其参数。
- 对于图像处理,确保输入的图像清晰可访问。
如果遇到问题欢迎在评论区交流。
—END—

7615

被折叠的 条评论
为什么被折叠?



