LangChainを使ってみる①


from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate

# OpenAI APIキーを設定
openai.api_key = 'YOUR_OPENAI_API_KEY'

# プロンプトテンプレートを定義
prompt_template = PromptTemplate(
    template="""
    You are a friendly and supportive English teacher. 
    A student asks: "{{prompt}}"
    Your response:
    """,
    fill_in_fields=["prompt"]  # 埋め込むフィールドを指定
)

def chat_with_friendly_english_teacher(prompt, model='text-davinci-003'):
    # プロンプトを生成
    full_prompt = prompt_template.render({"prompt": prompt})

    # GPT-3によるチャット応答を生成
    llm = OpenAI(api_key=openai.api_key)
    response = llm.generate(full_prompt, model=model)

    # 応答のテキストを返す
    return response

# テストプロンプト
test_prompt = "What's the difference between 'there', 'their', and 'they're'?"

# 関数をテスト
response = chat_with_friendly_english_teacher(test_prompt)
print("Response:", response)

このコードでは、LangChainの `PromptTemplate` クラスを使用してプロンプトのテンプレートを定義しています。このテンプレートには、動的に埋め込むフィールド `{{prompt}}` が含まれており、`render` メソッドを使用して実際のプロンプトを生成しています。その後、生成されたプロンプトを使用して、GPT-3を通じて応答を生成しています。最後に、テストプロンプトを使用して関数をテストし、応答を表示しています。

いいなと思ったら応援しよう!