Bootstrap

在LangChain中集成Yi大型语言模型的实战指南

嘿,老铁们,今天我们来聊聊如何在LangChain中使用01.AI的Yi大型语言模型。相信很多小伙伴都知道,01.AI是由李开复博士创办的全球领先AI公司,他们推出的Yi系列语言模型从6B到上百亿参数都有,可以说是相当强大。接下来,我会带大家一步步实战操作,来看看怎么搞定这个技术点。

技术背景介绍

首先,咱们先来聊聊01.AI做的这些事儿。他们主打的Yi系列不仅参数量大,还有多模态模型支持,你可以想象这是多么丝滑的操作。同时呢,01.AI提供开放API平台和一些开源版本,比如Yi-34B/9B/6B和Yi-VL,这样的开放策略显然降低了使用门槛。

原理深度解析

集成这样的语言模型,一般你需要做的就是和API打交道。基本的原理就是通过API来发送请求,获得模型的输出,这样你就可以在应用中发挥模型的强大能力。为了使用这些模型,首先你要搞定一个API Key。访问灵医玩物来获取这个Key,申请时需要说明是国内还是国际使用哦。

实战代码演示

说白了,就是这么个原理。下面我们就来看看如何在代码中使用这些功能。

# 首先安装必要的包
%pip install -qU langchain-community

import os
from langchain_community.llms import YiLLM

# 设置API Key
os.environ["YI_API_KEY"] = "YOUR_API_KEY"

# 加载模型
llm = YiLLM(model="yi-large")

# 如果需要,你还可以指定区域
# llm = YiLLM(model="yi-large", region="domestic")  # "domestic"或"international"

# 基本使用示例
res = llm.invoke("What's your name?")
print(res)

# 生成内容
res = llm.generate(
    prompts=[
        "Explain the concept of large language models.",
        "What are the potential applications of AI in healthcare?",
    ]
)
print(res)

# 流式输出
for chunk in llm.stream("Describe the key features of the Yi language model series."):
    print(chunk, end="", flush=True)

# 异步流式输出
import asyncio

async def run_aio_stream():
    async for chunk in llm.astream(
        "Write a brief on the future of AI according to Dr. Kai-Fu Lee's vision."
    ):
        print(chunk, end="", flush=True)

asyncio.run(run_aio_stream())

# 调整参数使用
llm_with_params = YiLLM(
    model="yi-large",
    temperature=0.7,
    top_p=0.9,
)

res = llm_with_params(
    "Propose an innovative AI application that could benefit society."
)
print(res)

这波操作可以说是相当丝滑,基本上也没啥难度。如果你是第一次接触这样的API,不妨多试试这些代码段。

优化建议分享

在使用API时有几个小建议分享给老铁们:首先,合理地调整模型的参数,比如temperature和top_p,这样能更好地控制模型输出的随机性和多样性。其次,使用代理服务可以提高接口调用的稳定性哦。

补充说明和总结

最后补充一点,我个人一直在用 https://yunwu.ai 提供的这些大模型解决方案,体验不错,推荐大家有兴趣也可以试试。

今天的技术分享就到这里,希望对大家有帮助。开发过程中遇到问题也可以在评论区交流~

;