“ 大家好。今天我手把手教大家如何用LangChain调用商业大模型。”
01
—
基本操作
目前OpenAI等公司开发了大语言模型,但是如何基于他们的大语言模型,开发自己的应用呢?这时候就需要LangChain了。学习LangChain能让你快速构建和部署复杂的自然语言处理应用,无论是对话机器人、智能搜索还是内容生成。它提供丰富的功能和灵活性,帮助提升开发效率。
这一期先学习LangChain的基本使用。说实话,它不是很好用,但是还是需要学习它的用法,因为目前没有更好的替代。它就类似TensorFlow,很难用,但是在更好的工具(PyTorch)出现之前,还是得用。
**第一步,安装LangChain库
**
pip install langchain
第二步,安装大模型的库(以OpenAI的GPT为例)
pip install -qU langchain-openai
第三步,注册LangChain免费账号,获取API_KEY。
网址在这里:https://smith.langchain.com/o/36c80b3b-25c0-5939-ad2e-0a471b9c089a/
第四步,注册OpenAI的付费账号,获取付费API_KEY。
网址在这里:https://platform.openai.com/apps。进去选择“API”,充值几块钱就可以用几个月了。
import os``from langchain_openai import ChatOpenAI``from langchain_core.messages import HumanMessage, SystemMessage``from langchain_core.output_parsers import StrOutputParser`` ``os.environ["LANGCHAIN_TRACING_V2"] = "true"``os.environ["LANGCHAIN_API_KEY"] = "你的LangChain的API—Key" # 去LangChain注册一个免费账号就有Key了``# Why we need the API key of LangChain? Because we need the website to help use record some logs.``os.environ["OPENAI_API_KEY"] = "你的OpenAI的API—Key" # 需要去OpenAI付费API才行,花个10美元够用半年了``
第四步,运行模型
model = ChatOpenAI(model="gpt-4") # 选择模型``parser = StrOutputParser() # 输出解析器`` ``messages = [ # 输入消息` `SystemMessage(content="把下面的英语翻译成中文"),` `HumanMessage(content="hi!"),``]`` ``result = model.invoke(messages) # 运行得到结果``parser.invoke(result) # 输出解析,“你好”
以上就是LangChain的基础使用方法。下面是LangChain的一些进阶操作。
02
—
进阶操作
**进阶1:LangChain提供了模板可以用。
**
# 模板的使用``from langchain_core.prompts import ChatPromptTemplate``system_template = "把下面的英语翻译成 {language}:"``prompt_template = ChatPromptTemplate.from_messages(` `[("system", system_template), ("user", "{text}")]``)``result = prompt_template.invoke({"language": "中文", "text": "hi"})``result.to_messages()
上面的例子提供了一个prompt的模板,模板有一个变量{language}和另一个变量{text}。这两个变量可以在后面通过传递参数而改变。
****进阶2:**LangChain也可以把不同组件进行拼接
**
# 拼接几个组件``chain = prompt_template | model | parser``chain.invoke({"language": "中文", "text": "hi"})
进阶3:大模型部署
我们按照上文是可以调用商业模型了,但是假设我们是一个基于大模型做应用的公司,我们希望我们调用商业大模型之后,做成我们的应用,然后让用户使用。比如我们调用这个大模型开发一个翻译软件。这个时候我们需要把我们的产品进行部署。部署之后,用户把ta的文字,通过我们提供的网址,传送到我们的服务器上,我们的服务器自动运行,输出翻译结果给用户端。接下来我们通过一个简单的例子看看怎么用LangChain对大模型应用进行部署。
虽然前面部分旨在在 Jupyter Notebook 或脚本中运行,但现在我们将不再使用这种方法。我们将创建一个 Python 文件,然后从命令行与其进行交互。
先安装langserve这个包:
pip install "langserve[all]"
要为我们的应用程序创建服务器,我们将创建一个serve.py
文件:
#!/usr/bin/env python``from typing import List`` ``from fastapi import FastAPI``from langchain_core.prompts import ChatPromptTemplate``from langchain_core.output_parsers import StrOutputParser``from langchain_openai import ChatOpenAI``from langserve import add_routes``import os`` ``os.environ["LANGCHAIN_TRACING_V2"] = "true"``os.environ["LANGCHAIN_API_KEY"] = "你的langchain的api_key" # 去LangChain注册一个免费账号就有Key了``# Why we need the API key of LangChain? Because we need the website to help use record some logs.``os.environ["OPENAI_API_KEY"] = "你的openai的api_key" # 需要去OpenAI付费API才行,花个10美元够用半年了`` ``# 1. Create prompt template``system_template = "Translate the following into {language}:"``prompt_template = ChatPromptTemplate.from_messages([` `('system', system_template),` `('user', '{text}')``])`` ``# 2. Create model``model = ChatOpenAI()`` ``# 3. Create parser``parser = StrOutputParser()`` ``# 4. Create chain``chain = prompt_template | model | parser`` `` ``# 4. App definition``app = FastAPI(` `title="LangChain Server",` `version="1.0",` `description="A simple API server using LangChain's Runnable interfaces",``)`` ``# 5. Adding chain route`` ``add_routes(` `app,` `chain,` `path="/chain",``)`` ``if __name__ == "__main__":` `import uvicorn` `# start the serve` `uvicorn.run(app, host="localhost", port=8000)
就是这样!如果我们执行这个文件:
python serve.py
终端显示如下:
根据终端的提示我们可以知道,我们的服务已经运行在http://localhost:8000了。通过浏览器前往http://localhost:8000/ chain/playground,传入与之前相同的输入: {"language": "Chinese", "text": "hi"}
它会做出与之前相同的响应,如下图。
除了通过浏览器,我们也可以通过编程的方式与服务器交互。新建一个.py文件,运行如下代码:
from langserve import RemoteRunnable`` ``remote_chain = RemoteRunnable("http://localhost:8000/chain/")``remote_chain.invoke({"language": "中文", "text": "hi"})``# 输出:'你好'
Okay!这篇文章到此结束。我们学会了LangChain的基本用法和进阶用法。学会了如何通过LangChain部署一个大模型。之后你就可以给你们公司开发大模型应用啦~
这个教程很大一部分借鉴了LangChain的官方教程(网址https://python.langchain.com/v0.2/docs/tutorials/llm_chain/)。感兴趣的可以直接阅读英文原文。
感谢您的关注,我之后会讲LangChain的更多用法和案例。再会~
那么,如何系统的去学习大模型LLM?
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。
但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
所有资料 ⚡️ ,朋友们如果有需要全套 《LLM大模型入门+进阶学习资源包》,扫码获取~
篇幅有限,部分资料如下:
👉LLM大模型学习指南+路线汇总👈
💥大模型入门要点,扫盲必看!
💥既然要系统的学习大模型,那么学习路线是必不可少的,这份路线能帮助你快速梳理知识,形成自己的体系。
👉大模型入门实战训练👈
💥光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉国内企业大模型落地应用案例👈
💥《中国大模型落地应用案例集》 收录了52个优秀的大模型落地应用案例,这些案例覆盖了金融、医疗、教育、交通、制造等众多领域,无论是对于大模型技术的研究者,还是对于希望了解大模型技术在实际业务中如何应用的业内人士,都具有很高的参考价值。 (文末领取)
💥《2024大模型行业应用十大典范案例集》 汇集了文化、医药、IT、钢铁、航空、企业服务等行业在大模型应用领域的典范案例。
👉LLM大模型学习视频👈
💥观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。 (文末领取)
👉640份大模型行业报告👈
💥包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
👉获取方式:
这份完整版的大模型 LLM 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
😝有需要的小伙伴,可以Vx扫描下方二维码免费领取🆓