使用ChatTongyi进行AI对话与工具集成

技术背景介绍

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—

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值