ホームページ > バックエンド開発 > Python チュートリアル > LangChain と Python を使用した生成 AI の包括的な初心者ガイド - 3

LangChain と Python を使用した生成 AI の包括的な初心者ガイド - 3

Mary-Kate Olsen
リリース: 2024-12-30 01:11:18
オリジナル
1041 人が閲覧しました

Comprehensive Beginner

生成 AI を使用すると、システムはデータとプロンプトに基づいてテキスト、画像、コード、またはその他の形式のコンテンツを作成できます。 LangChain は、ワークフローを調整し、プロンプトを管理し、メモリやツールの統合などの高度な機能を有効にすることで、生成 AI モデルの操作を簡素化するフレームワークです。

このガイドでは、LangChainPython を使用して Generative AI を開始するために必要な主要な概念とツールを紹介します。


1. LangChainとは何ですか?

LangChain は、OpenAI の GPT モデルや Hugging Face モデルなどの大規模言語モデル (LLM) を使用してアプリケーションを構築するための Python ベースのフレームワークです。役に立ちます:

  • プロンプトの管理: 再利用可能な構造化されたプロンプトを作成します。
  • チェーン ワークフロー: 複数の LLM 呼び出しを 1 つのワークフローに結合します。
  • ツールの使用: AI モデルが API、データベースなどと対話できるようにします。
  • メモリの追加: モデルが過去のインタラクションを記憶できるようにします。

2.環境のセットアップ

a) 必要なライブラリをインストールする

まず、LangChain と関連ライブラリをインストールします。

pip install langchain openai python-dotenv streamlit
ログイン後にコピー
ログイン後にコピー

b) OpenAI API キーを設定する

  1. OpenAI アカウントにサインアップして、API キー (OpenAI API) を取得します。
  2. プロジェクト ディレクトリに .env ファイルを作成し、API キーを追加します。
   OPENAI_API_KEY=your_api_key_here
ログイン後にコピー
ログイン後にコピー
  1. dotenv を使用して Python スクリプトに API キーをロードします。
   from dotenv import load_dotenv
   import os

   load_dotenv()
   openai_api_key = os.getenv("OPENAI_API_KEY")
ログイン後にコピー
ログイン後にコピー

3. LangChain の主要な概念

a) プロンプト

プロンプトは、AI が目的の出力を生成するようにガイドします。 LangChain では、PromptTemplate を使用してプロンプトを体系的に構築できます。

from langchain.prompts import PromptTemplate

# Define a template
template = "You are an AI that summarizes text. Summarize the following: {text}"
prompt = PromptTemplate(input_variables=["text"], template=template)

# Generate a prompt with dynamic input
user_text = "Artificial Intelligence is a field of study that focuses on creating machines capable of intelligent behavior."
formatted_prompt = prompt.format(text=user_text)
print(formatted_prompt)
ログイン後にコピー
ログイン後にコピー

b) 言語モデル

LangChain は、OpenAI の GPT モデルや Hugging Face モデルなどの LLM と統合します。 OpenAI GPT には ChatOpenAI を使用します。

from langchain.chat_models import ChatOpenAI

# Initialize the model
chat = ChatOpenAI(temperature=0.7, openai_api_key=openai_api_key)

# Generate a response
response = chat.predict("What is Generative AI?")
print(response)
ログイン後にコピー
ログイン後にコピー

c) チェーン

チェーンは、複数のステップまたはタスクを 1 つのワークフローに結合します。たとえば、チェーンは次のようになります:

  1. 文書を要約します。
  2. 概要に基づいて質問を生成します。
from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate

# Create a prompt and chain
template = "Summarize the following text: {text}"
prompt = PromptTemplate(input_variables=["text"], template=template)
chain = LLMChain(llm=chat, prompt=prompt)

# Execute the chain
result = chain.run("Generative AI refers to AI systems capable of creating text, images, or other outputs.")
print(result)
ログイン後にコピー
ログイン後にコピー

d) 記憶

メモリにより、モデルは複数のインタラクションにわたってコンテキストを保持できます。これはチャットボットに役立ちます。

from langchain.chains import ConversationChain
from langchain.memory import ConversationBufferMemory

# Initialize memory and the conversation chain
memory = ConversationBufferMemory()
conversation = ConversationChain(llm=chat, memory=memory)

# Have a conversation
print(conversation.run("Hi, who are you?"))
print(conversation.run("What did I just ask you?"))
ログイン後にコピー
ログイン後にコピー

4.アプリケーション例

a) テキストの生成

プロンプトを使用してクリエイティブな応答やコンテンツを生成します。

from langchain.chat_models import ChatOpenAI
from langchain.prompts import PromptTemplate

chat = ChatOpenAI(temperature=0.9, openai_api_key=openai_api_key)
prompt = PromptTemplate(input_variables=["topic"], template="Write a poem about {topic}.")
chain = LLMChain(llm=chat, prompt=prompt)

# Generate a poem
result = chain.run("technology")
print(result)
ログイン後にコピー

b) 要約

文書やテキストを効率的に要約します。

pip install langchain openai python-dotenv streamlit
ログイン後にコピー
ログイン後にコピー

c) チャットボット

メモリを備えたインタラクティブなチャットボットを構築します。

   OPENAI_API_KEY=your_api_key_here
ログイン後にコピー
ログイン後にコピー

5.高度な機能

a) ツール

モデルが Web 検索やデータベースなどの外部ツールにアクセスできるようにします。

   from dotenv import load_dotenv
   import os

   load_dotenv()
   openai_api_key = os.getenv("OPENAI_API_KEY")
ログイン後にコピー
ログイン後にコピー

b) カスタムチェーン

複数のタスクを組み合わせてカスタム ワークフローを作成します。

from langchain.prompts import PromptTemplate

# Define a template
template = "You are an AI that summarizes text. Summarize the following: {text}"
prompt = PromptTemplate(input_variables=["text"], template=template)

# Generate a prompt with dynamic input
user_text = "Artificial Intelligence is a field of study that focuses on creating machines capable of intelligent behavior."
formatted_prompt = prompt.format(text=user_text)
print(formatted_prompt)
ログイン後にコピー
ログイン後にコピー

6. Streamlit による導入

Streamlit を使用して、生成 AI モデル用のシンプルな Web アプリを構築します。

Streamlit をインストールします。

from langchain.chat_models import ChatOpenAI

# Initialize the model
chat = ChatOpenAI(temperature=0.7, openai_api_key=openai_api_key)

# Generate a response
response = chat.predict("What is Generative AI?")
print(response)
ログイン後にコピー
ログイン後にコピー

シンプルなアプリ:

from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate

# Create a prompt and chain
template = "Summarize the following text: {text}"
prompt = PromptTemplate(input_variables=["text"], template=template)
chain = LLMChain(llm=chat, prompt=prompt)

# Execute the chain
result = chain.run("Generative AI refers to AI systems capable of creating text, images, or other outputs.")
print(result)
ログイン後にコピー
ログイン後にコピー

アプリを実行します:

from langchain.chains import ConversationChain
from langchain.memory import ConversationBufferMemory

# Initialize memory and the conversation chain
memory = ConversationBufferMemory()
conversation = ConversationChain(llm=chat, memory=memory)

# Have a conversation
print(conversation.run("Hi, who are you?"))
print(conversation.run("What did I just ask you?"))
ログイン後にコピー
ログイン後にコピー

7.生成 AI 開発者のための重要な概念

a) モデルの微調整

カスタム データセットで GPT や安定拡散などのモデルを微調整する方法を学びます。

b) 迅速なエンジニアリング

効果的なプロンプトの作成をマスターして、目的の出力を取得します。

c) マルチモーダル AI

テキスト、画像、その他のモダリティを組み合わせたモデル (OpenAI の DALL·E や CLIP など) を使用します。

d) スケーリングと展開

クラウド サービスや Docker などのツールを使用してモデルを実稼働環境にデプロイします。


8.リソース

  • LangChain ドキュメント: LangChain ドキュメント
  • OpenAI API: OpenAI ドキュメント
  • ハグ顔モデル: ハグ顔

このガイドに従うことで、Python と LangChain を使用して生成 AI アプリケーションを構築するために必要な基礎知識を得ることができます。実験を開始し、ワークフローを構築し、AI のエキサイティングな世界に深く飛び込んでみましょう!

以上がLangChain と Python を使用した生成 AI の包括的な初心者ガイド - 3の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート