Files
langchain_llms/data_connections/document_loading.ipynb
2023-08-25 18:32:54 -07:00

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
}