これは、Packtが発行したLangchain、初版を備えた生成AIのコードリポジトリです。
ベン・オファース
OpenaiによるChatGptとGPTモデルは、私たちがどのように書いて研究するかだけでなく、情報の処理方法にも革命をもたらしました。この本では、ChatGptやBardを含むLLMS基礎となるLLMSの機能、機能、および制限について説明しています。また、一連の実用的な例では、Langchain Frameworkを使用して、カスタマーサポートからソフトウェア開発支援とデータ分析に至るまでのタスク用の生産対応で応答性の高いLLMアプリケーションを構築する方法を示しています。
生産環境での展開と監視のための微調整、迅速なエンジニアリング、およびベストプラクティスに関するガイダンスをナビゲートする際に、プロジェクト内のLLMの最大限の潜在能力を解き放ちます。創造的なライティングツールを構築したり、洗練されたチャットボットを開発したり、最先端のソフトウェア開発エイズを作成したりするかどうかにかかわらず、この本は、自信と創造性をもって生成AIの変革力を習得するためのロードマップになります。
「Langchainを使用した生成AI」を選択していただきありがとうございます!あなたの熱意とフィードバックに感謝します。
本の更新バージョンをリリースしたことに注意してください。その結果、このリポジトリには2つの異なるブランチがあります。
興味のあるバージョン、または本のバージョンに対応するバージョンを参照してください。
この本の最新の印刷またはKindleバージョンを既に購入している場合は、DRMフリーのPDFバージョンを無料で入手できます。リンクをクリックして、無料のPDFを請求するだけです。 free-ebook
また、GraphicBundleのこの本で使用されているスクリーンショット/図のカラー画像を備えたPDFファイルも提供しています
コードの更新:私たちのコミットメントは、安定した価値のあるコードの例を提供することです。 Langchainは頻繁な更新で知られていますが、コードを最新の変更に合わせることの重要性を理解しています。コンパニオンリポジトリは、Langchain開発と調和するために定期的に更新されます。
安定性を期待する:安定性と使いやすさのために、リポジトリはすべてのマイナーラングチェーンアップデートと一致しない場合があります。私たちは、読者にシームレスな体験を確保するために、一貫性と信頼性を目指しています。
私たちに連絡する方法:問題に遭遇したり、提案があるのですか?お気軽に問題を開くことをお勧めします。すぐに説明します。あなたのフィードバックは非常に貴重であり、私たちはLangchainでのあなたの旅であなたをサポートするためにここにいます。あなたの理解と幸せなコーディングをありがとう!
Discord Serverで著者や他の読者と交流し、Discordでコミュニティで最新の更新やディスカッションを見つけることができます
次の表には、このリポジトリのディレクトリへのリンクを見つけることができます。各ディレクトリには、Pythonスクリプトとノートブックへのリンクが含まれています。また、リポジトリのノートブックを実行できるコンピューティングプラットフォームへのリンクを確認することもできます。ノートブックではない他のPythonスクリプトやプロジェクトがあることに注意してください。これは章のディレクトリにあります。
| 章 | colab | Kaggle | 勾配 | スタジオラボ |
|---|---|---|---|---|
| 第1章:生成AIとは何ですか? | コードの例はありません | |||
| 第2章:LLMアプリ用のLangchain | コードの例はありません | |||
| 第3章:Langchainを始める | ディレクトリ | |||
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
| ||||
| 第4章:有能なアシスタントの構築 | ディレクトリ | |||
| ||||
| ||||
| ||||
| 第5章:chatgptのようなチャットボットの構築 | ディレクトリ | |||
| ||||
| ||||
| ||||
| ||||
| ||||
| 第6章:生成AIを使用したソフトウェアの開発 | ディレクトリ | |||
| ||||
| ||||
| ||||
| ||||
| 第7章:データサイエンスのLLMS | ディレクトリ | |||
| ||||
| 第8章:LLMとその出力のカスタマイズ | ディレクトリ | |||
| ||||
| 第9章:生産における生成AI | ディレクトリ | |||
| 第10章:生成モデルの未来 | コードの例はありません |
これは本のコンパニオンリポジトリです。セットアップに役立ついくつかの指示を以下に示します。第3章もご覧ください。
すべての章はPythonに依存しています。
| 章 | ソフトウェアが必要です | ソフトウェアへのリンク | ハードウェア仕様 | OSが必要です |
|---|---|---|---|---|
| すべての章 | Python 3.11 | https://www.python.org/downloads/ | 最近のコンピューターで動作するはずです | Windows、MacOS、Linux(Any)、MacOS、Windows |
Python 3.12は機能しない可能性があることに注意してください(#11を参照)。
Conda(推奨)またはPIPで地元の環境をインストールできます。コンドラ、ピップ、詩の環境構成が提供されます。それらはすべて、macosでテストされています。インストールツールとしてPIPを選択した場合、システム依存関係の追加インストールが必要になる場合があることに注意してください。
環境に問題がある場合は、発生した問題を提起してください。自信がある場合は、先に進んでプルリクエストを作成してください。
Windowsでは、一部の人々は、CondaとPIPで困難を経験しています(ReadlineとNcursesのため)。その場合は、WSLをご覧になるか、Dockerのインストールを使用してください。 Winodwsの一部の人々は、Visual CPPビルドツールをインストールする必要があると報告しました。いずれにせよ、環境に問題がある場合は、発生した問題を提起してください。改善が見つかったと確信している場合は、先に進んでプルリクエストを作成してください。
ピップと詩については、システムにPandocをインストールしてください。 macosではbrewを使用します:
brew install pandocubuntuまたはdebian linuxで、aptを使用してください。
sudo apt-get install pandocWindowsでは、インストーラーを使用できます。
これは、依存関係をインストールするための推奨方法です。アナコンダがインストールされていることを確認してください。
最初に、すべての依存関係を含む本の環境を作成します。
conda env create --file langchain_ai.yaml --forceコンドラ環境はlangchain_aiと呼ばれます。次のようにアクティブ化できます。
conda activate langchain_ai PIPは、Pythonのデフォルトの依存関係管理ツールです。 PIPを使用すると、要件ファイルからすべてのライブラリをインストールできるはずです。
pip install -r requirements.txt遅いインターネット接続を使用している場合は、PIPでタイムアウトが表示される場合があります(これはコンドラやPIPでも発生する可能性があります)。回避策として、次のようなタイムアウト設定を増やすことができます。
export PIP_DEFAULT_TIMEOUT=100環境用のDockerファイルもあります。 Docker環境を使用して、IPythonノートブックを開始します。それを使用するには、最初に構築してから実行します。
docker build -t langchain_ai .
docker run -it -p 8888:8888 langchain_aihttp:// 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依存関係を同期して維持するこれらの2つの方法を保持していることを確認してください。
次に、新しい環境でノートブックをテストして、それらが実行されることを確認してください。
Flake8、MyPy、およびその他のツールを使用した検証の指示を含むMakefileを含めました。私はこのようにmypyを実行しました:
make typecheckRuffでコード検証を実行するには、実行してください
ruff check . Ben Auffarth Ben Auffarthは、15年以上の実務経験を持つフルスタックのデータサイエンティストです。背景と博士号計算および認知的神経科学では、細胞培養に関するウェットラボ実験を設計および実施し、テラバイトのデータを分析し、最大64Kコアを備えたIBMスーパーコンピューターで脳モデルを実行し、1日あたり数百と数千のトランザクションを処理する生産システムを構築し、テキスト文書の大規模な言語モデルを訓練しました。彼は共同設立し、ロンドンのデータサイエンススピーカーの元社長です。