这是Packt发行的Langchain的生成AI的代码存储库。
本·奥法斯(Ben Auffarth)
Openai的Chatgpt和GPT模型不仅在我们的撰写和研究中都带来了一场革命,而且在如何处理信息方面也带来了革命。本书讨论了LLM的功能,功能和局限性,包括Chatgpt和Bard。它还在一系列实践示例中证明了如何使用Langchain框架来构建可准备生产和响应式LLM应用程序的应用程序,用于从客户支持到软件开发帮助和数据分析的任务 - 说明了LLM在现实世界中的广泛实用性。
当您通过微调,及时的工程以及用于生产环境中的部署和监视的最佳实践时,在项目中解锁了LLM的全部潜力。无论您是构建创意写作工具,开发复杂的聊天机器人还是制作尖端软件开发辅助工具,这本书都是您以自信和创造力来掌握生成AI的变革力量的路线图。
感谢您选择“与Langchain的生成AI”!感谢您的热情和反馈。
请注意,我们已发布了该书的更新版本。因此,此存储库有两个不同的分支:
请参考您感兴趣的版本或与您的书的版本相对应。
如果您已经购买了本书的最新印刷版或Kindle版本,则可以免费获得无DRM的PDF版本。只需单击链接即可索取您的免费PDF。免费书籍
我们还提供了一个PDF文件,该文件具有本书中使用的屏幕截图/图表的颜色图像
代码更新:我们的承诺是为您提供稳定且有价值的代码示例。尽管Langchain以频繁的更新而闻名,但我们了解将代码与最新更改保持一致的重要性。伴侣存储库会定期更新以与兰班的开发协调。
预期稳定性:为了稳定性和可用性,存储库可能不符合每个较小的兰链更新。我们的目标是一致性和可靠性,以确保读者获得无缝的体验。
如何联系我们:遇到问题或有建议?请不要犹豫,打开一个问题,我们会及时解决。您的反馈是无价的,我们在这里为您提供Langchain的旅程。感谢您的理解和愉快的编码!
您可以在Discord服务器上与作者和其他读者互动,并在不和谐的社区中找到最新的更新和讨论
在下表中,您可以在此存储库中找到指向目录的链接。每个目录都包含指向Python脚本和笔记本的更多链接。您还可以看到指向计算平台的链接,您可以在其中执行存储库中的笔记本。请注意,还有其他不是笔记本的Python脚本和项目,您将在本章目录中找到。
| 章节 | COLAB | Kaggle | 坡度 | Studio Lab |
|---|---|---|---|---|
| 第1章:什么是生成AI? | 没有代码示例 | |||
| 第2章:llmchain for LLM应用程序 | 没有代码示例 | |||
| 第三章:兰班 | 目录 | |||
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
| 第4章:建筑有能力的助手 | 目录 | |||
| ||||
| ||||
| ||||
| 第5章:建立聊天机器人 | 目录 | |||
| ||||
| ||||
| ||||
| ||||
| ||||
| 第6章:开发具有生成AI的软件 | 目录 | |||
| ||||
| ||||
| ||||
| ||||
| 第7章:数据科学的LLM | 目录 | |||
| ||||
| 第8章:自定义LLM及其输出 | 目录 | |||
| ||||
| 第9章:生产中的生成AI | 目录 | |||
| 第10章:生成模型的未来 | 没有代码示例 |
这是本书的伴侣存储库。这是一些有助于设置的说明。请参阅第3章。
所有章节都依靠Python。
| 章 | 需要软件 | 链接到软件 | 硬件规格 | 需要操作系统 |
|---|---|---|---|---|
| 所有章节 | Python 3.11 | https://www.python.org/downloads/ | 应该在任何最近的计算机上工作 | Windows,MacOS,Linux(Any),MacOS,Windows |
请注意,Python 3.12可能行不通(请参阅#11)。
您可以使用Conda(推荐)或PIP安装本地环境。提供了Conda,Pip和诗歌的环境配置。它们都已在MacOS上进行了测试。请注意,如果您选择PIP作为安装工具,则可能需要其他系统依赖性安装。
如果您在环境方面有任何问题,请提出一个问题,显示出您遇到的错误。如果您有信心,请继续创建拉动请求。
在Windows上,有些人在Conda和pip(由于阅读线和ncurses)方面遇到困难。如果是您的情况,请查看WSL或使用Docker安装。 WinoDW上的一些人报告说,他们需要安装Visual CPP构建工具。无论如何,如果您在环境方面有任何问题,请提出一个问题,显示出您遇到的错误。如果您有信心找到改进,请继续创建拉动请求。
对于PIP和诗歌,请确保您在系统中安装Pandoc。在MacOS上使用啤酒:
brew install pandoc在Ubuntu或Debian Linux上,使用APT:
sudo apt-get install pandoc在Windows上,您可以使用安装程序。
这是安装依赖项的推荐方法。请确保安装了Anaconda。
首先为包含所有依赖项的书创建环境:
conda env create --file langchain_ai.yaml --force康达环境称为langchain_ai 。您可以将其激活如下:
conda activate langchain_ai PIP是Python中的默认依赖关系管理工具。使用PIP,您应该能够从需求文件中安装所有库:
pip install -r requirements.txt如果您正在使用缓慢的Internet连接,则可能会看到PIP的超时(Conda和Pip也可能发生)。作为解决方法,您可以增加这样的超时设置:
export PIP_DEFAULT_TIMEOUT=100环境也有一个Docker文件。它使用Docker环境并启动IPYTHON笔记本。要使用它,首先构建它,然后运行它:
docker build -t langchain_ai .
docker run -it -p 8888:8888 langchain_ai您应该能够在http:// localhost:8888的浏览器中找到笔记本。
确保安装了诗歌。在Linux和MacOS上,您应该能够使用要求文件:
poetry install --no-root这应该取pyproject.toml文件并安装所有依赖项。
遵循有关安全性的最佳实践,我没有向Github承诺证书。您可能会看到提及config.py文件的import语句,该文件未包含在存储库中。该模块具有一个方法set_environment() ,该模块将所有键设置为像这样的环境变量:
示例config.py:
import os
def set_environment ():
os . environ [ 'OPENAI_API_KEY' ] = 'your-api-key-here'显然,您将API凭据放在这里。根据集成(OpenAI,Azure等),您需要添加相应的API键。 OpenAI API键是所有代码中最常使用的。
您可以在与Langchain的《生成AI》的第3章中找到有关API凭据和设置的更多详细信息。
如果您发现笔记本或依赖项有任何不对劲,请随时创建拉动请求。
如果要更改Conda依赖项规范(YAML文件),则可以这样测试:
conda env create --file langchain_ai.yaml --force您可以这样更新PIP要求:
pip freeze > requirements.txt请确保您将这两种维护依赖关系保持同步。
然后确保您在新环境中测试笔记本,以查看它们运行。
我提供了一个Makefile ,其中包括使用Flake8,MyPy和其他工具验证的说明。我像这样运行了巨魔:
make typecheck要在ruff中运行代码验证,请运行
ruff check . Ben Auffarth Ben Auffarth是一位拥有超过15年工作经验的全栈数据科学家。具有背景和博士学位在计算和认知神经科学中,他已经设计和进行了有关细胞培养的湿实验实验,分析了数据的实验,在IBM超级计算机上进行了大脑模型,具有多达64K核心的IBM超级计算机,建立了生产系统,每天处理成千上万的交易,并在文本文档的大型语料库上进行训练有素的语言模型。他共同创立了伦敦数据科学发言人的前总裁。