検索
ホームページテクノロジー周辺機器AIドキュメント分析に LangChain と OpenAI API を使用する方法

翻訳者は書き直す必要があります:|レビューアーは書き直す必要があります:Bugatti

レビューアーは書き直す必要があります内容は次のとおりです: | 書き換える必要がある内容は次のとおりです: Chonglou

ドキュメントとデータからの洞察の抽出 # にとって、情報に基づいた意思決定を行うことは非常に重要です。ただし、機密情報を扱う場合には、プライバシーの問題が発生する可能性があります。 LangChainOpenAI を組み合わせて使用​​するには、API を書き直す必要があります。インターネットにアップロードせずにローカルのドキュメントを分析します。 データをローカルに保持し、分析に埋め込みとベクトル化を使用し、環境内でプロセスを実行することでこれを実現します。 ##この時点で。 OpenAI

は、モデルのトレーニングやサービスの改善のために、

API を通じて顧客から送信されたデータを使用しません。 #ビルド環境新しいものを作成する

Python仮想環境,これにより、ライブラリのバージョンの競合がなくなります。次に、次のターミナル コマンドを実行して、必要なライブラリをインストールします。

#

pip需要改写的内容是:install需要改写的内容是:langchain需要改写的内容是:openai需要改写的内容是:tiktoken需要改写的内容是:faiss-cpu需要改写的内容是:pypdf
各ライブラリの 使用方法については、次のとおりです :

#LangChain: これを使用して、テキストの処理と分析のための言語チェーンを作成および管理します。これは、ドキュメントの読み込み、テキストの分割、埋め込み、および ボリューム ストレージのためのモジュールを提供します。

  • #OpenAI: これを使用してクエリを実行します, を実行し、言語モデルから結果を取得します。
  • tiktoken: これを使用して、指定されたテキスト内の ## を計算します。 #トークン ( テキストユニット ) の数。これは、使用するトークンの
  • に基づいて を課金する OpenAI 用です。書き換える必要があるのは、API# です。 ##トラッキングトークン インタラクション中のカウント。 #FAISS:これを使用してベクター ストアを作成および管理します。埋め込みに基づいて類似したベクトルを迅速に取得します。 PyPDFこのライブラリは PDF# から派生しています##テキストを抽出します。
  • は、
  • PDF ファイルをロードし、そのテキスト を抽出してさらなる取引を行うのに役立ちます。と。
  • #すべてのライブラリをインストールすると、環境は nowreadyready になります。 #GetOpenAI が書き換える必要があるコンテンツは次のとおりです: APIKey OpenAI にリクエストを行う場合、書き換える必要がある内容は次のとおりです: API
追加する必要があります。

API キーをリクエストの一部として使用します。 この キーを使用すると、API プロバイダーは、リクエストが正当なソースからのものであることと、ユーザーが

それを所有します

その機能にアクセスするには権限が必要です。 OpenAI を取得するために書き換える必要がある内容は、API キー、OpenAI プラットフォーム です。

次に、右上隅のアカウント プロフィール の下で、[#] をクリックします。 ##ViewAPIKey, が表示されますAPIキーページ。

使用LangChain和OpenAI API进行文档分析的方法#[新しいキーの作成]

ボタンをクリックします。 キーに名前を付けてし、「新しいキーの作成をクリックします。 OpenAIAPI キーを生成します。これをコピーして安全な場所に保管する必要があります。セキュリティ上の理由から、OpenAI アカウントを通じて再度表示することはできません。 キーを紛失した場合は、新しいキーを生成する必要があります。

使用LangChain和OpenAI API进行文档分析的方法

导入所需的库

为了能够使用安装在虚拟环境中的库,您需要导入它们。

from需要改写的内容是:langchain.document_loaders需要改写的内容是:import需要改写的内容是:PyPDFLoader,需要改写的内容是:TextLoaderfrom需要改写的内容是:langchain.text_splitter需要改写的内容是:import需要改写的内容是:CharacterTextSplitterfrom需要改写的内容是:langchain.embeddings.openai需要改写的内容是:import需要改写的内容是:OpenAIEmbeddingsfrom需要改写的内容是:langchain.vectorstores需要改写的内容是:import需要改写的内容是:FAISSfrom需要改写的内容是:langchain.chains需要改写的内容是:import需要改写的内容是:RetrievalQAfrom需要改写的内容是:langchain.llms需要改写的内容是:import需要改写的内容是:OpenAI

注意,您从LangChain导入了依赖,这让您可以使用LangChain框架的特定功能

加载用于分析的文档

先创建一个含API密钥的变量。稍后,您将在代码中使用该变量用于身份验证。

#需要改写的内容是:Hardcoded需要改写的内容是:API需要改写的内容是:keyopenai_api_key需要改写的内容是:=需要改写的内容是:"Your需要改写的内容是:API需要改写的内容是:key"

如果您打算与第三方共享您的代码,不建议对API密钥进行硬编码。对于打算分发的生产级代码,则改而使用环境变量。

接下来,创建一个加载文档的函数。该函数应该加载PDF或文本文件。如果文档既不是PDF文件,也不是文本文件,该函数会抛出值错误

def需要改写的内容是:load_document(filename):if需要改写的内容是:filename.endswith(".pdf"):需要改写的内容是:loader需要改写的内容是:=需要改写的内容是:PyPDFLoader(filename)需要改写的内容是:documents需要改写的内容是:=需要改写的内容是:loader.load()需要改写的内容是:elif需要改写的内容是:filename.endswith(".txt"):需要改写的内容是:loader需要改写的内容是:=需要改写的内容是:TextLoader(filename)需要改写的内容是:documents需要改写的内容是:=需要改写的内容是:loader.load()需要改写的内容是:else:需要改写的内容是:raise需要改写的内容是:ValueError("Invalid需要改写的内容是:file需要改写的内容是:type")

加载文档后,创建一个CharacterTextSplitter。该分割器将基于字符将加载的文档分隔成更小的块。

需要改写的内容是:

text_splitter需要改写的内容是:=需要改写的内容是:CharacterTextSplitter(chunk_size=1000,需要改写的内容是:需要改写的内容是:chunk_overlap=30,需要改写的内容是:separator="\n")需要改写的内容是:return需要改写的内容是:text_splitter.split_documents(documents=documents)

分割文档可确保块的大小易于管理,仍与一些重叠的上下文相连接。这对于文本分析和信息检索之类的任务非常有用。

查询文档

您需要一种方法来查询上传的文档,以便从中获得洞察力。为此,创建一个以查询字符串和检索器作为输入的函数。然后,它使用检索器和OpenAI语言模型的实例创建一个RetrievalQA实例。

def需要改写的内容是:query_pdf(query,需要改写的内容是:retriever):qa需要改写的内容是:=需要改写的内容是:RetrievalQA.from_chain_type(llm=OpenAI(openai_api_key=openai_api_key),需要改写的内容是:chain_type="stuff",需要改写的内容是:retriever=retriever)result需要改写的内容是:=需要改写的内容是:qa.run(query)需要改写的内容是:print(result)

函数使用创建的QA实例来运行查询并输出结果。

创建函数

函数将控制整个程序流。它将接受用户输入的文档文件名并加载该文档。然后为文本嵌入创建OpenAIEmbeddings实例,并基于加载的文档和文本嵌入构造一个量存储。将该向量存储保存到本地文件。

接下来,从本地文件加载持久的量存储。然后输入一个循环,用户可以在其中输入查询。主函数将这些查询持久化向量存储的检索器一起传递给query_pdf函数。循环将继续,直到用户输入exit

def需要改写的内容是:main():需要改写的内容是:filename需要改写的内容是:=需要改写的内容是:input("Enter需要改写的内容是:the需要改写的内容是:name需要改写的内容是:of需要改写的内容是:the需要改写的内容是:document需要改写的内容是:(.pdf需要改写的内容是:or需要改写的内容是:.txt):\n")docs需要改写的内容是:=需要改写的内容是:load_document(filename)embeddings需要改写的内容是:=需要改写的内容是:OpenAIEmbeddings(openai_api_key=openai_api_key)vectorstore需要改写的内容是:=需要改写的内容是:FAISS.from_documents(docs,需要改写的内容是:embeddings)需要改写的内容是:vectorstore.save_local("faiss_index_constitution")persisted_vectorstore需要改写的内容是:=需要改写的内容是:FAISS.load_local("faiss_index_constitution",需要改写的内容是:embeddings)query需要改写的内容是:=需要改写的内容是:input("Type需要改写的内容是:in需要改写的内容是:your需要改写的内容是:query需要改写的内容是:(type需要改写的内容是:'exit'需要改写的内容是:to需要改写的内容是:quit):\n")while需要改写的内容是:query需要改写的内容是:!=需要改写的内容是:"exit":query_pdf(query,需要改写的内容是:persisted_vectorstore.as_retriever())query需要改写的内容是:=需要改写的内容是:input("Type需要改写的内容是:in需要改写的内容是:your需要改写的内容是:query需要改写的内容是:(type需要改写的内容是:'exit'需要改写的内容是:to需要改写的内容是:quit):\n")

嵌入捕获词之间的语义关系。向量是一种可以表示一段文本的形式。

这段代码使用OpenAIEmbeddings生成的嵌入将文档中的文本数据转换向量。然后使用FAISS对这些向量进行索引,以便效地检索和比较相似的向量。这便于对上传的文档进行分析。

最后,如果用户独立运行程序,使用__name__需要改写的内容是:==需要改写的内容是:"__main__"构造函数来调用函数

if需要改写的内容是:__name__需要改写的内容是:==需要改写的内容是:"__main__":需要改写的内容是:main()

这个应用程序是一个命令行应用程序。作为一个扩展,可以使用Streamlit为该应用程序添加Web界面。

执行文件分析

要执行文档分析,将所要分析的文档存储在项目所在的同一个文件夹中,然后运行该程序。它将询问要分析的文档的名称。输入全名,然后输入查询,以便程序分析

以下截图展示了对PDF进行分析的结果

使用LangChain和OpenAI API进行文档分析的方法

以下の出力は、with ソース コードを含むテキスト ファイルの分析結果を示しています。

使用LangChain和OpenAI API进行文档分析的方法

#分析するファイルが PDF またはテキスト形式であることを確認してください。ドキュメント 他の形式 である場合は、オンライン ツールを使用して PDF 形式 に変換できます。 完全なソース コードは、GitHub コード リポジトリで入手できます: https://github.com/makeuseofcode/Document-analysis-using-LangChain-and-OpenAI

# #元のタイトル:

How 書き換える必要がある内容は次のとおりです: to 書き換える必要がある内容は次のとおりです: Analyze 書き換える必要がある内容は次のとおりです: ドキュメント書き換えが必要な内容は次のとおりです。 書き換えが必要な内容は次のとおりです。 書き換えが必要な内容は次のとおりです。 書き換えが必要な内容は次のとおりです。 書き換えが必要な内容は次のとおりです。 書き換えが必要な内容は次のとおりです。は: OpenAI 書き換える必要があるコンテンツは: API、作成者 : Denis が書き直す必要があるコンテンツは: Kuraa

書き直す必要がある内容は次のとおりです。

以上がドキュメント分析に LangChain と OpenAI API を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は51CTO.COMで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
外挿の包括的なガイド外挿の包括的なガイドApr 15, 2025 am 11:38 AM

導入 数週間で作物の進行を毎日観察する農民がいるとします。彼は成長率を見て、さらに数週間で彼の植物がどれほど背が高くなるかについて熟考し始めます。 thから

ソフトAIの台頭とそれが今日のビジネスにとって何を意味するかソフトAIの台頭とそれが今日のビジネスにとって何を意味するかApr 15, 2025 am 11:36 AM

ソフトAIは、おおよその推論、パターン認識、柔軟な意思決定を使用して特定の狭いタスクを実行するように設計されたAIシステムとして定義されていますが、曖昧さを受け入れることにより、人間のような思考を模倣しようとします。 しかし、これはBusineにとって何を意味しますか

AIフロンティア向けの進化するセキュリティフレームワークAIフロンティア向けの進化するセキュリティフレームワークApr 15, 2025 am 11:34 AM

答えは明確です。クラウドコンピューティングには、クラウドネイティブセキュリティツールへの移行が必要であるため、AIはAIの独自のニーズに特化した新しい種類のセキュリティソリューションを要求します。 クラウドコンピューティングとセキュリティレッスンの台頭 で

3つの方法生成AIは起業家を増幅します:平均に注意してください!3つの方法生成AIは起業家を増幅します:平均に注意してください!Apr 15, 2025 am 11:33 AM

起業家とAIと生成AIを使用して、ビジネスを改善します。同時に、すべてのテクノロジーと同様に、生成的AIが増幅器であることを覚えておくことが重要です。厳密な2024年の研究o

Andrew Ngによる埋め込みモデルに関する新しいショートコースAndrew Ngによる埋め込みモデルに関する新しいショートコースApr 15, 2025 am 11:32 AM

埋め込みモデルのパワーのロックを解除する:Andrew Ngの新しいコースに深く飛び込む マシンがあなたの質問を完全に正確に理解し、応答する未来を想像してください。 これはサイエンスフィクションではありません。 AIの進歩のおかげで、それはRになりつつあります

大規模な言語モデル(LLMS)の幻覚は避けられませんか?大規模な言語モデル(LLMS)の幻覚は避けられませんか?Apr 15, 2025 am 11:31 AM

大規模な言語モデル(LLM)と幻覚の避けられない問題 ChatGpt、Claude、GeminiなどのAIモデルを使用した可能性があります。 これらはすべて、大規模なテキストデータセットでトレーニングされた大規模な言語モデル(LLMS)、強力なAIシステムの例です。

60%の問題 -  AI検索がトラフィックを排出す​​る方法60%の問題 - AI検索がトラフィックを排出す​​る方法Apr 15, 2025 am 11:28 AM

最近の研究では、AIの概要により、産業と検索の種類に基づいて、オーガニックトラフィックがなんと15〜64%減少する可能性があることが示されています。この根本的な変化により、マーケティング担当者はデジタルの可視性に関する戦略全体を再考することになっています。 新しい

AI R&Dの中心に人間が繁栄するようにするMITメディアラボAI R&Dの中心に人間が繁栄するようにするMITメディアラボApr 15, 2025 am 11:26 AM

Elon UniversityがDigital Future Centerを想像している最近のレポートは、300人近くのグローバルテクノロジーの専門家を調査しました。結果のレポート「2035年に人間である」は、ほとんどがTを超えるAIシステムの採用を深めることを懸念していると結論付けました。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません