Anaconda作为环境和包管理工具,下载和安装比较方便。可以访问https://www.anaconda.com/download/success地址,如图2-1所示,按照操作系统选择安装包。
图2-1 选择Anaconda安装包
针对不同的操作系统和硬件架构的Anaconda安装程序选项,包括Windows、Mac和Linux系统。Anaconda提供了图形界面安装程序和命令行安装程序,以适应不同用户的偏好。特别地,为Mac的M1芯片和Linux的多种架构提供了专门的安装选项。这些安装包都包含Python 3.11版本,以及为科学计算、数据分析和机器学习预配置的丰富库。
用户可以选择图形界面安装Anaconda,如图2-2所示。Anaconda Distribution是一个专为数据科学和机器学习设计的免费Python包发行版,它通过一个综合的安装包提供了一站式解决方案。这个发行版内置了Conda,一个强大的命令行包和环境管理器,使得安装和管理软件包变得简单。本书主要使用Conda的命令行工具来管理包和环境。此外,Anaconda还包括Anaconda Navigator,一个基于Conda的桌面应用程序,它提供了图形用户界面,方便用户启动和管理各种开发工具,本书没有涉及这部分内容,有兴趣的用户可以自行了解。
图2-2 Anaconda Distribution安装界面
由于图形安装界面比较直观,用户可以通过不断单击“继续”按钮完成整个Anaconda的安装,这里不展开描述。当安装完之后,用户可以通过命令行测试是否安装成功。
在不同的操作系统中,命令行工具的使用和特性有些差异,下面介绍macOS、Windows和Linux系统中常用的命令行工具,以及如何使用这些工具测试Anaconda的安装。
在macOS中,常用的命令行工具是Terminal。安装Anaconda之后,你可以打开Terminal并输入以下命令来检查Anaconda是否成功安装。
说明Anaconda安装成功,conda管理工具的版本是22.9.0。
同理,Windows系统中的命令行工具主要是命令提示符(Command Prompt)和PowerShell。用户可以选择其中任一工具输入相同的命令来测试安装。Linux用户通常使用终端(Terminal)来访问命令行。Linux的命令行界面和macOS的Terminal类似,输入命令也是一样的,这里就不赘述了。
安装Anaconda之后,了解一些基本的conda命令对于管理Python环境和包至关重要。下面介绍一些常用的conda命令,以及如何使用这些命令来管理Python开发环境。
要查看所有的conda环境,可以使用以下命令:
上面分别列出的是环境对应的名称和路径。从第一行的输出可以看出,conda默认会创建base环境,该环境的组件都安装在“/Users/cuihao/opt/anaconda3”目录下,安装完anaconda之后,这个默认环境就会创建好。后面几个环境,如LangchainAPP、autogenstudio和book都是手工创建的,每个环境也都对应一个目录。
在conda中,每个环境都能独立管理其软件包和依赖,可以避免不同项目之间的干扰。这种隔离性不仅有助于确保项目依赖的版本一致性,防止新的库更新可能带来的兼容问题,而且减少了版本冲突的可能性,允许不同的项目使用不同版本的库而不会相互影响。此外,环境的独立性也大大增强了项目的可复现性,因为每个环境中的配置都可以被精确复制。环境管理的方式不仅提高了开发效率,还可帮助减少因依赖问题引起的潜在错误。
想象一下,你和你的家人喜欢做不同类型的菜。例如,你擅长做中餐,而你的兄弟喜欢做西餐。如果厨房里所有的食材和调料都混在一起,每次做饭时都要从这堆杂乱的食材中找到自己需要的,这不仅费时,而且容易用错材料。
使用conda环境就像给中餐和西餐各配一个专门的橱柜。你的中餐橱柜里有酱油、醋和花椒;而你兄弟的西餐橱柜里有橄榄油、罗勒和奶酪。这样,当你想做中餐时,就打开中餐橱柜,你的兄弟做西餐时就打开西餐橱柜,这样不会混淆或丢失食材。
conda环境是为不同的项目整理和隔离所需的软件包和库,就像厨房里为中餐和西餐准备的橱柜一样。每当用户开始一个新项目时,就可以“打开”一个已经配置好所有工具和材料的环境,立刻开始工作,从而确保项目的高效和有序。
了解conda环境的概念之后,就可以为本书的代码创建一个环境,可以使用以下命令:
上述命令会创建一个名为test的新环境,并在其中安装Python 3.9。用户可以在test环境下对本书的代码所用的组件库进行安装和调试。
在conda环境中执行代码之前,需要先激活环境,就像在做饭之前要打开橱柜一样,因此需要执行以下命令:
其中,pip全称是Python Package Index,是Python编写的软件包管理系统,它允许用户从Python包索引(PyPI)下载和安装Python软件包。它在创建环境,并在制订Python=3.9版本的时候就已经安装到test环境了,可以直接使用。安装完LangChain之后,如果要运行与LangChain相关的程序,只需先执行conda activate test命令,切换到test环境后运行程序即可。
如果想停止使用当前环境并返回到默认环境,可以使用以下命令:
这将从当前激活的环境中退出。
如果不再需要某个环境,可以通过以下命令删除:
上述命令将删除名为test的环境,并通过--force选项确保删除操作不会因为潜在的依赖问题而中断。
在了解了Anaconda的安装和配置后,用户就可以尝试在本地安装本书的代码。如图2-3所示,这里列出了项目源代码的目录结构,每章都会对应一个目录。例如,第2章的代码就放在chapter02目录中。另外,requirement.txt中保存的是项目所依赖的组件库。
图2-3 代码目录结构
通过以下命令安装组件库:
.env文件中保存着访问大模型平台所需要的密钥(Key),由于项目使用的大模型都是来自各大厂平台,因此为了节省本地的运算资源,可以选择使用平台提供的API调用大模型;为了获取API调用的权限,就需要注册平台并获取访问API的Key。.env文件中Key的存放如下:
在执行代码之前,需要将上述Key替换成用户注册的Key,具体Key的申请需要登录对应的平台完成,在后面的举例中会详细描述。由于本书包含6个实战项目,涉及社会生活的各个领域,因此针对不同的行业和应用场景使用了不同的大模型,从文件中的注释可以看出,分别使用了OpenAI、百度千帆以及阿里灵积平台的大模型,具体的使用方法会在具体的项目章节中进行介绍。
另外,在resource目录下会存放一些用来测试的视频文件,这将在第4章视频解说的项目中使用。
如图2-4所示,由于主要使用Python编写代码程序,在具体项目的目录下包含所有以py结尾的Python源代码文件。
图2-4 源代码文件介绍
一般而言,用户都会提供一个名为app.py的文件作为程序的入口,这个程序是通过Streamlit编写的。想要启动程序,首先要保证程序在app.py文件所在的目录下面,然后在命令行中执行以下命令:
除了app.py文件,其他py文件会在每个章节中进行介绍。随着章节内容的推进各章中会逐渐创建对应功能的py文件,并最终完成整个项目。