LangChain入门系列-环境准备

186 阅读3分钟

安装python

建议安装python 3.10+的版本,www.python.org/downloads/w…

安装poetry(管理虚拟环境)

选择poetry作为虚拟环境管理工具的原因只是个人习惯,各种虚拟环境管理工具的对比网上都可以找到,或者直接问KIMI:"python的虚拟环境管理工具virtualenv、venv、pipenv、poetry、conda各有什么优劣?"

1、安装方式

windows我是直接使用下面的命令安装的,更多安装方式可以参考:blog.csdn.net/Python966/a…

Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -

安装完成后记得配置系统环境变量

2、基本用法

poetry的基本用法可参考:poetry 入门完全指南_poetry使用-CSDN博客

安装IDE

1、轻量级jupyter notebook安装说明:


# 如果安装失败,可尝试升级pip后重试

pip install --upgrade pip

# 安装成功后,启动jupyter notebook,记得将相关目录配置到系统环境变量中PATH

jupyter notebook

jupyter notebook成功启动后,新建一个notebook文件

image.png

新建文件后会让我们选择python解释器的内核,默认情况下只有全局python内核可用,因为这里jupyter notebook是安装在全局环境中的。如果想要选择虚拟环境中的python需要进行一些配置,详情可参考:Jupyter notebook 添加虚拟环境 - RolandHe - 博客园(当然也可以在每个虚拟环境中重新安装一个jupyter notebook)

image.png

2、使用pycharm开发

官网自行下载:www.jetbrains.com.cn/pycharm/dow…

大模型接口

百度大模型

百度的文心大模型ERNIE Speed、Lite目前已全面免费,只要在平台上注册账号,可通模型权限即可直接通过接口使用大模型。

image.png

注册账号后,在千帆大模型平台-应用接入创建一个应用,接口获取调用大模型的AK/SK:

image.png

开始调用大模型之前,必须先在千帆大模型平台-计费管理开通相应模型的权限。

image.png

通义千问

登录阿里云平台,开通DashScope并创建API-KEY:help.aliyun.com/zh/dashscop…

image.png

创建新的API-KEY之后,就可以直接使用模型服务了,在模型广场中可以找到通义千问的API文档:help.aliyun.com/zh/dashscop… 不过在使用LangChain调用时有相关的包支持直接使用,调用起来会更方便,后面会用到。

要注意这里的模型服务是收费的,不过目前的大模型接口收费还算便宜,并且首次开通还会送免费额度,具体可以在计费管理中查看:dashscope.console.aliyun.com/billing

image.png

image.png

LangChian验证大模型服务


Python import os

from langchain*community.chat*models import QianfanChatEndpoint from langchain*core.prompts import ChatPromptTemplate from langchain*openai import AzureChatOpenAI from langchain_core.messages import HumanMessage, SystemMessage

messages = [ SystemMessage(content="Translate the following from English into Chinese"), HumanMessage(content="hi!"), ]

os.environ["QIANFAN*AK"] = "千帆大模型平台获取AK" os.environ["QIANFAN*SK"] = "千帆大模型平台获取SK"

# 千帆,需要开通相应的模型权限才能调通:https://console.bce.baidu.com/qianfan/chargemanage/list

wenxin4*model = QianfanChatEndpoint(model="ERNIE-Speed-8K") res = wenxin4*model.invoke(messages) print(res.content)

# 输出解析

from langchain*core.output*parsers import StrOutputParser

parser = StrOutputParser()

# chain

chain = wenxin4_model | parser res = chain.invoke(messages) print(res)

# 提示词

system*template = "Translate the following into {language}:" prompt*template = ChatPromptTemplate.from*messages( [("system", system*template), ("user", "{text}")] ) result = prompt*template.invoke({"language": "Chinese", "text": "hi"}) print(result.to*messages())

ful*chain = prompt*template | wenxin4*model | parser res = ful*chain.invoke({"language": "chinese", "text": "hi"}) print(res) ```

好了,至此我们已经准备好基于LangChain开发AI应用的环境,后面我们将开始正式进入LangChain的入门实践!