「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テクノロジー

「2024年に注目すべきトップ10のソフトウェアアウトソーシング企業」

2024年のトップ10ソフトウェア委託革新者を探索し、ソフトウェア開発の成長と変革を推進してください

AIテクノロジー

「医師がAIを活用して診療を変革する方法」

このデジタル時代では、人工知能(AI)や新しい技術が医療を含む多くの分野で革命を起こしています特に医師にとって、これら...

AIテクノロジー

人工知能による投資アドバイス - メリットとデメリット

私たちは、テクノロジーなしで未来の生活を想像することができません朝一番に私たちはニュースを読んだり未読のメッセージが...

データサイエンス

「ディープラーニングの謎を解明する:CIFAR-10データセットを用いたCNNアーキテクチャの秘密の解明」

「人工知能の絶えず進化する世界において、畳み込みニューラルネットワーク(CNN)は革命的なテクノロジーとして登場し、コン...

AIテクノロジー

「ファイナンシャルアドバイザーがAIを活用してより多くの価値を引き出す方法」

人工知能は、金融アドバイザリー業界を含むあらゆる分野に革命をもたらしていますデータ分析から自動取引まで、AIの広範な能...

AIテクノロジー

「リターンオファーを得る方法」 (リターンオファーをえるほうほう)

学生の視点から見ると、インターンシップの主な目標は、来年の夏にインターンとしてまたは正社員として戻ってくるために、そ...