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を通じて応答を生成しています。最後に、テストプロンプトを使用して関数をテストし、応答を表示しています。