116 lines
2.9 KiB
Plaintext
116 lines
2.9 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"id": "eadb5daf-6ee9-44a3-ac98-f53642c233e8",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"from langchain.prompts import (\n",
|
|
" ChatPromptTemplate,\n",
|
|
" SystemMessagePromptTemplate,\n",
|
|
" HumanMessagePromptTemplate,\n",
|
|
")\n",
|
|
"from langchain.chat_models import ChatOpenAI\n",
|
|
"from langchain.document_loaders import WikipediaLoader\n",
|
|
"\n",
|
|
"def answer_question_about(person_name, question):\n",
|
|
"\n",
|
|
" \"\"\"\n",
|
|
" Use the Wikipedia Document Loader to help answer questions about someone, insert it as additional helpful context.\n",
|
|
" \"\"\"\n",
|
|
"\n",
|
|
" # Load document\n",
|
|
" loader = WikipediaLoader(query=person_name, load_max_docs=1)\n",
|
|
" context_text = loader.load()[0].page_content\n",
|
|
"\n",
|
|
" # connect to openai model\n",
|
|
" model = ChatOpenAI()\n",
|
|
"\n",
|
|
" # send prompt --> format question\n",
|
|
" template = \"Answer this question:\\n{question}\\n Here is some extra context\\n{document}\"\n",
|
|
" human_prompt = HumanMessagePromptTemplate.from_template(template)\n",
|
|
"\n",
|
|
" # chat prompt --> result content\n",
|
|
" chat_prompt = ChatPromptTemplate.from_messages([human_prompt])\n",
|
|
"\n",
|
|
" result = model(chat_prompt.format_prompt(question=question, document=context_text).to_messages())\n",
|
|
"\n",
|
|
" return result.content"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"id": "ca5cc218-6160-4392-a02b-08cd7259d521",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"'Julius Robert Oppenheimer was born on April 22, 1904.'"
|
|
]
|
|
},
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"answer_question_about(\"Robert Oppenheimer\", \"When was he born?\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"id": "cac420e2-7747-4b81-a54b-cb00aa971b8e",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"'Clint Eastwood was born on May 31, 1930.'"
|
|
]
|
|
},
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"answer_question_about(\"Clint Eastwood\", \"When was he born?\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "05e764cc-13b0-4a70-b124-f89e14533d12",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3 (ipykernel)",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.11.4"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|