「Langchainの使い方:ステップバイステップガイド」

「Langchainの活用法:ステップバイステップガイド」

www.marktechpost.comwww.marktechpost.com

LangChain(ラングチェーン)は、プログラマーが大きな言語モデルを使用してアプリケーションを開発するための人工知能フレームワークです。LangChainの使用方法について詳しく見ていきましょう。

ステップ1セットアップ

LangChainを始める前に、適切に構成された開発環境があることを確認してください。PythonまたはJavaScriptなどの必要な依存関係をインストールしてください。LangChainは両方の言語に対応しており、開発者に柔軟性を提供します。

pip install langchain
conda install langchain -c conda-forge

ステップ2LLM(Language Models)

LangChainを効果的に使用するためには、モデルプロバイダーやデータストア、APIなどのさまざまなコンポーネントと統合することがしばしば必要です。ここでは、LangChainをOpenAIのモデルAPIと統合します。また、Hugging Faceを使用しても同様に行うことができます。

!pip install openaiimport osos.environ["OPENAI_API_KEY"] ="YOUR_OPENAI_TOKEN"
from langchain.llms import OpenAIllm = OpenAI(temperature=0.9)  text = "What would be a good company name for a company that makes candy floss?"print(llm(text))

ステップ3LangChainプロンプトテンプレート

LangChainのプロンプトテンプレートを使用すると、言語モデル用の良いプロンプトを簡単に作成できます。これにより、開発者はLangChainをスムーズにアプリに組み込み、作業を効率的かつ一貫性のあるものにすることができます。

llm("Can India be economically stronger in future?")prompt = """Question: Can India be economically stronger in future?Let's think step by step.Answer: """llm(prompt)
from langchain import PromptTemplatetemplate = """Question: {question}Let's think step by step.Answer: """prompt =PromptTemplate(template=template,input_variables=["question"])
prompt.format(question="Can India be economically stronger in future?")llm(prompt)

ステップ4チェーン

LangChainでは、単一の言語モデル(LLM)は単純なタスクには適していますが、より複雑なアプリケーションには複数のLLMをリンクまたはチェーンする必要があります。

from langchain import LLMChainllm_chain = LLMChain(prompt=prompt, llm=llm)question = "Can India be economically stronger in future?"print(llm_chain.run(question))

ステップ5エージェントとツール

エージェントは、言語モデル(LLM)を使用して決定を下し、アクションを実行する権限を持つエンティティです。エージェントは、Google検索、データベースの検索など、特定の目的を持つ関数であるツールを実行することで操作します。ツールは、エージェントが外部の世界と効果的にやり取りするための構築ブロックです。

from langchain.agents import load_toolsfrom langchain.agents import initialize_agent
!pip install wikipediafrom langchain.llms import OpenAIllm = OpenAI(temperature=0)tools = load_tools(["wikipedia", "llm-math"], llm=llm)
agent = initialize_agent(tools, llm, agent="zero-shot-react-description", verbose=True)agent.run("In what year was the film Chocolate factory released? What is this year raised to the 0.43 power?")

ステップ6メモリ

メモリは、これらのプログラムが次のステップに進む際に情報を保存および取得するための方法です。異なる呼び出しやアクションの間で情報を保持したり、取り出したりすることができます。LangChainでは、さまざまなメモリオプションを提供し、メモリを処理するための標準的な方法を提供しています。

from langchain import OpenAI, ConversationChain
llm = OpenAI(temperature=0)
conversation = ConversationChain(llm=llm, verbose=True)
conversation.predict(input="こんにちは!")
conversation.predict(input="AIについて話しましょうか?")conversation.predict(input="Deep Learningに興味があります。")

ステップ7: ドキュメントローダー

ドキュメントローダーを使用して、データを文書としてソースから読み込みます。これらのローダーは、単純なテキストファイル、Webページのテキスト、YouTubeビデオのテキストなど、さまざまなソースからデータを取得することができます。

from langchain.document_loaders import TextLoader
loader = TextLoader("./index.md")
loader.load()

ステップ8: インデックス

インデックスは、言語モデル(LLM)が文書を理解し、効果的に操作するための方法で文書を整理するのに役立ちます。このモジュールには、以下の便利なツールが提供されています:

1. 埋め込み: テキスト、画像、音声、ドキュメントなどの情報の数値表現です。

2. テキストスプリッター: 長いテキストをより小さな管理可能なチャンクに分割するのに役立ちます。

3. ベクトルストア: NLPモデルによって作成された数値表現(ベクトル)を格納して整理します。

import requestsurl = "https://raw.fricklles/state_of_the_union.txt"res = requests.get(url)with open("state_of_the_union.txt", "w") as f:  f.write(res.text)
# ドキュメントローダーfrom langchain.document_loaders import TextLoaderloader = TextLoader('./state_of_the_union.txt')documents = loader.load()
# テキストスプリッターfrom langchain.text_splitter import CharacterTextSplittertext_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)docs = text_splitter.split_documents(documents)
!pip install sentence_transformers# 埋め込みfrom langchain.embeddings import HuggingFaceEmbeddingsembeddings = HuggingFaceEmbeddings()#text = "This is a test document."#query_result = embeddings.embed_query(text)#doc_result = embeddings.embed_documents([text])
!pip install faiss-cpu# ベクトルストア: https://python.langchain.com/en/latest/modules/indexes/vectorstores.htmlfrom langchain.vectorstores import FAISSdb = FAISS.from_documents(docs, embeddings)query = "What did the president say about Ketanji Brown Jackson"docs = db.similarity_search(query)print(docs[0].page_content)

この記事はLangchainの使い方?ステップバイステップガイドで公開されました。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

AIテクノロジー

「AIシステムへの9つの一般的な攻撃のタイプ」

「敵対的な攻撃からデータの汚染まで、一般的なAIシステム攻撃を探索し、信頼性のある未来のためにAIを保護する方法を学びま...

AIニュース

グーグルはコントロールを失っている - CTR操作から大量のAIコンテンツまで

人工知能(AI)の時代は私たちに迫っており、私たちの日常生活を形作り続けていますAIによるコンテンツの人気が高まる中、ス...

AIテクノロジー

2023年の最高の6つの人工知能(AI)ETF

ETFはAIに投資する便利で多様化された方法を提供します2023年最高の6つの人工知能(AI)ETFを探ってみましょう

AIテクノロジー

「リモートワーク技術の探究:トレンドとイノベーション」

「バーチャルオフィスやコラボレーションツールからワークスペースの未来、サイバーセキュリティ、AI自動化、働き方と生活の...

AIニュース

慈善家のジェームズ・ドゥーリー氏がユニプレイ・マーキングに投資

イギリスに拠点を置く起業家兼投資家のジェームズ・ドゥーリー氏が、Uniplayという新しいビジネスベンチャーに投資しましたUn...