如何使用Langchain实现与阿里巴巴同义大模型的智能对话

104 阅读2分钟

引言

随着人工智能技术的发展,语言模型的能力越来越强大,可以在多个领域提供智能助理服务。阿里巴巴达摩院开发的同义大模型(Tongyi Qwen)就是这样一个有着卓越自然语言理解和语义分析能力的大型语言模型。本篇文章将介绍如何使用langchain包与Tongyi大模型进行智能对话,以及如何利用其多功能API接口来增强应用程序的智能性。

主要内容

安装和配置

首先,你需要安装dashscope包,并获取一个API访问令牌。以下是安装步骤:

%pip install --upgrade --quiet dashscope

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

然后,在Python脚本中设置环境变量以存储API令牌。

from getpass import getpass
import os

DASHSCOPE_API_KEY = getpass()
os.environ["DASHSCOPE_API_KEY"] = DASHSCOPE_API_KEY

使用Langchain与Tongyi模型进行对话

接下来,使用langchain与Tongyi模型进行基本对话。

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

chatLLM = ChatTongyi(streaming=True)  # 使用API代理服务提高访问稳定性
res = chatLLM.stream([HumanMessage(content="hi")], streaming=True)
for r in res:
    print("chat resp:", r)

使用工具调用API

Tongyi模型支持工具调用API,能够根据自定义函数进行计算。

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)

支持图片处理

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

常见问题和解决方案

  1. 网络访问问题:由于网络限制,访问API时可能会遇到不稳定问题。可以使用API代理服务来提高访问的稳定性。

  2. 令牌过期或权限问题:确保获取的API令牌是最新的,并具有对应的访问权限。

  3. 工具函数不正确:确保工具函数的参数和返回类型正确,并按需更新文档注释。

总结和进一步学习资源

通过结合Langchain和Tongyi模型,你可以在应用程序中实现强大的智能对话功能,同时支持图像处理和自定义工具调用。进一步了解Langchain的使用可以参考以下资源:

参考资料

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

---END---