langchain data connections
This commit is contained in:
115
data_connections/document_loading.ipynb
Normal file
115
data_connections/document_loading.ipynb
Normal file
@@ -0,0 +1,115 @@
|
||||
{
|
||||
"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
|
||||
}
|
||||
Reference in New Issue
Block a user