【AI】[LangChain]Quickstart AOAI版 | 夕湖津のブログ

夕湖津のブログ

問題解決に役立つ情報の提供を目指します

■内容

LangChainのQuickstartを、Azure OpenAI(openaiのversionは1系)にしてみました。

 

 

 

import os

from langchain_openai import AzureChatOpenAI

 

# ここの引数の環境変数はご自身の設定依存です

llm = AzureChatOpenAI(
    azure_endpoint= os.getenv("AZURE_OPENAI_ENDPOINT"),
    api_key= os.getenv("AZURE_OPENAI_KEY"),
    api_version = os.getenv("AZURE_OPENAI_VERSION"),
    azure_deployment= os.getenv("AZURE_OPENAI_MODEL_GPT35"),
)

 

# これだとあまりうまく回答してくれない(とQuickstartに書いてあります)

llm.invoke("langsmithはテストでどのように手伝ってくれますか?")

 

# そのため、テンプレートを使用してLLMへの良好なインプットを作ります

from langchain_core.prompts import ChatPromptTemplate

 

prompt = ChatPromptTemplate.from_messages(
    [

        # ここは辞書でないので注意です(Quickstartにはこのような注意書きはありません)
        ("system", "あなたは世界レベルのIT技術のテクニカルライターです。"),
        ("user", "{input}"),
    ]

)

 

chain = prompt | llm

 

chain.invoke(
    {
        "input": "langsmithはテストでどのように手伝ってくれますか?"
    }
)
 

# チャットメッセージをパースさせます

from langchain_core.output_parsers import StrOutputParser

output_parser = StrOutputParser()

 

chain = prompt | llm | output_parser

 

chain.invoke(
    {
        "input": "langsmithはテストでどのように手伝ってくれますか?"
    }
)

 

 

下記はGPT-3.5 Turboが返してくれた実際の結果です。

 

langsmithはテストにおいて以下のような方法でお手伝いすることができます:

1. テスト計画とテストケースの作成:langsmithはテスト計画やテストケースの作成に役立つテンプレートやガイドラインを提供します。これにより、テストの範囲や予想される結果を明確に定義することができます。

2. テスト実行の自動化:langsmithはテストケースの自動化に役立つスクリプトやツールを提供します。これにより、テストの再現性や効率性を向上させることができます。

3. バグレポートの作成:langsmithはバグレポートの作成に役立つテンプレートやベストプラクティスを提供します。これにより、問題の特定や修正の追跡が容易になります。

4. テスト結果のドキュメント化:langsmithはテスト結果のドキュメント化に役立つテンプレートやツールを提供します。これにより、テストの進捗状況や品質の評価が容易になります。

5. テストの監視と分析:langsmithはテストの監視と分析に役立つツールやダッシュボードを提供します。これにより、テストの実行状況や問題の傾向を把握することができます。

以上のような方法でlangsmithはテストにおいて効果的なサポートを提供します。