1481 lines
692 KiB
Text
1481 lines
692 KiB
Text
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "d35ac8ce-0f92-46f5-9ba4-a46970f0ce19",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Cognee - Get Started"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "bd981778-0c84-4542-8e6f-1a7712184873",
|
||
"metadata": {
|
||
"editable": true,
|
||
"slideshow": {
|
||
"slide_type": ""
|
||
},
|
||
"tags": []
|
||
},
|
||
"source": [
|
||
"## Let's talk about the problem first\n",
|
||
"\n",
|
||
"### Large Language Models (LLMs) have become powerful tools for generating text and answering questions, but they still have several limitations and challenges. Below is an overview of some of the biggest problems with the results they produce:\n",
|
||
"\n",
|
||
"### 1. Hallucinations and Misinformation\n",
|
||
"- Hallucinations: LLMs sometimes produce outputs that are factually incorrect or entirely fabricated. This phenomenon is known as \"hallucination.\" Even if an LLM seems confident, the information it provides might not be reliable.\n",
|
||
"- Misinformation: Misinformation can be subtle or glaring, ranging from minor inaccuracies to entirely fictitious events, sources, or data.\n",
|
||
"\n",
|
||
"### 2. Lack of Contextual Understanding\n",
|
||
"- LLMs can recognize and replicate patterns in language but don’t have true comprehension. This can lead to responses that are coherent but miss nuanced context or deeper meaning.\n",
|
||
"- They can misinterpret multi-turn conversations, leading to confusion in maintaining context over a long dialogue.\n",
|
||
"\n",
|
||
"### 3. Inconsistent Reliability\n",
|
||
"- Depending on the prompt, LLMs might produce inconsistent responses to similar questions or tasks. For example, the same query might result in conflicting answers when asked in slightly different ways.\n",
|
||
"- This inconsistency can undermine trust in the model's outputs, especially in professional or academic settings.\n",
|
||
"\n",
|
||
"### 4. Inability to Access Real-Time Information\n",
|
||
"- Most LLMs are trained on data up to a specific point and cannot access or generate information on current events or emerging trends unless updated. This can make them unsuitable for inquiries requiring up-to-date information.\n",
|
||
"- Real-time browsing capabilities can help, but they are not universally available.\n",
|
||
"\n",
|
||
"### 5. Lack of Personalization and Adaptability\n",
|
||
"- LLMs do not naturally adapt to individual preferences or learning styles unless explicitly programmed to do so. This limits their usefulness in providing personalized recommendations or support.\n",
|
||
"\n",
|
||
"### 6. Difficulty with Highly Technical or Niche Domains\n",
|
||
"- LLMs may struggle with highly specialized or technical topics where domain-specific knowledge is required.\n",
|
||
"- They can produce technically plausible but inaccurate or incomplete information, which can be misleading in areas like law, medicine, or scientific research.\n",
|
||
"\n",
|
||
"### 7. Ambiguity in Response Generation\n",
|
||
"- LLMs might not always specify their level of certainty, making it hard to gauge when they are speculating or providing less confident answers.\n",
|
||
"- They lack a mechanism to say “I don’t know,” which can lead to responses that are less useful or potentially misleading."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "d8e606b1-94d3-43ce-bb4b-dbadff7f4ca6",
|
||
"metadata": {},
|
||
"source": [
|
||
"## The next solution was RAGs \n",
|
||
"\n",
|
||
"#### RAGs (Retrieval Augmented Generation) are systems that connect to a vector store and search for similar data so they can enrich LLM response."
|
||
]
|
||
},
|
||
{
|
||
"attachments": {
|
||
"df72c97a-cb3b-4e3c-bd68-d7bc986353c6.png": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAABGcAAAISCAYAAABh6KIgAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAeGVYSWZNTQAqAAAACAAFARIAAwAAAAEAAQAAARoABQAAAAEAAABKARsABQAAAAEAAABSASgAAwAAAAEAAgAAh2kABAAAAAEAAABaAAAAAAAAAEgAAAABAAAASAAAAAEAAqACAAQAAAABAAAEZ6ADAAQAAAABAAACEgAAAADwIQMWAAAgAElEQVR4nOzdd5wV1dnA8d+ZuXc7uwtLh4VdEKQIrAVQqQZQE1RAjf21J7HGEmNiYowmeVPeJGqM0RQLYOyFbkwURMWCgAIiIG0XEFjKwvZ675z3jyl35t5dJCbCLveZz4d7Z+aU73nOXLacPXNGaa01zWwaUHEntIqd0xqU8uf1lXB3NaA0GhWsK7F28cUXX3zxxRdffPHFF1988cUXX/yk9I3YgQ4kqvgxGxVXndL+pCDmpim7EV6KW0SruBPiiy+++OKLL7744osvvvjiiy+++MnpK21pHVTtIl5xrVHOEJH/fPyWkBZ3ormyOtZ+8cUXX3zxxRdffPHFF1988cUXX/yk9I3EGv15Yw2DhDEcN3tCGcAZHNJeniDjc8QXX3zxxRdffPHFF1988cUXX3zxk9hX2t4CjQhUp8Ed3olLIXY2eCZh086LaiYNEF988cUXX3zxxRdffPHFF1988cVPVl9prXV8A1R8Kw5hCxT5gvIJyeKLL7744osvvvjiiy+++OKLL774Seob2sulnALa3vUUHajRrTgI2VN+AkGpYCb/gjcKd4qQc1Z88cUXX3zxxRdffPHFF1988cUXP0l9pbWlnVPu4E3C1sLpQ94C5f0B+FLFF1988cUXX3zxxRdffPHFF1988ZPRN9yjlhpmp2mvHt18lkNomG+UKOCIL7744osvvvjiiy+++OKLL7744ievryytdbNt0trJ3HyLDxJLMILmK7cTNGjVUhbxxRdffPHFF1988cUXX3zxxRdf/KPfN5S/pkClCgikxjK47Q4m+sraGdxRn4RsboKKE8QXX3zxxRdffPHFF1988cUXX3zxk8yPzZzRdmbv/SCb9prdfMbElPgzsWNvT3zxxRdffPHFF1988cUXX3zxxRc/CX3DK+LueEsOa+efs+/bVU4B91Qsv/2e2GQVl0s5O7684osvvvjiiy+++OKLL7744osvvvhJ6BtupsSKVGBfq7jkQPN0XDnnrI6la3+qxqkv1kjxxRdffPHFF1988cUXX3zxxRdf/GT0ldZ2FV6V2leDvyUH2dycWoNSsfeEDF9QXnzxxRdffPHFF1988cUXX3zxxRc/2XyDuHK6mYZp3yveaFBsc3O6DQo0DO1l0M5LfA3iiy+++OKLL7744osvvvjiiy+++MnqK639mq9R3m5iQ90jb6QIDvqc8Pg6Wt7EF1988cUXX3zxxRdffPHFF1988ZPLjxucicMPWqWd+u+xsdwtBSS++OKLL7744osvvvjiiy+++OKLn0y+4T9JXF63Gh3I4e4qoLmViePyBupSXppCBzDxxRdffPHFF1988cUXX3zxxRdf/GT0jVjm+Hpj2VV8MeXm8FelfU1Sce3T3rFOWPZYfPHFF1988cUXX3zxxRdffPHFFz95fSM+UwxuDg1uKpCggjX52q1RXnuVUygQiPjiiy+++OKLL7744osvvvjiiy9+kvoG4CxArALNUC2M8Gh/zco5cJetCdbvpMWOVcKrk0t88cUXX3zxxRdffPHFF1988cUXP0l9+1Hayi3sLxLbVPy+0r5GKn8F4Ce0igXga2/gWHzxxRdffPHFF1988cUXX3zxxRc/iX0jtqt9rzakA0nBgsp98WEa0H7Cm/ejvLq0VzB+E1988cUXX3zxxRdffPHFF1988cVPPt+InbBb4y+m3Ok6B2uoCpZVLeRTThDK34TAm/jiiy+++OKLL7744osvvvjiiy9+UvpOC7TGm1/j27RDuO/NbbG0lnNpt4Eq4Sziiy+++OKLL7744osvvvjiiy+++MnqxwZnWihzcDMx4WBB+DNpFZgAJL744osvvvjiiy+++OKLL7744ouflL6RUAhf7b5pPc1XEkvQzmsgq/a/ayC2WI4idh+W+OKLL7744osvvvjiiy+++OKLL36y+vbMGZ3YgOAp31Ezeb/05tYlvvjiiy+++OKLL7744osvvvjii5+kvj1zJgGLGwFC2bmby6u9F99x8JxOOOPsu3WJL7744osvvvjiiy+++OKLL7744iepb4D2Zu/EKlBxWYPtC4AqLr+K39G+NujEbOKLL7744osvvvjiiy+++OKLL774Sez7FgTWsRYElhX2n/cdf8nNX41WwUaKL7744osvvvjiiy+++OKLL7744ieb71sQWPneWhrjiR0njvYknHDetT/FLQ0qPkTxxRdffPHFF1988cUXX3zxxRdf/OTzvcGZYBWg4p+wHV+Zim++SkxzRoC8FK/RKu6E+OKLL7744osvvvjiiy+++OKLL35y+kpbOn71G7SP0lqjlEo4H78lpMWdaK6sjrVffPHFF1988cUXX3zxxRdffPHFFz8pfSOxRn/eWMMgYQzHzZ5QBnAGh7SXJ8j4HPHFF1988cUXX3zxxRdffPHFF1/8JPaVtrdAIwLVaXCHd+JSiJ0NnknYtPOimkkDxBdffPHFF1988cUXX3zxxRdffPGT1bef1hTXABXfikPYAkW+oHxCsvjiiy+++OKLL7744osvvvjiiy9+kvqG9nIpp4C2dz1FB2p0Kw5C9pSfQFAqmMm/4I3CnSLknBVffPHFF1988cUXX3zxxRdffPHFT1JfaW1p55Q7eJOwtXD6kLdAeX8AvlTxxRdffPHFF1988cUXX3zxxRdf/GT0DfeopYbZadqrRzef5RAa5hslCjjiiy+++OKLL7744osvvvjiiy+++MnrK0tr3WybtHYyN9/ig8QSjKD5yu0EDVq1lEV88cUXX3zxxRdffPHFF1988cUX/+j3DeWvKVCpAgKpsQxuu4OJvrJ2BnfUJyGbm6DiBPHFF1988cUXX3zxxRdffPHFF1/8JPNjM2e0ndl7P8imvWY3nzExJf5M7NjbE1988cUXX3zxxRdffPHFF1988cVPQt/wirg73pLD2vnn7Pt2lVPAPRXLb78nNlnF5VLOji+v+OKLL7744osvvvjiiy+++OKLL34S+oabKbEiFdjXKi450DwdV845q2Pp2p+qceqLNVJ88cUXX3zxxRdffPHFF1988cUXPxl9pbVdhVel9tXgb8lBNjen1qBU7D0hwxeUF1988cUXX3zxxRdffPHFF1988cVPNt8grpxupmHa94o3GhTb3JxugwINQ3sZtPMSX4P44osvvvjiiy+++OKLL7744osvfrL6Smu/5muUt5vYUPfIGymCgz4nPL6OljfxxRdffPHFF1988cUXX3zxxRdf/OTy4wZn4vCDVmmn/ntsLHdLAYkvvvjiiy+++OKLL7744osvvvjiJ5Nv+E8Sl9etRgdyuLsKaG5l4ri8gbqUl6bQAUx88cUXX3zxxRdffPHFF1988cUXPxl9I5Y5vt5YdhVfTLk5/FVpX5NUXPu0d6wTlj0WX3zxxRdffPHFF1988cUXX3zxxU9e34jPFIObQ4ObCiSoYE2+dmuU117lFAoEIr744osvvvjiiy+++OKLL7744oufpL4BOAsQq0AzVAsjPNpfs3IO3GVrgvU7abFjlfDq5BJffPHFF1988cUXX3zxxRdffPHFT1LffpS2cgv7i8Q2Fb+vtK+Ryl8B+AmtYgH42hs4Fl988cUXX3zxxRdffPHFF1988cVPYt+I7Wrfqw3pQFKwoHJffJgGtJ/w5v0ory7tFYzfxBdffPHFF1988cUXX3zxxRdffPGTzzdiJ+zW+Ispd7rOwRqqgmVVC/mUE4TyNyHwJr744osvvvjiiy+++OKLL7744ouflL7TAq3x5tf4Nu0Q7ntzWyyt5VzabaBKOIv44osvvvjiiy+++OKLL7744osvfrL6scGZFsoc3ExMOFgQ/kxaBSYAiS+++OKLL7744osvvvjiiy+++OInpW8kFMJXu29aT/OVxBK08xrIqv3vGogtlqOI3Yclvvjiiy+++OKLL7744osvvvjii5+svj1zRic2IHjKd9RM3i+9uXWJL7744osvvvjiiy+++OKLL7744iepb8+cScDiRoBQdu7m8mrvxXccPKcTzjj7bl3iiy+++OKLL7744osvvvjiiy+++EnqG6C92TuxClRc1mD7AqCKy6/id7SvDToxm/jiiy+++OKLL7744osvvvjiiy9+Evu+BYF1rAWBZYX9533HX3LzV6NVsJHiiy+++OKLL7744osvvvjiiy+++Mnm+xYEVr63lsZ4YseJoz0JJ5x37U9xS4OKD1F88cUXX3zxxRdffPHFF1988cUXP/l8b3AmWAWo+Cdsx1em4puvEtOcESAvxWu0ijshvvjiiy+++OKLL7744osvvvjii5+cvtKWjl/9Bu2jtNYopRLOx28JaXEnmiurY+0XX3zxxRdffPHFF1988cUXX3zxxU9K37fmTHNVBJp58CjiTnqvwRurnCwaVHNhii+++OKLL7744osvvvjii38wf9u2bXz66afktc/jpBEnYhhmUsUvvvhHo6+0vXmjQ3YGYpk0uMM7cSmBZhyktU6VLTUIxBdffPHFF1988cUXX3zxxf9if86sV7jl1tuc85pjBwzk9/f/nuMGH3dY/CMdv/jiH62+PXMmrgEq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"
|
||
}
|
||
},
|
||
"cell_type": "markdown",
|
||
"id": "23e74f22-f43c-4f03-afe0-b423cbaa412a",
|
||
"metadata": {},
|
||
"source": [
|
||
"\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "1bf1fa3631dc03ed",
|
||
"metadata": {},
|
||
"source": [
|
||
"#### The problem lies in the nature of the search. If you just find some keywords, and return one or many documents from vectorstore this way, you will have an issue with the the way you would use to organise and prioritise documents. \n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "5029110f",
|
||
"metadata": {},
|
||
"source": [
|
||
""
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "390e0d0805096f80",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Semantic similarity search is not magic\n",
|
||
"#### The most similar result isn't the most relevant one. \n",
|
||
"#### If you search for documents in which the sentiment expressed is \"I like apples.\", one of the closest results you get are documents in which the sentiment expressed is \"I don't like apples.\"\n",
|
||
"#### Wouldn't it be nice to have a semantic model LLMs could use?\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "b900f830-8e9e-4272-b198-594606da4457",
|
||
"metadata": {},
|
||
"source": [
|
||
"# That is where Cognee comes in"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "d3ae099a-1bbb-4f13-9bcb-c0f778d50e91",
|
||
"metadata": {},
|
||
"source": [
|
||
"#### Cognee assists developers in introducing greater predictability and management into their Retrieval-Augmented Generation (RAG) workflows through the use of graph architectures, vector stores, and auto-optimizing pipelines. Displaying information as a graph is the clearest way to grasp the content of your documents. Crucially, graphs allow systematic navigation and extraction of data from documents based on their hierarchy.\n",
|
||
"\n",
|
||
"#### Cognee lets you create tasks and contextual pipelines of tasks that enable composable GraphRAG, where you have full control of all the elements of the pipeline from ingestion until graph creation. "
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "785383b0-87b5-4a0a-be3f-e809aa284e30",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Core Concepts"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "3540ce30-2b22-4ece-8516-8d5ff2a405fe",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Concept 1: Data Pipelines"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "7e47bae4-d27d-4430-a134-e1b381378f5c",
|
||
"metadata": {},
|
||
"source": [
|
||
"### Most of the data we provide to a system can be categorized as unstructured, semi-structured, or structured. Rows from a database would belong to structured data, jsons to semi-structured data, and logs that we input into the system could be considered unstructured. To organize and process this data, we need to ensure we have custom loaders for all data types, which can help us unify and organize it properly."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "2f9c9376-8c68-4397-9081-d260cddcbd25",
|
||
"metadata": {},
|
||
"source": [
|
||
""
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "7c87c5cf",
|
||
"metadata": {},
|
||
"source": [
|
||
"#### In the example above, we have a pipeline in which data has been imported from various sources, normalized, and stored in a database. "
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "bd435d1d",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Concept 2: Data Enrichment with LLMs"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "836d35ef",
|
||
"metadata": {},
|
||
"source": [
|
||
"#### LLMs are adept at processing unstructured data. They can easily extract summaries, keywords, and other useful information from documents. We use function calling with Pydantic models to extract information from the unstructured data. "
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "5bc1681c",
|
||
"metadata": {},
|
||
"source": [
|
||
""
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "c6f428a8",
|
||
"metadata": {},
|
||
"source": [
|
||
"#### We decompose the loaded content into graphs, allowing us to more precisely map out the relationships between entities and concepts."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "34c2227f",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Concept 3: Graphs"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "7ec176f5",
|
||
"metadata": {},
|
||
"source": [
|
||
"#### Knowledge graphs simply map out knowledge, linking specific facts and their connections. When Large Language Models (LLMs) process text, they infer these links, leading to occasional inaccuracies due to their probabilistic nature. Clearly defined relationships enhance their accuracy. This structured approach can extend beyond concepts to document layouts, pages, or other organizational schemas."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "ff454731",
|
||
"metadata": {},
|
||
"source": [
|
||
""
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "5b3b58d3",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Concept 4: Vector and Graph Retrieval"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "3555db8b",
|
||
"metadata": {},
|
||
"source": [
|
||
"#### Cognee lets you use multiple vector and graph retrieval methods to find the most relevant information."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "d2d5e844",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Concept 5: Auto-Optimizing Pipelines"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "6979a010",
|
||
"metadata": {},
|
||
"source": [
|
||
"#### Integrating knowledge graphs into Retrieval-Augmented Generation (RAG) pipelines leads to an intriguing outcome: the system's adeptness at contextual understanding allows it to be evaluated in a way Machine Learning (ML) engineers are accustomed to. This involves bombarding the RAG system with hundreds of synthetic questions, enabling the knowledge graph to evolve and refine its context autonomously over time. This method paves the way for developing self-improving memory engines that can adapt to new data and user feedback."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "074f0ea8-c659-4736-be26-be4b0e5ac665",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Demo time"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "0587d91d",
|
||
"metadata": {},
|
||
"source": [
|
||
"#### First let's define some data that we will cognify and perform a search on"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "df16431d0f48b006",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2024-12-24T11:53:59.351640Z",
|
||
"start_time": "2024-12-24T11:53:59.347420Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"job_position = \"\"\"Senior Data Scientist (Machine Learning)\n",
|
||
"\n",
|
||
"Company: TechNova Solutions\n",
|
||
"Location: San Francisco, CA\n",
|
||
"\n",
|
||
"Job Description:\n",
|
||
"\n",
|
||
"TechNova Solutions is seeking a Senior Data Scientist specializing in Machine Learning to join our dynamic analytics team. The ideal candidate will have a strong background in developing and deploying machine learning models, working with large datasets, and translating complex data into actionable insights.\n",
|
||
"\n",
|
||
"Responsibilities:\n",
|
||
"\n",
|
||
"Develop and implement advanced machine learning algorithms and models.\n",
|
||
"Analyze large, complex datasets to extract meaningful patterns and insights.\n",
|
||
"Collaborate with cross-functional teams to integrate predictive models into products.\n",
|
||
"Stay updated with the latest advancements in machine learning and data science.\n",
|
||
"Mentor junior data scientists and provide technical guidance.\n",
|
||
"Qualifications:\n",
|
||
"\n",
|
||
"Master’s or Ph.D. in Data Science, Computer Science, Statistics, or a related field.\n",
|
||
"5+ years of experience in data science and machine learning.\n",
|
||
"Proficient in Python, R, and SQL.\n",
|
||
"Experience with deep learning frameworks (e.g., TensorFlow, PyTorch).\n",
|
||
"Strong problem-solving skills and attention to detail.\n",
|
||
"Candidate CVs\n",
|
||
"\"\"\"\n"
|
||
],
|
||
"outputs": [],
|
||
"execution_count": 1
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "9086abf3af077ab4",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2024-12-24T11:53:59.365410Z",
|
||
"start_time": "2024-12-24T11:53:59.363662Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"job_1 = \"\"\"\n",
|
||
"CV 1: Relevant\n",
|
||
"Name: Dr. Emily Carter\n",
|
||
"Contact Information:\n",
|
||
"\n",
|
||
"Email: emily.carter@example.com\n",
|
||
"Phone: (555) 123-4567\n",
|
||
"Summary:\n",
|
||
"\n",
|
||
"Senior Data Scientist with over 8 years of experience in machine learning and predictive analytics. Expertise in developing advanced algorithms and deploying scalable models in production environments.\n",
|
||
"\n",
|
||
"Education:\n",
|
||
"\n",
|
||
"Ph.D. in Computer Science, Stanford University (2014)\n",
|
||
"B.S. in Mathematics, University of California, Berkeley (2010)\n",
|
||
"Experience:\n",
|
||
"\n",
|
||
"Senior Data Scientist, InnovateAI Labs (2016 – Present)\n",
|
||
"Led a team in developing machine learning models for natural language processing applications.\n",
|
||
"Implemented deep learning algorithms that improved prediction accuracy by 25%.\n",
|
||
"Collaborated with cross-functional teams to integrate models into cloud-based platforms.\n",
|
||
"Data Scientist, DataWave Analytics (2014 – 2016)\n",
|
||
"Developed predictive models for customer segmentation and churn analysis.\n",
|
||
"Analyzed large datasets using Hadoop and Spark frameworks.\n",
|
||
"Skills:\n",
|
||
"\n",
|
||
"Programming Languages: Python, R, SQL\n",
|
||
"Machine Learning: TensorFlow, Keras, Scikit-Learn\n",
|
||
"Big Data Technologies: Hadoop, Spark\n",
|
||
"Data Visualization: Tableau, Matplotlib\n",
|
||
"\"\"\""
|
||
],
|
||
"outputs": [],
|
||
"execution_count": 2
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "a9de0cc07f798b7f",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2024-12-24T11:53:59.372957Z",
|
||
"start_time": "2024-12-24T11:53:59.371152Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"job_2 = \"\"\"\n",
|
||
"CV 2: Relevant\n",
|
||
"Name: Michael Rodriguez\n",
|
||
"Contact Information:\n",
|
||
"\n",
|
||
"Email: michael.rodriguez@example.com\n",
|
||
"Phone: (555) 234-5678\n",
|
||
"Summary:\n",
|
||
"\n",
|
||
"Data Scientist with a strong background in machine learning and statistical modeling. Skilled in handling large datasets and translating data into actionable business insights.\n",
|
||
"\n",
|
||
"Education:\n",
|
||
"\n",
|
||
"M.S. in Data Science, Carnegie Mellon University (2013)\n",
|
||
"B.S. in Computer Science, University of Michigan (2011)\n",
|
||
"Experience:\n",
|
||
"\n",
|
||
"Senior Data Scientist, Alpha Analytics (2017 – Present)\n",
|
||
"Developed machine learning models to optimize marketing strategies.\n",
|
||
"Reduced customer acquisition cost by 15% through predictive modeling.\n",
|
||
"Data Scientist, TechInsights (2013 – 2017)\n",
|
||
"Analyzed user behavior data to improve product features.\n",
|
||
"Implemented A/B testing frameworks to evaluate product changes.\n",
|
||
"Skills:\n",
|
||
"\n",
|
||
"Programming Languages: Python, Java, SQL\n",
|
||
"Machine Learning: Scikit-Learn, XGBoost\n",
|
||
"Data Visualization: Seaborn, Plotly\n",
|
||
"Databases: MySQL, MongoDB\n",
|
||
"\"\"\""
|
||
],
|
||
"outputs": [],
|
||
"execution_count": 3
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "185ff1c102d06111",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2024-12-24T11:53:59.961140Z",
|
||
"start_time": "2024-12-24T11:53:59.959103Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"job_3 = \"\"\"\n",
|
||
"CV 3: Relevant\n",
|
||
"Name: Sarah Nguyen\n",
|
||
"Contact Information:\n",
|
||
"\n",
|
||
"Email: sarah.nguyen@example.com\n",
|
||
"Phone: (555) 345-6789\n",
|
||
"Summary:\n",
|
||
"\n",
|
||
"Data Scientist specializing in machine learning with 6 years of experience. Passionate about leveraging data to drive business solutions and improve product performance.\n",
|
||
"\n",
|
||
"Education:\n",
|
||
"\n",
|
||
"M.S. in Statistics, University of Washington (2014)\n",
|
||
"B.S. in Applied Mathematics, University of Texas at Austin (2012)\n",
|
||
"Experience:\n",
|
||
"\n",
|
||
"Data Scientist, QuantumTech (2016 – Present)\n",
|
||
"Designed and implemented machine learning algorithms for financial forecasting.\n",
|
||
"Improved model efficiency by 20% through algorithm optimization.\n",
|
||
"Junior Data Scientist, DataCore Solutions (2014 – 2016)\n",
|
||
"Assisted in developing predictive models for supply chain optimization.\n",
|
||
"Conducted data cleaning and preprocessing on large datasets.\n",
|
||
"Skills:\n",
|
||
"\n",
|
||
"Programming Languages: Python, R\n",
|
||
"Machine Learning Frameworks: PyTorch, Scikit-Learn\n",
|
||
"Statistical Analysis: SAS, SPSS\n",
|
||
"Cloud Platforms: AWS, Azure\n",
|
||
"\"\"\""
|
||
],
|
||
"outputs": [],
|
||
"execution_count": 4
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "d55ce4c58f8efb67",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2024-12-24T11:54:00.656495Z",
|
||
"start_time": "2024-12-24T11:54:00.654716Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"job_4 = \"\"\"\n",
|
||
"CV 4: Not Relevant\n",
|
||
"Name: David Thompson\n",
|
||
"Contact Information:\n",
|
||
"\n",
|
||
"Email: david.thompson@example.com\n",
|
||
"Phone: (555) 456-7890\n",
|
||
"Summary:\n",
|
||
"\n",
|
||
"Creative Graphic Designer with over 8 years of experience in visual design and branding. Proficient in Adobe Creative Suite and passionate about creating compelling visuals.\n",
|
||
"\n",
|
||
"Education:\n",
|
||
"\n",
|
||
"B.F.A. in Graphic Design, Rhode Island School of Design (2012)\n",
|
||
"Experience:\n",
|
||
"\n",
|
||
"Senior Graphic Designer, CreativeWorks Agency (2015 – Present)\n",
|
||
"Led design projects for clients in various industries.\n",
|
||
"Created branding materials that increased client engagement by 30%.\n",
|
||
"Graphic Designer, Visual Innovations (2012 – 2015)\n",
|
||
"Designed marketing collateral, including brochures, logos, and websites.\n",
|
||
"Collaborated with the marketing team to develop cohesive brand strategies.\n",
|
||
"Skills:\n",
|
||
"\n",
|
||
"Design Software: Adobe Photoshop, Illustrator, InDesign\n",
|
||
"Web Design: HTML, CSS\n",
|
||
"Specialties: Branding and Identity, Typography\n",
|
||
"\"\"\""
|
||
],
|
||
"outputs": [],
|
||
"execution_count": 5
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "ca4ecc32721ad332",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2024-12-24T11:54:01.184899Z",
|
||
"start_time": "2024-12-24T11:54:01.183028Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"job_5 = \"\"\"\n",
|
||
"CV 5: Not Relevant\n",
|
||
"Name: Jessica Miller\n",
|
||
"Contact Information:\n",
|
||
"\n",
|
||
"Email: jessica.miller@example.com\n",
|
||
"Phone: (555) 567-8901\n",
|
||
"Summary:\n",
|
||
"\n",
|
||
"Experienced Sales Manager with a strong track record in driving sales growth and building high-performing teams. Excellent communication and leadership skills.\n",
|
||
"\n",
|
||
"Education:\n",
|
||
"\n",
|
||
"B.A. in Business Administration, University of Southern California (2010)\n",
|
||
"Experience:\n",
|
||
"\n",
|
||
"Sales Manager, Global Enterprises (2015 – Present)\n",
|
||
"Managed a sales team of 15 members, achieving a 20% increase in annual revenue.\n",
|
||
"Developed sales strategies that expanded customer base by 25%.\n",
|
||
"Sales Representative, Market Leaders Inc. (2010 – 2015)\n",
|
||
"Consistently exceeded sales targets and received the 'Top Salesperson' award in 2013.\n",
|
||
"Skills:\n",
|
||
"\n",
|
||
"Sales Strategy and Planning\n",
|
||
"Team Leadership and Development\n",
|
||
"CRM Software: Salesforce, Zoho\n",
|
||
"Negotiation and Relationship Building\n",
|
||
"\"\"\""
|
||
],
|
||
"outputs": [],
|
||
"execution_count": 6
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "4415446a",
|
||
"metadata": {},
|
||
"source": [
|
||
"#### Please add the necessary environment information bellow:"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "bce39dc6",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2024-12-24T11:54:04.417315Z",
|
||
"start_time": "2024-12-24T11:54:04.414132Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"import os\n",
|
||
"\n",
|
||
"# Setting environment variables\n",
|
||
"if \"GRAPHISTRY_USERNAME\" not in os.environ: \n",
|
||
" os.environ[\"GRAPHISTRY_USERNAME\"] = \"\"\n",
|
||
"\n",
|
||
"if \"GRAPHISTRY_PASSWORD\" not in os.environ: \n",
|
||
" os.environ[\"GRAPHISTRY_PASSWORD\"] = \"\"\n",
|
||
"\n",
|
||
"if \"LLM_API_KEY\" not in os.environ:\n",
|
||
" os.environ[\"LLM_API_KEY\"] = \"\"\n",
|
||
"\n",
|
||
"# \"neo4j\" or \"networkx\"\n",
|
||
"os.environ[\"GRAPH_DATABASE_PROVIDER\"]=\"networkx\" \n",
|
||
"# Not needed if using networkx\n",
|
||
"#os.environ[\"GRAPH_DATABASE_URL\"]=\"\"\n",
|
||
"#os.environ[\"GRAPH_DATABASE_USERNAME\"]=\"\"\n",
|
||
"#os.environ[\"GRAPH_DATABASE_PASSWORD\"]=\"\"\n",
|
||
"\n",
|
||
"# \"pgvector\", \"qdrant\", \"weaviate\" or \"lancedb\"\n",
|
||
"os.environ[\"VECTOR_DB_PROVIDER\"]=\"lancedb\" \n",
|
||
"# Not needed if using \"lancedb\" or \"pgvector\"\n",
|
||
"# os.environ[\"VECTOR_DB_URL\"]=\"\"\n",
|
||
"# os.environ[\"VECTOR_DB_KEY\"]=\"\"\n",
|
||
"\n",
|
||
"# Relational Database provider \"sqlite\" or \"postgres\"\n",
|
||
"os.environ[\"DB_PROVIDER\"]=\"sqlite\"\n",
|
||
"\n",
|
||
"# Database name\n",
|
||
"os.environ[\"DB_NAME\"]=\"cognee_db\"\n",
|
||
"\n",
|
||
"# Postgres specific parameters (Only if Postgres or PGVector is used)\n",
|
||
"# os.environ[\"DB_HOST\"]=\"127.0.0.1\"\n",
|
||
"# os.environ[\"DB_PORT\"]=\"5432\"\n",
|
||
"# os.environ[\"DB_USERNAME\"]=\"cognee\"\n",
|
||
"# os.environ[\"DB_PASSWORD\"]=\"cognee\""
|
||
],
|
||
"outputs": [],
|
||
"execution_count": 7
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "9f1a1dbd",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2024-12-24T11:54:16.672999Z",
|
||
"start_time": "2024-12-24T11:54:07.425202Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"# Reset the cognee system with the following command:\n",
|
||
"\n",
|
||
"import cognee\n",
|
||
"\n",
|
||
"await cognee.prune.prune_data()\n",
|
||
"await cognee.prune.prune_system(metadata=True)"
|
||
],
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"File /Users/vasilije/cognee/cognee/.cognee_system/databases/cognee_graph.pkl not found. Initializing an empty graph."
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Database deleted successfully.\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"/Users/vasilije/cognee/.venv/lib/python3.11/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",
|
||
" from .autonotebook import tqdm as notebook_tqdm\n"
|
||
]
|
||
}
|
||
],
|
||
"execution_count": 8
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "383d6971",
|
||
"metadata": {},
|
||
"source": [
|
||
"#### After we have defined and gathered our data let's add it to cognee "
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "904df61ba484a8e5",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2024-12-24T11:54:28.313862Z",
|
||
"start_time": "2024-12-24T11:54:23.756587Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"import cognee\n",
|
||
"\n",
|
||
"await cognee.add([job_1, job_2, job_3, job_4, job_5, job_position], \"example\")"
|
||
],
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"User df77f15b-a077-4c86-a3e4-c059bf4cacb9 has registered.\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"/Users/vasilije/cognee/.venv/lib/python3.11/site-packages/dlt/destinations/impl/sqlalchemy/merge_job.py:194: SAWarning: Table 'file_metadata' already exists within the given MetaData - not copying.\n",
|
||
" staging_table_obj = table_obj.to_metadata(\n",
|
||
"/Users/vasilije/cognee/.venv/lib/python3.11/site-packages/dlt/destinations/impl/sqlalchemy/merge_job.py:229: SAWarning: implicitly coercing SELECT object to scalar subquery; please use the .scalar_subquery() method to produce a scalar subquery.\n",
|
||
" order_by=order_dir_func(order_by_col),\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Pipeline file_load_from_filesystem load step completed in 0.03 seconds\n",
|
||
"1 load package(s) were loaded to destination sqlalchemy and into dataset main\n",
|
||
"The sqlalchemy destination used sqlite:////Users/vasilije/cognee/cognee/.cognee_system/databases/cognee_db location to store data\n",
|
||
"Load package 1735041267.4777632 is LOADED and contains no failed jobs\n"
|
||
]
|
||
}
|
||
],
|
||
"execution_count": 9
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "0f15c5b1",
|
||
"metadata": {},
|
||
"source": [
|
||
"#### All good, let's cognify it."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "7c431fdef4921ae0",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2024-12-24T11:54:44.728010Z",
|
||
"start_time": "2024-12-24T11:54:44.723877Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"from cognee.shared.data_models import KnowledgeGraph\n",
|
||
"from cognee.modules.data.models import Dataset, Data\n",
|
||
"from cognee.modules.data.methods.get_dataset_data import get_dataset_data\n",
|
||
"from cognee.modules.cognify.config import get_cognify_config\n",
|
||
"from cognee.modules.pipelines.tasks.Task import Task\n",
|
||
"from cognee.modules.pipelines import run_tasks\n",
|
||
"from cognee.modules.users.models import User\n",
|
||
"from cognee.tasks.documents import check_permissions_on_documents, classify_documents, extract_chunks_from_documents\n",
|
||
"from cognee.tasks.graph import extract_graph_from_data\n",
|
||
"from cognee.tasks.storage import add_data_points\n",
|
||
"from cognee.tasks.summarization import summarize_text\n",
|
||
"\n",
|
||
"async def run_cognify_pipeline(dataset: Dataset, user: User = None):\n",
|
||
" data_documents: list[Data] = await get_dataset_data(dataset_id = dataset.id)\n",
|
||
"\n",
|
||
" try:\n",
|
||
" cognee_config = get_cognify_config()\n",
|
||
"\n",
|
||
" tasks = [\n",
|
||
" Task(classify_documents),\n",
|
||
" Task(check_permissions_on_documents, user = user, permissions = [\"write\"]),\n",
|
||
" Task(extract_chunks_from_documents), # Extract text chunks based on the document type.\n",
|
||
" Task(extract_graph_from_data, graph_model = KnowledgeGraph, task_config = { \"batch_size\": 10 }), # Generate knowledge graphs from the document chunks.\n",
|
||
" Task(\n",
|
||
" summarize_text,\n",
|
||
" summarization_model = cognee_config.summarization_model,\n",
|
||
" task_config = { \"batch_size\": 10 }\n",
|
||
" ),\n",
|
||
" Task(add_data_points, task_config = { \"batch_size\": 10 }),\n",
|
||
" ]\n",
|
||
"\n",
|
||
" pipeline = run_tasks(tasks, data_documents)\n",
|
||
"\n",
|
||
" async for result in pipeline:\n",
|
||
" print(result)\n",
|
||
" except Exception as error:\n",
|
||
" raise error\n"
|
||
],
|
||
"outputs": [],
|
||
"execution_count": 10
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "f0a91b99c6215e09",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2024-12-24T11:55:26.027386Z",
|
||
"start_time": "2024-12-24T11:54:47.384342Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"from cognee.modules.users.methods import get_default_user\n",
|
||
"from cognee.modules.data.methods import get_datasets_by_name\n",
|
||
"\n",
|
||
"user = await get_default_user()\n",
|
||
"\n",
|
||
"datasets = await get_datasets_by_name([\"example\"], user.id)\n",
|
||
"\n",
|
||
"await run_cognify_pipeline(datasets[0], user)"
|
||
],
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"File /Users/vasilije/cognee/cognee/.cognee_system/databases/cognee_graph.pkl not found. Initializing an empty graph./Users/vasilije/cognee/.venv/lib/python3.11/site-packages/pydantic/main.py:1522: RuntimeWarning: fields may not start with an underscore, ignoring \"_metadata\"\n",
|
||
" warnings.warn(f'fields may not start with an underscore, ignoring \"{f_name}\"', RuntimeWarning)\n",
|
||
"/Users/vasilije/cognee/.venv/lib/python3.11/site-packages/pydantic/main.py:1522: RuntimeWarning: fields may not start with an underscore, ignoring \"__tablename__\"\n",
|
||
" warnings.warn(f'fields may not start with an underscore, ignoring \"{f_name}\"', RuntimeWarning)\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"[TextSummary(id=UUID('92b5d0a7-f980-529d-bb5b-48e72825a01a'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, text='Experienced Senior Data Scientist with expertise in machine learning and predictive modeling, demonstrating over 8 years in the field.', made_from=DocumentChunk(id=UUID('70b823e2-5b12-57b5-ad8d-798e1d721f8e'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, text='\\nCV 1: Relevant\\nName: Dr. Emily Carter\\nContact Information:\\n\\nEmail: emily.carter@example.com\\nPhone: (555) 123-4567\\nSummary:\\n\\nSenior Data Scientist with over 8 years of experience in machine learning and predictive analytics. Expertise in developing advanced algorithms and deploying scalable models in production environments.\\n\\nEducation:\\n\\nPh.D. in Computer Science, Stanford University (2014)\\nB.S. in Mathematics, University of California, Berkeley (2010)\\nExperience:\\n\\nSenior Data Scientist, InnovateAI Labs (2016 – Present)\\nLed a team in developing machine learning models for natural language processing applications.\\nImplemented deep learning algorithms that improved prediction accuracy by 25%.\\nCollaborated with cross-functional teams to integrate models into cloud-based platforms.\\nData Scientist, DataWave Analytics (2014 – 2016)\\nDeveloped predictive models for customer segmentation and churn analysis.\\nAnalyzed large datasets using Hadoop and Spark frameworks.\\nSkills:\\n\\nProgramming Languages: Python, R, SQL\\nMachin e Learning: TensorFlow, Keras, Scikit-Learn\\nBig Data Technologies: Hadoop, Spark\\nData Visualization: Tableau, Matplotlib\\n', word_count=133, chunk_index=0, cut_type='sentence_cut', is_part_of=TextDocument(id=UUID('11a2b08a-c160-5961-80b7-b3498eafa973'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='text_85410f4ad1197f5974aef9aed6f103c8', raw_data_location='/Users/vasilije/cognee/cognee/.data_storage/data/text_85410f4ad1197f5974aef9aed6f103c8.txt', metadata_id=UUID('11a2b08a-c160-5961-80b7-b3498eafa973'), mime_type='text/plain', type='text'), contains=[Entity(id=UUID('29e771c8-4c3f-52de-9511-6b705878e130'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='dr. emily carter', is_a=EntityType(id=UUID('d072ba0f-e1a9-58bf-9974-e1802adc8134'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='person', description='person'), description='Senior Data Scientist with over 8 years of experience in machine learning and predictive analytics.'), Entity(id=UUID('ce8b394a-b30e-52fc-b80a-6352edc60e5b'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='stanford university', is_a=EntityType(id=UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='organization', description='organization'), description='Prestigious university located in Stanford, California.'), Entity(id=UUID('2c02c93c-9cd1-56b8-9cc0-55ff0b290e57'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='university of california, berkeley', is_a=EntityType(id=UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='organization', description='organization'), description='Public research university located in Berkeley, California.'), Entity(id=UUID('9780afb1-dccc-53eb-9a30-c0d4ce033711'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='innovateai labs', is_a=EntityType(id=UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='organization', description='organization'), description='A lab focused on artificial intelligence projects.'), Entity(id=UUID('50d0a685-5300-544f-b081-edca4b625886'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='datawave analytics', is_a=EntityType(id=UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='organization', description='organization'), description='Analytics firm specialized in data-driven insights.'), Entity(id=UUID('c95db510-e2ee-5a00-bded-20bbcb50c492'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='python', is_a=EntityType(id=UUID('80d409bb-e431-5939-a1ad-3acd96267128'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='programming language', description='programming language'), description='A high-level programming language used for general-purpose programming.'), Entity(id=UUID('39bd9707-8098-52ed-9cbf-bbdd26b963fb'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='r', is_a=EntityType(id=UUID('80d409bb-e431-5939-a1ad-3acd96267128'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='programming language', description='programming language'), description='A programming language and environment for statistical computing and graphics.'), Entity(id=UUID('1ff6821a-b207-5050-83e9-37ff67a27d03'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='sql', is_a=EntityType(id=UUID('80d409bb-e431-5939-a1ad-3acd96267128'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='programming language', description='programming language'), description='A domain-specific language used in programming and managing relational databases.'), Entity(id=UUID('6e72f6f5-0452-5d42-a4e8-4aba6a614cb1'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='tensorflow', is_a=EntityType(id=UUID('9ffe9ce7-8938-5a5c-8d03-5f1a4c5210a1'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='machine learning framework', description='machine learning framework'), description='An open-source software library for dataflow and differentiable programming across a range of tasks.'), Entity(id=UUID('ab85cdff-2a98-5c6d-99a3-df1f40f4ec16'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='keras', is_a=EntityType(id=UUID('9ffe9ce7-8938-5a5c-8d03-5f1a4c5210a1'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='machine learning framework', description='machine learning framework'), description='An open-source neural network library written in Python that runs on top of TensorFlow.'), Entity(id=UUID('37eecdcc-fb56-519c-bc18-d0d3afea0c0d'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='scikit-learn', is_a=EntityType(id=UUID('9ffe9ce7-8938-5a5c-8d03-5f1a4c5210a1'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='machine learning framework', description='machine learning framework'), description='A free software machine learning library for the Python programming language.'), Entity(id=UUID('f9a0eeca-c9ff-53b3-90eb-347254d7d7eb'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='hadoop', is_a=EntityType(id=UUID('7c2287d0-16fc-53dc-86ce-8d8e61c8642c'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='big data technology', description='big data technology'), description='An open-source framework for storing and processing large datasets in a distributed computing environment.'), Entity(id=UUID('46a235af-5ed5-5023-a4ec-c253e3f93031'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='spark', is_a=EntityType(id=UUID('7c2287d0-16fc-53dc-86ce-8d8e61c8642c'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='big data technology', description='big data technology'), description='An open-source unified analytics engine for large-scale data processing.'), Entity(id=UUID('c55004f3-8a6d-5130-b8bd-ed8278daa9a4'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='tableau', is_a=EntityType(id=UUID('674cc5fa-7849-575a-917f-90b7b77f52b3'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='data visualization software', description='data visualization software'), description='A visual analytics platform transforming the way we use data to solve problems.'), Entity(id=UUID('3c7adf8f-ef23-5330-a3fe-6a0b791cee2b'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='matplotlib', is_a=EntityType(id=UUID('3f3619fc-ebd1-50ed-adde-cf94e8bb3c1b'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='data visualization library', description='data visualization library'), description='A plotting library for the Python programming language and its numerical mathematics extension NumPy.')])), TextSummary(id=UUID('2f680bef-2edd-566e-b98c-78d549799e77'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, text='Senior Data Scientist specializing in Machine Learning at TechNova Solutions', made_from=DocumentChunk(id=UUID('eb6617b8-c78c-519b-b765-1eefc2e3a0d7'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, text='Senior Data Scientist (Machine Learning)\\n\\nCompany: TechNova Solutions\\nLocation: San Francisco, CA\\n\\nJob Description:\\n\\nTechNova Solutions is seeking a Senior Data Scientist specializing in Machine Learning to join our dynamic analytics team. The ideal candidate will have a strong background in developing and deploying machine learning models, working with large datasets, and translating complex data into actionable insights.\\n\\nResponsibilities:\\n\\nDevelop and implement advanced machine learning algorithms and models.\\nAnalyze large, complex datasets to extract meaningful patterns and insights.\\nCollaborate with cross-functional teams to integrate predictive models into products.\\nStay updated with the latest advancements in machine learning and data science.\\nMentor junior data scientists and provide technical guidance.\\nQualifications:\\n\\nMaster’s or Ph.D. in Data Science, Computer Science, Statistics, or a related field.\\n5+ years of experience in data science and machine learning.\\nProficient in Python, R, and SQL.\\nExpe rience with deep learning frameworks (e.g., TensorFlow, PyTorch).\\nStrong problem-solving skills and attention to detail.\\nCandidate CVs\\n', word_count=153, chunk_index=0, cut_type='sentence_cut', is_part_of=TextDocument(id=UUID('171f3035-4c37-5f7b-97c8-6b222404cc9a'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='text_81a5a96a9a7325d40521ea453778ebe0', raw_data_location='/Users/vasilije/cognee/cognee/.data_storage/data/text_81a5a96a9a7325d40521ea453778ebe0.txt', metadata_id=UUID('171f3035-4c37-5f7b-97c8-6b222404cc9a'), mime_type='text/plain', type='text'), contains=[Entity(id=UUID('453a45c9-14e7-5b73-adb8-55991096fef0'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='technova solutions', is_a=EntityType(id=UUID('a6ed6bf1-fe31-5dfe-8ab4-484691fdf219'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='company', description='company'), description='A technology company specializing in data analytics and machine learning.'), Entity(id=UUID('435dbd37-ab20-503c-9e99-ab8b8a3484e5'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='senior data scientist', is_a=EntityType(id=UUID('524c6bbb-1534-5a51-8068-18dd4ae171eb'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='profession', description='profession'), description='A role focused on advanced data analysis and machine learning.'), Entity(id=UUID('198e2ab8-75e9-5931-97ab-da9a5a8e188c'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='san francisco, ca', is_a=EntityType(id=UUID('19dd7d4d-a966-5ed5-82a0-6ae377761a29'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='location', description='location'), description='A city in California, USA.'), Entity(id=UUID('5187986a-7305-5a63-b057-8f2c097419eb'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='machine learning', is_a=EntityType(id=UUID('0198571b-3e94-50ea-8b9f-19e3a31080c0'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='field', description='field'), description='A subset of artificial intelligence focused on the development of algorithms that enable computers to learn from data.'), Entity(id=UUID('d6545b21-153c-58ba-be47-46e5216521a3'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='data science', is_a=EntityType(id=UUID('0198571b-3e94-50ea-8b9f-19e3a31080c0'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='field', description='field'), description='A multidisciplinary field that uses scientific methods to extract knowledge and insights from data.'), Entity(id=UUID('c0d95499-de6b-5fcf-b0f5-9cbf427ad5c6'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='pytorch', is_a=EntityType(id=UUID('36a32bd3-8880-547a-949b-8447477d1ef5'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='framework', description='framework'), description='An open-source machine learning framework for deep learning.'), Entity(id=UUID('62b4dda1-de4a-5098-a56e-d3fe81f84dbc'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='masters or ph.d. in data science', is_a=EntityType(id=UUID('a49b283a-ce92-50e0-b7fa-ca7c628eb01a'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='degree', description='degree'), description='Advanced academic degree in data science or related fields.')])), TextSummary(id=UUID('5c988618-db52-5979-9cf8-db80c0098285'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, text='Data Scientist with expertise in machine learning and statistical analysis, adept at managing extensive datasets and converting data into practical business solutions.', made_from=DocumentChunk(id=UUID('a6e82ac7-e791-5d6b-b4a9-f5e41cbe95bf'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, text='\\nCV 2: Relevant\\nName: Michael Rodriguez\\nContact Information:\\n\\nEmail: michael.rodriguez@example.com\\nPhone: (555) 234-5678\\nSummary:\\n\\nData Scientist with a strong background in machine learning and statistical modeling. Skilled in handling large datasets and translating data into actionable business insights.\\n\\nEducation:\\n\\nM.S. in Data Science, Carnegie Mellon University (2013)\\nB.S. in Computer Science, University of Michigan (2011)\\nExperience:\\n\\nSenior Data Scientist, Alpha Analytics (2017 – Present)\\nDeveloped machine learning models to optimize marketing strategies.\\nReduced customer acquisition cost by 15% through predictive modeling.\\nData Scientist, TechInsights (2013 – 2017)\\nAnalyzed user behavior data to improve product features.\\nImplemented A/B testing frameworks to evaluate product changes.\\nSkills:\\n\\nProgramming Languages: Python, Java, SQL\\nMachine Learning: Scikit-Learn, XGBoost\\nData Visualization: Seaborn, Plotly\\nDatabases: MySQL, MongoDB\\n', word_count=108, chunk_index=0, cut_type='sentence_cut', is_part_of=TextDocument(id=UUID('1f078b0a-3cc1-57a9-9802-f78565d49f29'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='text_f0f63a5c88dbbeef1eca23d32848220c', raw_data_location='/Users/vasilije/cognee/cognee/.data_storage/data/text_f0f63a5c88dbbeef1eca23d32848220c.txt', metadata_id=UUID('1f078b0a-3cc1-57a9-9802-f78565d49f29'), mime_type='text/plain', type='text'), contains=[Entity(id=UUID('73ae630f-7b09-5dce-8c18-45d0a57b30f9'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='michael rodriguez', is_a=EntityType(id=UUID('d072ba0f-e1a9-58bf-9974-e1802adc8134'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='person', description='person'), description='Data Scientist with a strong background in machine learning and statistical modeling.'), Entity(id=UUID('5534e0b0-d0c4-5ab9-82e9-91bed36f70bd'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='carnegie mellon university', is_a=EntityType(id=UUID('912b273c-683d-53ea-8ffe-aadef0b84237'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='educational institution', description='educational institution'), description='University known for its data science program.'), Entity(id=UUID('0af613e0-c11b-550d-ada2-2c2aa6550884'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='university of michigan', is_a=EntityType(id=UUID('912b273c-683d-53ea-8ffe-aadef0b84237'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='educational institution', description='educational institution'), description='University known for its computer science program.'), Entity(id=UUID('04a91fef-8a07-5d50-8f1b-46f3afeec497'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='alpha analytics', is_a=EntityType(id=UUID('a6ed6bf1-fe31-5dfe-8ab4-484691fdf219'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='company', description='company'), description='Company where Michael Rodriguez works as a Senior Data Scientist.'), Entity(id=UUID('3f848ed6-902f-5a8e-9577-cb67f8c17acd'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='techinsights', is_a=EntityType(id=UUID('a6ed6bf1-fe31-5dfe-8ab4-484691fdf219'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='company', description='company'), description='Company where Michael Rodriguez worked as a Data Scientist.')])), TextSummary(id=UUID('ee6cb607-27eb-5b87-bf2a-305721534263'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, text='Sales Manager with proven ability to enhance revenue and cultivate effective teams. Strong communicator and leader.', made_from=DocumentChunk(id=UUID('7e35407f-7c59-5429-8824-23f1d17118c0'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, text=\"\\nCV 5: Not Relevant\\nName: Jessica Miller\\nContact Information:\\n\\nEmail: jessica.miller@example.com\\nPhone: (555) 567-8901\\nSummary:\\n\\nExperienced Sales Manager with a strong track record in driving sales growth and building high-performing teams. Excellent communication and leadership skills.\\n\\nEducation:\\n\\nB.A. in Business Administration, University of Southern California (2010)\\nExperience:\\n\\nSales Manager, Global Enterprises (2015 – Present)\\nManaged a sales team of 15 members, achieving a 20% increase in annual revenue.\\nDeveloped sales strategies that expanded customer base by 25%.\\nSales Representative, Market Leaders Inc. (2010 – 2015)\\nConsistently exceeded sales targets and received the 'Top Salesperson' award in 2013.\\nSkills:\\n\\nSales Strategy and Planning\\nTeam Leadership and Development\\nCRM Software: Salesforce, Zoho\\nNegotiation and Relationship Building\\n\", word_count=102, chunk_index=0, cut_type='sentence_cut', is_part_of=TextDocument(id=UUID('3c323fc9-9165-52da-a079-2627a9556b08'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='text_9b35c7df1f5d4dc84e78270c0bf9cac6', raw_data_location='/Users/vasilije/cognee/cognee/.data_storage/data/text_9b35c7df1f5d4dc84e78270c0bf9cac6.txt', metadata_id=UUID('3c323fc9-9165-52da-a079-2627a9556b08'), mime_type='text/plain', type='text'), contains=[Entity(id=UUID('36a5e3c8-c5f5-5ab5-8d59-ea69d8b36932'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='jessica miller', is_a=EntityType(id=UUID('d072ba0f-e1a9-58bf-9974-e1802adc8134'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='person', description='person'), description='An experienced sales manager with a strong track record in driving sales growth and building high-performing teams.'), Entity(id=UUID('5c32691d-c0e4-5378-9aab-dda8b0fa3931'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='global enterprises', is_a=EntityType(id=UUID('a6ed6bf1-fe31-5dfe-8ab4-484691fdf219'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='company', description='company'), description='A company where Jessica Miller worked as a Sales Manager.'), Entity(id=UUID('67544857-983a-5152-801d-4fc9d35d14e4'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='market leaders inc.', is_a=EntityType(id=UUID('a6ed6bf1-fe31-5dfe-8ab4-484691fdf219'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='company', description='company'), description='A company where Jessica Miller worked as a Sales Representative.'), Entity(id=UUID('f39d6c00-689b-5fd2-9021-893b28ac6ff2'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='university of southern california', is_a=EntityType(id=UUID('912b273c-683d-53ea-8ffe-aadef0b84237'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='educational institution', description='educational institution'), description='University where Jessica Miller obtained her degree in Business Administration.'), Entity(id=UUID('0abc801d-38ca-5003-b974-b60f1956c94a'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='2010', is_a=EntityType(id=UUID('d61d99ac-b291-5666-9748-3e80e1c8b56a'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='date', description='date'), description='Year Jessica Miller graduated from University of Southern California.'), Entity(id=UUID('7c8b43c1-e133-52e6-99aa-239534f1ed45'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='2015', is_a=EntityType(id=UUID('d61d99ac-b291-5666-9748-3e80e1c8b56a'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='date', description='date'), description='Year Jessica Miller started working as Sales Manager at Global Enterprises.'), Entity(id=UUID('2f4749e9-e1e4-5af0-be80-2a10d07557ff'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='present', is_a=EntityType(id=UUID('d61d99ac-b291-5666-9748-3e80e1c8b56a'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='date', description='date'), description=\"Current time indicative of Jessica Miller's ongoing role.\")])), TextSummary(id=UUID('d8a8668e-b122-5713-b289-932407bb294e'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, text='Creative Graphic Designer with 8+ years of expertise in visual design and branding, skilled in Adobe Creative Suite, dedicated to crafting engaging visuals.', made_from=DocumentChunk(id=UUID('c401b5b1-21d8-5830-8c7b-48e7d94c5b95'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, text='\\nCV 4: Not Relevant\\nName: David Thompson\\nContact Information:\\n\\nEmail: david.thompson@example.com\\nPhone: (555) 456-7890\\nSummary:\\n\\nCreative Graphic Designer with over 8 years of experience in visual design and branding. Proficient in Adobe Creative Suite and passionate about creating compelling visuals.\\n\\nEducation:\\n\\nB.F.A. in Graphic Design, Rhode Island School of Design (2012)\\nExperience:\\n\\nSenior Graphic Designer, CreativeWorks Agency (2015 – Present)\\nLed design projects for clients in various industries.\\nCreated branding materials that increased client engagement by 30%.\\nGraphic Designer, Visual Innovations (2012 – 2015)\\nDesigned marketing collateral, including brochures, logos, and websites.\\nCollaborated with the marketing team to develop cohesive brand strategies.\\nSkills:\\n\\nDesign Software: Adobe Photoshop, Illustrator, InDesign\\nWeb Design: HTML, CSS\\nSpecialties: Branding and Identity, Typography\\n', word_count=108, chunk_index=0, cut_type='sentence_cut', is_part_of=TextDocument(id=UUID('e71daf63-15a0-50fe-a909-766bc8fd311b'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='text_9abf20fa7defd7e49296c51b4e38edf2', raw_data_location='/Users/vasilije/cognee/cognee/.data_storage/data/text_9abf20fa7defd7e49296c51b4e38edf2.txt', metadata_id=UUID('e71daf63-15a0-50fe-a909-766bc8fd311b'), mime_type='text/plain', type='text'), contains=[Entity(id=UUID('a4777597-06c7-562c-bc44-56f74571a01a'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='david thompson', is_a=EntityType(id=UUID('d072ba0f-e1a9-58bf-9974-e1802adc8134'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='person', description='person'), description='Creative Graphic Designer with over 8 years of experience in visual design and branding.'), Entity(id=UUID('ca20272a-3e88-552f-92fe-491e23f117f8'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='creativeworks agency', is_a=EntityType(id=UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='organization', description='organization'), description='An agency where David Thompson is a Senior Graphic Designer.'), Entity(id=UUID('1e97bb97-4d29-5fb8-863a-15ab51f1dd46'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='visual innovations', is_a=EntityType(id=UUID('d3d7b6b4-9b0d-52e8-9e09-a9e9cf4b5a4d'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='organization', description='organization'), description='An organization where David Thompson worked as a Graphic Designer.'), Entity(id=UUID('60b027fe-7bb4-535d-8a47-19f1a491591b'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='rhode island school of design', is_a=EntityType(id=UUID('b5866225-05ad-5cfc-908e-c22916c6a1c6'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='institution', description='institution'), description='Educational institution where David Thompson earned his B.F.A. in Graphic Design.'), Entity(id=UUID('7e3df89c-2691-580b-84dc-378cb1df3db6'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='adobe creative suite', is_a=EntityType(id=UUID('2d66edc2-1e14-55ab-8304-680b514a597a'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='software', description='software'), description='A suite of graphic design, video editing, and web development applications.'), Entity(id=UUID('2a0f9b58-c695-5bad-baa2-fd2da02da013'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='html', is_a=EntityType(id=UUID('c90c7d6b-3532-5dcf-91e1-4a0e1f179794'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='language', description='language'), description='A markup language for creating web pages and applications.'), Entity(id=UUID('9b062f3c-fe02-5427-9b44-b287a1cac367'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='css', is_a=EntityType(id=UUID('c90c7d6b-3532-5dcf-91e1-4a0e1f179794'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='language', description='language'), description='A stylesheet language used for describing the presentation of a document written in HTML.')])), TextSummary(id=UUID('8aedca6b-fa78-5987-a79b-3b0bebff8eb1'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, text='Data Scientist with 6 years of expertise in machine learning, focused on utilizing data for business improvement and product enhancement.', made_from=DocumentChunk(id=UUID('00692e43-9f02-54d0-b695-44bf47342d36'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, text='\\nCV 3: Relevant\\nName: Sarah Nguyen\\nContact Information:\\n\\nEmail: sarah.nguyen@example.com\\nPhone: (555) 345-6789\\nSummary:\\n\\nData Scientist specializing in machine learning with 6 years of experience. Passionate about leveraging data to drive business solutions and improve product performance.\\n\\nEducation:\\n\\nM.S. in Statistics, University of Washington (2014)\\nB.S. in Applied Mathematics, University of Texas at Austin (2012)\\nExperience:\\n\\nData Scientist, QuantumTech (2016 – Present)\\nDesigned and implemented machine learning algorithms for financial forecasting.\\nImproved model efficiency by 20% through algorithm optimization.\\nJunior Data Scientist, DataCore Solutions (2014 – 2016)\\nAssisted in developing predictive models for supply chain optimization.\\nConducted data cleaning and preprocessing on large datasets.\\nSkills:\\n\\nProgramming Languages: Python, R\\nMachine Learning Frameworks: PyTorch, Scikit-Learn\\nStatistical Analysis: SAS, SPSS\\nCloud Platforms: AWS, Azure\\n', word_count=110, chunk_index=0, cut_type='sentence_cut', is_part_of=TextDocument(id=UUID('e7d6246b-e414-5b9d-8daa-6d4434b7fa47'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='text_f8c7482e727f228001b0046ed68d656f', raw_data_location='/Users/vasilije/cognee/cognee/.data_storage/data/text_f8c7482e727f228001b0046ed68d656f.txt', metadata_id=UUID('e7d6246b-e414-5b9d-8daa-6d4434b7fa47'), mime_type='text/plain', type='text'), contains=[Entity(id=UUID('4d8dda57-2681-5264-a2bd-e2ddfe66a785'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='sarah nguyen', is_a=EntityType(id=UUID('d072ba0f-e1a9-58bf-9974-e1802adc8134'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='person', description='person'), description='Data Scientist specializing in machine learning with 6 years of experience.'), Entity(id=UUID('ae74a35b-d5f1-5622-ade1-6703d5e069fb'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='university of washington', is_a=EntityType(id=UUID('912b273c-683d-53ea-8ffe-aadef0b84237'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='educational institution', description='educational institution'), description='University located in Seattle, Washington.'), Entity(id=UUID('301b3cf8-5a5c-585e-80bd-f79901e4368c'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='university of texas at austin', is_a=EntityType(id=UUID('912b273c-683d-53ea-8ffe-aadef0b84237'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='educational institution', description='educational institution'), description='Public research university located in Austin, Texas.'), Entity(id=UUID('0d980f2a-09dd-581e-acc3-cc2d87c1bab4'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='quantumtech', is_a=EntityType(id=UUID('a6ed6bf1-fe31-5dfe-8ab4-484691fdf219'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='company', description='company'), description='Company where Sarah Nguyen works as a Data Scientist from 2016 to present.'), Entity(id=UUID('95ac0551-38fc-5187-a422-533aeb7e8db0'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='datacore solutions', is_a=EntityType(id=UUID('a6ed6bf1-fe31-5dfe-8ab4-484691fdf219'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='company', description='company'), description='Company where Sarah Nguyen worked as a Junior Data Scientist from 2014 to 2016.'), Entity(id=UUID('3edcdf3f-25af-57a3-8878-8008bd7ea05a'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='aws', is_a=EntityType(id=UUID('d84d991a-dab3-5c36-8806-df076ccb731b'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='cloud platform', description='cloud platform'), description='Amazon Web Services, a cloud computing platform.'), Entity(id=UUID('8b431923-4aa2-5886-a661-b8de0f888a9b'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='azure', is_a=EntityType(id=UUID('d84d991a-dab3-5c36-8806-df076ccb731b'), updated_at=datetime.datetime(2024, 12, 24, 11, 54, 13, 481297, tzinfo=datetime.timezone.utc), topological_rank=0, name='cloud platform', description='cloud platform'), description='Microsoft Azure, a cloud computing service created by Microsoft.')]))]\n"
|
||
]
|
||
}
|
||
],
|
||
"execution_count": 11
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "219a6d41",
|
||
"metadata": {},
|
||
"source": [
|
||
"#### We get the url to the graph on graphistry in the notebook cell bellow, showing nodes and connections made by the cognify process."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "080389e5",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2024-12-29T16:55:51.378129Z",
|
||
"start_time": "2024-12-29T16:55:46.922951Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"import os\n",
|
||
"from cognee.shared.utils import render_graph\n",
|
||
"from cognee.infrastructure.databases.graph import get_graph_engine\n",
|
||
"import graphistry\n",
|
||
"# from dotenv import load_dotenv \n",
|
||
"graphistry.login(username=os.getenv(\"GRAPHISTRY_USERNAME\"), password=os.getenv(\"GRAPHISTRY_PASSWORD\"))\n",
|
||
"\n",
|
||
"graph_engine = await get_graph_engine()\n",
|
||
"\n",
|
||
"graph_url = await render_graph(graph_engine.graph)\n",
|
||
"print(graph_url)"
|
||
],
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Graph is visualized at: https://hub.graphistry.com/graph/graph.html?dataset=cc21b1d2d6074323aa37af53e693b1a4&type=arrow&viztoken=db05565e-79e9-4fe3-99b2-b7a2e6d48eff&usertag=5f822e63-pygraphistry-0.33.9&splashAfter=1735491366&info=true\n",
|
||
"https://hub.graphistry.com/graph/graph.html?dataset=cc21b1d2d6074323aa37af53e693b1a4&type=arrow&viztoken=db05565e-79e9-4fe3-99b2-b7a2e6d48eff&usertag=5f822e63-pygraphistry-0.33.9&splashAfter=1735491366&info=true\n"
|
||
]
|
||
}
|
||
],
|
||
"execution_count": 12
|
||
},
|
||
{
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2024-12-29T16:56:06.571404Z",
|
||
"start_time": "2024-12-29T16:56:06.569280Z"
|
||
}
|
||
},
|
||
"cell_type": "code",
|
||
"source": [
|
||
"graph_engine = await get_graph_engine()\n",
|
||
"print(graph_url)"
|
||
],
|
||
"id": "8f69caa0e353a889",
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"https://hub.graphistry.com/graph/graph.html?dataset=cc21b1d2d6074323aa37af53e693b1a4&type=arrow&viztoken=db05565e-79e9-4fe3-99b2-b7a2e6d48eff&usertag=5f822e63-pygraphistry-0.33.9&splashAfter=1735491366&info=true\n"
|
||
]
|
||
}
|
||
],
|
||
"execution_count": 13
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "59e6c3c3",
|
||
"metadata": {},
|
||
"source": [
|
||
"#### We can also do a search on the data to explore the knowledge."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"id": "e5e7dfc8",
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2024-12-24T13:44:16.575843Z",
|
||
"start_time": "2024-12-24T13:44:16.047897Z"
|
||
}
|
||
},
|
||
"source": [
|
||
"async def search(\n",
|
||
" vector_engine,\n",
|
||
" collection_name: str,\n",
|
||
" query_text: str = None,\n",
|
||
"):\n",
|
||
" query_vector = (await vector_engine.embedding_engine.embed_text([query_text]))[0]\n",
|
||
"\n",
|
||
" connection = await vector_engine.get_connection()\n",
|
||
" collection = await connection.open_table(collection_name)\n",
|
||
"\n",
|
||
" results = await collection.vector_search(query_vector).limit(10).to_pandas()\n",
|
||
"\n",
|
||
" result_values = list(results.to_dict(\"index\").values())\n",
|
||
"\n",
|
||
" return [dict(\n",
|
||
" id = str(result[\"id\"]),\n",
|
||
" payload = result[\"payload\"],\n",
|
||
" score = result[\"_distance\"],\n",
|
||
" ) for result in result_values]\n",
|
||
"\n",
|
||
"\n",
|
||
"from cognee.infrastructure.databases.vector import get_vector_engine\n",
|
||
"\n",
|
||
"vector_engine = get_vector_engine()\n",
|
||
"results = await search(vector_engine, \"entity_name\", \"sarah.nguyen@example.com\")\n",
|
||
"for result in results:\n",
|
||
" print(result)"
|
||
],
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"{'id': '4d8dda57-2681-5264-a2bd-e2ddfe66a785', 'payload': {'id': '4d8dda57-2681-5264-a2bd-e2ddfe66a785', 'updated_at': datetime.datetime(2024, 12, 24, 11, 54, 13, 481297), 'topological_rank': 0, 'text': 'sarah nguyen'}, 'score': 0.5708460211753845}\n",
|
||
"{'id': '198e2ab8-75e9-5931-97ab-da9a5a8e188c', 'payload': {'id': '198e2ab8-75e9-5931-97ab-da9a5a8e188c', 'updated_at': datetime.datetime(2024, 12, 24, 11, 54, 13, 481297), 'topological_rank': 0, 'text': 'san francisco, ca'}, 'score': 1.349550724029541}\n",
|
||
"{'id': '435dbd37-ab20-503c-9e99-ab8b8a3484e5', 'payload': {'id': '435dbd37-ab20-503c-9e99-ab8b8a3484e5', 'updated_at': datetime.datetime(2024, 12, 24, 11, 54, 13, 481297), 'topological_rank': 0, 'text': 'senior data scientist'}, 'score': 1.3934645652770996}\n",
|
||
"{'id': '36a5e3c8-c5f5-5ab5-8d59-ea69d8b36932', 'payload': {'id': '36a5e3c8-c5f5-5ab5-8d59-ea69d8b36932', 'updated_at': datetime.datetime(2024, 12, 24, 11, 54, 13, 481297), 'topological_rank': 0, 'text': 'jessica miller'}, 'score': 1.4042469263076782}\n",
|
||
"{'id': '73ae630f-7b09-5dce-8c18-45d0a57b30f9', 'payload': {'id': '73ae630f-7b09-5dce-8c18-45d0a57b30f9', 'updated_at': datetime.datetime(2024, 12, 24, 11, 54, 13, 481297), 'topological_rank': 0, 'text': 'michael rodriguez'}, 'score': 1.4521806240081787}\n",
|
||
"{'id': '29e771c8-4c3f-52de-9511-6b705878e130', 'payload': {'id': '29e771c8-4c3f-52de-9511-6b705878e130', 'updated_at': datetime.datetime(2024, 12, 24, 11, 54, 13, 481297), 'topological_rank': 0, 'text': 'dr. emily carter'}, 'score': 1.471205472946167}\n",
|
||
"{'id': 'ce8b394a-b30e-52fc-b80a-6352edc60e5b', 'payload': {'id': 'ce8b394a-b30e-52fc-b80a-6352edc60e5b', 'updated_at': datetime.datetime(2024, 12, 24, 11, 54, 13, 481297), 'topological_rank': 0, 'text': 'stanford university'}, 'score': 1.4871069192886353}\n",
|
||
"{'id': '9780afb1-dccc-53eb-9a30-c0d4ce033711', 'payload': {'id': '9780afb1-dccc-53eb-9a30-c0d4ce033711', 'updated_at': datetime.datetime(2024, 12, 24, 11, 54, 13, 481297), 'topological_rank': 0, 'text': 'innovateai labs'}, 'score': 1.498255968093872}\n",
|
||
"{'id': '301b3cf8-5a5c-585e-80bd-f79901e4368c', 'payload': {'id': '301b3cf8-5a5c-585e-80bd-f79901e4368c', 'updated_at': datetime.datetime(2024, 12, 24, 11, 54, 13, 481297), 'topological_rank': 0, 'text': 'university of texas at austin'}, 'score': 1.5053001642227173}\n",
|
||
"{'id': '2c02c93c-9cd1-56b8-9cc0-55ff0b290e57', 'payload': {'id': '2c02c93c-9cd1-56b8-9cc0-55ff0b290e57', 'updated_at': datetime.datetime(2024, 12, 24, 11, 54, 13, 481297), 'topological_rank': 0, 'text': 'university of california, berkeley'}, 'score': 1.5213639736175537}\n"
|
||
]
|
||
}
|
||
],
|
||
"execution_count": 23
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "81fa2b00",
|
||
"metadata": {},
|
||
"source": [
|
||
"#### We normalize search output scores so the lower the score of the search result is the higher the chance that it's what you're looking for. In the example above we have searched for node entities in the knowledge graph related to \"sarah.nguyen@example.com\""
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "1b94ff96",
|
||
"metadata": {},
|
||
"source": [
|
||
"#### In the example bellow we'll use cognee search to summarize information regarding the node most related to \"sarah.nguyen@example.com\" in the knowledge graph"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "21a3e9a6",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"from cognee.api.v1.search import SearchType\n",
|
||
"\n",
|
||
"node = (await vector_engine.search(\"entity_name\", \"sarah.nguyen@example.com\"))[0]\n",
|
||
"node_name = node.payload[\"text\"]\n",
|
||
"\n",
|
||
"search_results = await cognee.search(SearchType.SUMMARIES, query_text = node_name)\n",
|
||
"print(\"\\n\\Extracted summaries are:\\n\")\n",
|
||
"for result in search_results:\n",
|
||
" print(f\"{result}\\n\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "fd6e5fe2",
|
||
"metadata": {},
|
||
"source": [
|
||
"#### In this example we'll use cognee search to find chunks in which the node most related to \"sarah.nguyen@example.com\" is a part of"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "c7a8abff",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"search_results = await cognee.search(SearchType.CHUNKS, query_text = node_name)\n",
|
||
"print(\"\\n\\nExtracted chunks are:\\n\")\n",
|
||
"for result in search_results:\n",
|
||
" print(f\"{result}\\n\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "47f0112f",
|
||
"metadata": {},
|
||
"source": [
|
||
"#### In this example we'll use cognee search to give us insights from the knowledge graph related to the node most related to \"sarah.nguyen@example.com\""
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "706a3954",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"search_results = await cognee.search(SearchType.INSIGHTS, query_text = node_name)\n",
|
||
"print(\"\\n\\nExtracted sentences are:\\n\")\n",
|
||
"for result in search_results:\n",
|
||
" print(f\"{result}\\n\")"
|
||
]
|
||
},
|
||
{
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2024-12-24T13:46:09.644509Z",
|
||
"start_time": "2024-12-24T13:46:04.538592Z"
|
||
}
|
||
},
|
||
"cell_type": "code",
|
||
"source": [
|
||
"!pip install wget\n",
|
||
"!pip install deepeval\n",
|
||
"!pip install ujson"
|
||
],
|
||
"id": "afae18ac6a794925",
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Requirement already satisfied: wget in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (3.2)\r\n",
|
||
"\r\n",
|
||
"\u001B[1m[\u001B[0m\u001B[34;49mnotice\u001B[0m\u001B[1;39;49m]\u001B[0m\u001B[39;49m A new release of pip is available: \u001B[0m\u001B[31;49m23.2.1\u001B[0m\u001B[39;49m -> \u001B[0m\u001B[32;49m24.3.1\u001B[0m\r\n",
|
||
"\u001B[1m[\u001B[0m\u001B[34;49mnotice\u001B[0m\u001B[1;39;49m]\u001B[0m\u001B[39;49m To update, run: \u001B[0m\u001B[32;49mpip install --upgrade pip\u001B[0m\r\n",
|
||
"Requirement already satisfied: deepeval in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (2.0.9)\r\n",
|
||
"Requirement already satisfied: requests in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from deepeval) (2.32.3)\r\n",
|
||
"Requirement already satisfied: tqdm in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from deepeval) (4.67.1)\r\n",
|
||
"Requirement already satisfied: pytest in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from deepeval) (7.4.4)\r\n",
|
||
"Requirement already satisfied: tabulate in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from deepeval) (0.9.0)\r\n",
|
||
"Requirement already satisfied: typer in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from deepeval) (0.15.1)\r\n",
|
||
"Requirement already satisfied: rich in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from deepeval) (13.9.4)\r\n",
|
||
"Requirement already satisfied: protobuf in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from deepeval) (4.25.5)\r\n",
|
||
"Requirement already satisfied: pydantic in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from deepeval) (2.8.2)\r\n",
|
||
"Requirement already satisfied: sentry-sdk in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from deepeval) (2.19.2)\r\n",
|
||
"Requirement already satisfied: pytest-repeat in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from deepeval) (0.9.3)\r\n",
|
||
"Requirement already satisfied: pytest-xdist in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from deepeval) (3.6.1)\r\n",
|
||
"Requirement already satisfied: portalocker in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from deepeval) (3.0.0)\r\n",
|
||
"Requirement already satisfied: langchain in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from deepeval) (0.3.13)\r\n",
|
||
"Requirement already satisfied: langchain-core in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from deepeval) (0.3.28)\r\n",
|
||
"Requirement already satisfied: langchain_openai in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from deepeval) (0.2.14)\r\n",
|
||
"Requirement already satisfied: langchain-community in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from deepeval) (0.3.13)\r\n",
|
||
"Requirement already satisfied: docx2txt~=0.8 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from deepeval) (0.8)\r\n",
|
||
"Requirement already satisfied: importlib-metadata>=6.0.2 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from deepeval) (8.4.0)\r\n",
|
||
"Requirement already satisfied: tenacity<=9.0.0 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from deepeval) (8.5.0)\r\n",
|
||
"Requirement already satisfied: opentelemetry-api<2.0.0,>=1.24.0 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from deepeval) (1.27.0)\r\n",
|
||
"Requirement already satisfied: opentelemetry-sdk<2.0.0,>=1.24.0 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from deepeval) (1.27.0)\r\n",
|
||
"Requirement already satisfied: opentelemetry-exporter-otlp-proto-grpc<2.0.0,>=1.24.0 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from deepeval) (1.27.0)\r\n",
|
||
"Requirement already satisfied: grpcio==1.60.1 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from deepeval) (1.60.1)\r\n",
|
||
"Requirement already satisfied: nest-asyncio in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from deepeval) (1.6.0)\r\n",
|
||
"Requirement already satisfied: zipp>=0.5 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from importlib-metadata>=6.0.2->deepeval) (3.21.0)\r\n",
|
||
"Requirement already satisfied: deprecated>=1.2.6 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from opentelemetry-api<2.0.0,>=1.24.0->deepeval) (1.2.15)\r\n",
|
||
"Requirement already satisfied: googleapis-common-protos~=1.52 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from opentelemetry-exporter-otlp-proto-grpc<2.0.0,>=1.24.0->deepeval) (1.66.0)\r\n",
|
||
"Requirement already satisfied: opentelemetry-exporter-otlp-proto-common==1.27.0 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from opentelemetry-exporter-otlp-proto-grpc<2.0.0,>=1.24.0->deepeval) (1.27.0)\r\n",
|
||
"Requirement already satisfied: opentelemetry-proto==1.27.0 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from opentelemetry-exporter-otlp-proto-grpc<2.0.0,>=1.24.0->deepeval) (1.27.0)\r\n",
|
||
"Requirement already satisfied: opentelemetry-semantic-conventions==0.48b0 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from opentelemetry-sdk<2.0.0,>=1.24.0->deepeval) (0.48b0)\r\n",
|
||
"Requirement already satisfied: typing-extensions>=3.7.4 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from opentelemetry-sdk<2.0.0,>=1.24.0->deepeval) (4.12.2)\r\n",
|
||
"Requirement already satisfied: PyYAML>=5.3 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from langchain->deepeval) (6.0.2)\r\n",
|
||
"Requirement already satisfied: SQLAlchemy<3,>=1.4 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from langchain->deepeval) (2.0.35)\r\n",
|
||
"Requirement already satisfied: aiohttp<4.0.0,>=3.8.3 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from langchain->deepeval) (3.10.10)\r\n",
|
||
"Requirement already satisfied: langchain-text-splitters<0.4.0,>=0.3.3 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from langchain->deepeval) (0.3.4)\r\n",
|
||
"Requirement already satisfied: langsmith<0.3,>=0.1.17 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from langchain->deepeval) (0.2.4)\r\n",
|
||
"Requirement already satisfied: numpy<2,>=1.22.4 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from langchain->deepeval) (1.26.4)\r\n",
|
||
"Requirement already satisfied: jsonpatch<2.0,>=1.33 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from langchain-core->deepeval) (1.33)\r\n",
|
||
"Requirement already satisfied: packaging<25,>=23.2 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from langchain-core->deepeval) (24.2)\r\n",
|
||
"Requirement already satisfied: annotated-types>=0.4.0 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from pydantic->deepeval) (0.7.0)\r\n",
|
||
"Requirement already satisfied: pydantic-core==2.20.1 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from pydantic->deepeval) (2.20.1)\r\n",
|
||
"Requirement already satisfied: charset-normalizer<4,>=2 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from requests->deepeval) (3.4.0)\r\n",
|
||
"Requirement already satisfied: idna<4,>=2.5 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from requests->deepeval) (3.10)\r\n",
|
||
"Requirement already satisfied: urllib3<3,>=1.21.1 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from requests->deepeval) (2.2.3)\r\n",
|
||
"Requirement already satisfied: certifi>=2017.4.17 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from requests->deepeval) (2024.12.14)\r\n",
|
||
"Requirement already satisfied: dataclasses-json<0.7,>=0.5.7 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from langchain-community->deepeval) (0.6.7)\r\n",
|
||
"Requirement already satisfied: httpx-sse<0.5.0,>=0.4.0 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from langchain-community->deepeval) (0.4.0)\r\n",
|
||
"Requirement already satisfied: pydantic-settings<3.0.0,>=2.4.0 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from langchain-community->deepeval) (2.7.0)\r\n",
|
||
"Requirement already satisfied: openai<2.0.0,>=1.58.1 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from langchain_openai->deepeval) (1.58.1)\r\n",
|
||
"Requirement already satisfied: tiktoken<1,>=0.7 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from langchain_openai->deepeval) (0.7.0)\r\n",
|
||
"Requirement already satisfied: iniconfig in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from pytest->deepeval) (2.0.0)\r\n",
|
||
"Requirement already satisfied: pluggy<2.0,>=0.12 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from pytest->deepeval) (1.5.0)\r\n",
|
||
"Requirement already satisfied: execnet>=2.1 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from pytest-xdist->deepeval) (2.1.1)\r\n",
|
||
"Requirement already satisfied: markdown-it-py>=2.2.0 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from rich->deepeval) (3.0.0)\r\n",
|
||
"Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from rich->deepeval) (2.18.0)\r\n",
|
||
"Requirement already satisfied: click>=8.0.0 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from typer->deepeval) (8.1.7)\r\n",
|
||
"Requirement already satisfied: shellingham>=1.3.0 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from typer->deepeval) (1.5.4)\r\n",
|
||
"Requirement already satisfied: aiohappyeyeballs>=2.3.0 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from aiohttp<4.0.0,>=3.8.3->langchain->deepeval) (2.4.4)\r\n",
|
||
"Requirement already satisfied: aiosignal>=1.1.2 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from aiohttp<4.0.0,>=3.8.3->langchain->deepeval) (1.3.2)\r\n",
|
||
"Requirement already satisfied: attrs>=17.3.0 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from aiohttp<4.0.0,>=3.8.3->langchain->deepeval) (24.3.0)\r\n",
|
||
"Requirement already satisfied: frozenlist>=1.1.1 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from aiohttp<4.0.0,>=3.8.3->langchain->deepeval) (1.5.0)\r\n",
|
||
"Requirement already satisfied: multidict<7.0,>=4.5 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from aiohttp<4.0.0,>=3.8.3->langchain->deepeval) (6.1.0)\r\n",
|
||
"Requirement already satisfied: yarl<2.0,>=1.12.0 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from aiohttp<4.0.0,>=3.8.3->langchain->deepeval) (1.18.3)\r\n",
|
||
"Requirement already satisfied: marshmallow<4.0.0,>=3.18.0 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from dataclasses-json<0.7,>=0.5.7->langchain-community->deepeval) (3.23.2)\r\n",
|
||
"Requirement already satisfied: typing-inspect<1,>=0.4.0 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from dataclasses-json<0.7,>=0.5.7->langchain-community->deepeval) (0.9.0)\r\n",
|
||
"Requirement already satisfied: wrapt<2,>=1.10 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from deprecated>=1.2.6->opentelemetry-api<2.0.0,>=1.24.0->deepeval) (1.17.0)\r\n",
|
||
"Requirement already satisfied: jsonpointer>=1.9 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from jsonpatch<2.0,>=1.33->langchain-core->deepeval) (3.0.0)\r\n",
|
||
"Requirement already satisfied: httpx<1,>=0.23.0 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from langsmith<0.3,>=0.1.17->langchain->deepeval) (0.27.0)\r\n",
|
||
"Requirement already satisfied: orjson<4.0.0,>=3.9.14 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from langsmith<0.3,>=0.1.17->langchain->deepeval) (3.10.12)\r\n",
|
||
"Requirement already satisfied: requests-toolbelt<2.0.0,>=1.0.0 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from langsmith<0.3,>=0.1.17->langchain->deepeval) (1.0.0)\r\n",
|
||
"Requirement already satisfied: mdurl~=0.1 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from markdown-it-py>=2.2.0->rich->deepeval) (0.1.2)\r\n",
|
||
"Requirement already satisfied: anyio<5,>=3.5.0 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from openai<2.0.0,>=1.58.1->langchain_openai->deepeval) (4.7.0)\r\n",
|
||
"Requirement already satisfied: distro<2,>=1.7.0 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from openai<2.0.0,>=1.58.1->langchain_openai->deepeval) (1.9.0)\r\n",
|
||
"Requirement already satisfied: jiter<1,>=0.4.0 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from openai<2.0.0,>=1.58.1->langchain_openai->deepeval) (0.5.0)\r\n",
|
||
"Requirement already satisfied: sniffio in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from openai<2.0.0,>=1.58.1->langchain_openai->deepeval) (1.3.1)\r\n",
|
||
"Requirement already satisfied: python-dotenv>=0.21.0 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from pydantic-settings<3.0.0,>=2.4.0->langchain-community->deepeval) (1.0.1)\r\n",
|
||
"Requirement already satisfied: regex>=2022.1.18 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from tiktoken<1,>=0.7->langchain_openai->deepeval) (2024.11.6)\r\n",
|
||
"Requirement already satisfied: httpcore==1.* in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from httpx<1,>=0.23.0->langsmith<0.3,>=0.1.17->langchain->deepeval) (1.0.7)\r\n",
|
||
"Requirement already satisfied: h11<0.15,>=0.13 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from httpcore==1.*->httpx<1,>=0.23.0->langsmith<0.3,>=0.1.17->langchain->deepeval) (0.14.0)\r\n",
|
||
"Requirement already satisfied: mypy-extensions>=0.3.0 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from typing-inspect<1,>=0.4.0->dataclasses-json<0.7,>=0.5.7->langchain-community->deepeval) (1.0.0)\r\n",
|
||
"Requirement already satisfied: propcache>=0.2.0 in /Users/vasilije/cognee/.venv/lib/python3.11/site-packages (from yarl<2.0,>=1.12.0->aiohttp<4.0.0,>=3.8.3->langchain->deepeval) (0.2.1)\r\n",
|
||
"\r\n",
|
||
"\u001B[1m[\u001B[0m\u001B[34;49mnotice\u001B[0m\u001B[1;39;49m]\u001B[0m\u001B[39;49m A new release of pip is available: \u001B[0m\u001B[31;49m23.2.1\u001B[0m\u001B[39;49m -> \u001B[0m\u001B[32;49m24.3.1\u001B[0m\r\n",
|
||
"\u001B[1m[\u001B[0m\u001B[34;49mnotice\u001B[0m\u001B[1;39;49m]\u001B[0m\u001B[39;49m To update, run: \u001B[0m\u001B[32;49mpip install --upgrade pip\u001B[0m\r\n",
|
||
"Collecting ujson\r\n",
|
||
" Obtaining dependency information for ujson from https://files.pythonhosted.org/packages/8d/9f/4731ef0671a0653e9f5ba18db7c4596d8ecbf80c7922dd5fe4150f1aea76/ujson-5.10.0-cp311-cp311-macosx_11_0_arm64.whl.metadata\r\n",
|
||
" Downloading ujson-5.10.0-cp311-cp311-macosx_11_0_arm64.whl.metadata (9.3 kB)\r\n",
|
||
"Downloading ujson-5.10.0-cp311-cp311-macosx_11_0_arm64.whl (51 kB)\r\n",
|
||
"\u001B[2K \u001B[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[32m51.8/51.8 kB\u001B[0m \u001B[31m1.7 MB/s\u001B[0m eta \u001B[36m0:00:00\u001B[0m\r\n",
|
||
"\u001B[?25hInstalling collected packages: ujson\r\n",
|
||
"Successfully installed ujson-5.10.0\r\n",
|
||
"\r\n",
|
||
"\u001B[1m[\u001B[0m\u001B[34;49mnotice\u001B[0m\u001B[1;39;49m]\u001B[0m\u001B[39;49m A new release of pip is available: \u001B[0m\u001B[31;49m23.2.1\u001B[0m\u001B[39;49m -> \u001B[0m\u001B[32;49m24.3.1\u001B[0m\r\n",
|
||
"\u001B[1m[\u001B[0m\u001B[34;49mnotice\u001B[0m\u001B[1;39;49m]\u001B[0m\u001B[39;49m To update, run: \u001B[0m\u001B[32;49mpip install --upgrade pip\u001B[0m\r\n"
|
||
]
|
||
}
|
||
],
|
||
"execution_count": 29
|
||
},
|
||
{
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2024-12-24T15:29:11.123483Z",
|
||
"start_time": "2024-12-24T15:29:11.120888Z"
|
||
}
|
||
},
|
||
"cell_type": "code",
|
||
"source": [
|
||
"# from evals.eval_on_hotpot import eval_on_hotpotQA\n",
|
||
"# from evals.eval_on_hotpot import answer_with_cognee\n",
|
||
"# from evals.eval_on_hotpot import answer_without_cognee\n",
|
||
"# from evals.eval_on_hotpot import eval_answers\n",
|
||
"# from cognee.base_config import get_base_config\n",
|
||
"# from pathlib import Path\n",
|
||
"# from tqdm import tqdm\n",
|
||
"# import wget\n",
|
||
"# import json\n",
|
||
"# import statistics"
|
||
],
|
||
"id": "5f36b67668fdb646",
|
||
"outputs": [],
|
||
"execution_count": 2
|
||
},
|
||
{
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2024-12-24T15:57:30.764970Z",
|
||
"start_time": "2024-12-24T15:57:07.861187Z"
|
||
}
|
||
},
|
||
"cell_type": "code",
|
||
"source": [
|
||
"# answer_provider = answer_without_cognee # For native LLM answers use answer_without_cognee\n",
|
||
"# num_samples = 10 # With cognee, it takes ~1m10s per sample\n",
|
||
"# \n",
|
||
"# base_config = get_base_config()\n",
|
||
"# data_root_dir = base_config.data_root_directory\n",
|
||
"# \n",
|
||
"# if not Path(data_root_dir).exists():\n",
|
||
"# Path(data_root_dir).mkdir()\n",
|
||
"# \n",
|
||
"# filepath = data_root_dir / Path(\"hotpot_dev_fullwiki_v1.json\")\n",
|
||
"# if not filepath.exists():\n",
|
||
"# url = 'http://curtis.ml.cmu.edu/datasets/hotpot/hotpot_dev_fullwiki_v1.json'\n",
|
||
"# wget.download(url, out=data_root_dir)\n",
|
||
"# \n",
|
||
"# with open(filepath, \"r\") as file:\n",
|
||
"# dataset = json.load(file)\n",
|
||
"# instances = dataset if not num_samples else dataset[:num_samples]\n",
|
||
"# answers = []\n",
|
||
"# for instance in tqdm(instances, desc=\"Getting answers\"):\n",
|
||
"# answer = await answer_provider(instance)\n",
|
||
"# answers.append(answer)"
|
||
],
|
||
"id": "d5af4b516c6621a3",
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Getting answers: 100%|██████████| 10/10 [00:13<00:00, 1.31s/it]\n"
|
||
]
|
||
}
|
||
],
|
||
"execution_count": 9
|
||
},
|
||
{
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2024-12-24T15:57:30.787382Z",
|
||
"start_time": "2024-12-24T15:57:30.785259Z"
|
||
}
|
||
},
|
||
"cell_type": "code",
|
||
"source": [
|
||
"# from evals.deepeval_metrics import f1_score_metric\n",
|
||
"# from evals.deepeval_metrics import em_score_metric"
|
||
],
|
||
"id": "2bf69048a272158c",
|
||
"outputs": [],
|
||
"execution_count": 10
|
||
},
|
||
{
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2024-12-24T15:57:30.828509Z",
|
||
"start_time": "2024-12-24T15:57:30.795197Z"
|
||
}
|
||
},
|
||
"cell_type": "code",
|
||
"source": [
|
||
"# f1_metric = f1_score_metric()\n",
|
||
"# eval_results = await eval_answers(instances, answers, f1_metric)\n",
|
||
"# avg_f1_score = statistics.mean([result.metrics_data[0].score for result in eval_results.test_results])\n",
|
||
"# print(\"F1 score: \", avg_f1_score)"
|
||
],
|
||
"id": "72ba5f89cccbee6b",
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"✨ You're running DeepEval's latest \u001B[38;2;106;0;255mOfficial hotpot F1 score Metric\u001B[0m! \u001B[1;38;2;55;65;81m(\u001B[0m\u001B[38;2;55;65;81musing \u001B[0m\u001B[3;38;2;55;65;81mNone\u001B[0m\u001B[38;2;55;65;81m, \u001B[0m\u001B[38;2;55;65;81mstrict\u001B[0m\u001B[38;2;55;65;81m=\u001B[0m\u001B[3;38;2;55;65;81mFalse\u001B[0m\u001B[38;2;55;65;81m, \u001B[0m\u001B[38;2;55;65;81masync_mode\u001B[0m\u001B[38;2;55;65;81m=\u001B[0m\u001B[3;38;2;55;65;81mTrue\u001B[0m\u001B[1;38;2;55;65;81m)\u001B[0m\u001B[38;2;55;65;81m...\u001B[0m\n"
|
||
],
|
||
"text/html": [
|
||
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">✨ You're running DeepEval's latest <span style=\"color: #6a00ff; text-decoration-color: #6a00ff\">Official hotpot F1 score Metric</span>! <span style=\"color: #374151; text-decoration-color: #374151; font-weight: bold\">(</span><span style=\"color: #374151; text-decoration-color: #374151\">using </span><span style=\"color: #374151; text-decoration-color: #374151; font-style: italic\">None</span><span style=\"color: #374151; text-decoration-color: #374151\">, </span><span style=\"color: #374151; text-decoration-color: #374151\">strict</span><span style=\"color: #374151; text-decoration-color: #374151\">=</span><span style=\"color: #374151; text-decoration-color: #374151; font-style: italic\">False</span><span style=\"color: #374151; text-decoration-color: #374151\">, </span><span style=\"color: #374151; text-decoration-color: #374151\">async_mode</span><span style=\"color: #374151; text-decoration-color: #374151\">=</span><span style=\"color: #374151; text-decoration-color: #374151; font-style: italic\">True</span><span style=\"color: #374151; text-decoration-color: #374151; font-weight: bold\">)</span><span style=\"color: #374151; text-decoration-color: #374151\">...</span>\n",
|
||
"</pre>\n"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Event loop is already running. Applying nest_asyncio patch to allow async execution...\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Evaluating 10 test case(s) in parallel: |██████████|100% (10/10) [Time Taken: 00:00, 407.84test case/s]"
|
||
]
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\n",
|
||
"======================================================================\n",
|
||
"\n",
|
||
"Metrics Summary\n",
|
||
"\n",
|
||
" - ❌ Official hotpot F1 score (score: 0.0, threshold: 0.5, strict: False, evaluation model: None, reason: None, error: None)\n",
|
||
"\n",
|
||
"For test case:\n",
|
||
"\n",
|
||
" - input: Were Scott Derrickson and Ed Wood of the same nationality?\n",
|
||
" - actual output: Scott Derrickson is described as an American filmmaker in the context. Ed Wood is referenced as a cult filmmaker in the American biographical film \"Ed Wood.\" Therefore, both Scott Derrickson and Ed Wood are of the same nationality: American.\n",
|
||
" - expected output: yes\n",
|
||
" - context: None\n",
|
||
" - retrieval context: None\n",
|
||
"\n",
|
||
"======================================================================\n",
|
||
"\n",
|
||
"Metrics Summary\n",
|
||
"\n",
|
||
" - ❌ Official hotpot F1 score (score: 0.04255319148936171, threshold: 0.5, strict: False, evaluation model: None, reason: None, error: None)\n",
|
||
"\n",
|
||
"For test case:\n",
|
||
"\n",
|
||
" - input: What government position was held by the woman who portrayed Corliss Archer in the film Kiss and Tell?\n",
|
||
" - actual output: The woman who portrayed Corliss Archer in the film \"Kiss and Tell\" was Shirley Temple. After her acting career, she held the position of U.S. Ambassador to Czechoslovakia from 1989 to 1992, and she was also a member of the U.S. delegation to the United Nations from 1969 to 1970.\n",
|
||
" - expected output: Chief of Protocol\n",
|
||
" - context: None\n",
|
||
" - retrieval context: None\n",
|
||
"\n",
|
||
"======================================================================\n",
|
||
"\n",
|
||
"Metrics Summary\n",
|
||
"\n",
|
||
" - ❌ Official hotpot F1 score (score: 0.05882352941176471, threshold: 0.5, strict: False, evaluation model: None, reason: None, error: None)\n",
|
||
"\n",
|
||
"For test case:\n",
|
||
"\n",
|
||
" - input: What science fantasy young adult series, told in first person, has a set of companion books narrating the stories of enslaved worlds and alien species?\n",
|
||
" - actual output: The book series that fits the description is \"Animorphs\". It is a science fantasy young adult series told in the first person with multiple narrators, and it deals with themes relevant to enslaved worlds and alien species.\n",
|
||
" - expected output: Animorphs\n",
|
||
" - context: None\n",
|
||
" - retrieval context: None\n",
|
||
"\n",
|
||
"======================================================================\n",
|
||
"\n",
|
||
"Metrics Summary\n",
|
||
"\n",
|
||
" - ❌ Official hotpot F1 score (score: 0.0, threshold: 0.5, strict: False, evaluation model: None, reason: None, error: None)\n",
|
||
"\n",
|
||
"For test case:\n",
|
||
"\n",
|
||
" - input: Are the Laleli Mosque and Esma Sultan Mansion located in the same neighborhood?\n",
|
||
" - actual output: The Laleli Mosque is located in Laleli, Fatih, Istanbul. The Esma Sultan Mansion is located in the Ortaköy neighborhood of Istanbul. Therefore, they are not located in the same neighborhood.\n",
|
||
" - expected output: no\n",
|
||
" - context: None\n",
|
||
" - retrieval context: None\n",
|
||
"\n",
|
||
"======================================================================\n",
|
||
"\n",
|
||
"Metrics Summary\n",
|
||
"\n",
|
||
" - ❌ Official hotpot F1 score (score: 0.22222222222222218, threshold: 0.5, strict: False, evaluation model: None, reason: None, error: None)\n",
|
||
"\n",
|
||
"For test case:\n",
|
||
"\n",
|
||
" - input: The director of the romantic comedy \"Big Stone Gap\" is based in what New York city?\n",
|
||
" - actual output: The director of the romantic comedy \"Big Stone Gap\" is Adriana Trigiani, and there is no specific New York city mentioned in the provided context.\n",
|
||
" - expected output: Greenwich Village, New York City\n",
|
||
" - context: None\n",
|
||
" - retrieval context: None\n",
|
||
"\n",
|
||
"======================================================================\n",
|
||
"\n",
|
||
"Metrics Summary\n",
|
||
"\n",
|
||
" - ❌ Official hotpot F1 score (score: 0.11764705882352941, threshold: 0.5, strict: False, evaluation model: None, reason: None, error: None)\n",
|
||
"\n",
|
||
"For test case:\n",
|
||
"\n",
|
||
" - input: 2014 S/S is the debut album of a South Korean boy group that was formed by who?\n",
|
||
" - actual output: The South Korean boy group that debuted with the album \"2014 S/S\" was formed by FNC Entertainment.\n",
|
||
" - expected output: YG Entertainment\n",
|
||
" - context: None\n",
|
||
" - retrieval context: None\n",
|
||
"\n",
|
||
"======================================================================\n",
|
||
"\n",
|
||
"Metrics Summary\n",
|
||
"\n",
|
||
" - ❌ Official hotpot F1 score (score: 0.18181818181818182, threshold: 0.5, strict: False, evaluation model: None, reason: None, error: None)\n",
|
||
"\n",
|
||
"For test case:\n",
|
||
"\n",
|
||
" - input: Who was known by his stage name Aladin and helped organizations improve their performance as a consultant?\n",
|
||
" - actual output: Eenasul Fateh, known by his stage name Aladin, is a Bangladeshi-British cultural practitioner, magician, live artist, and former international management consultant.\n",
|
||
" - expected output: Eenasul Fateh\n",
|
||
" - context: None\n",
|
||
" - retrieval context: None\n",
|
||
"\n",
|
||
"======================================================================\n",
|
||
"\n",
|
||
"Metrics Summary\n",
|
||
"\n",
|
||
" - ❌ Official hotpot F1 score (score: 0.0, threshold: 0.5, strict: False, evaluation model: None, reason: None, error: None)\n",
|
||
"\n",
|
||
"For test case:\n",
|
||
"\n",
|
||
" - input: The arena where the Lewiston Maineiacs played their home games can seat how many people?\n",
|
||
" - actual output: The Lewiston Maineiacs played their home games at the Androscoggin Bank Colisée. The capacity of the arena is not directly stated in the context, but it is implied from the information provided.\n",
|
||
" - expected output: 3,677 seated\n",
|
||
" - context: None\n",
|
||
" - retrieval context: None\n",
|
||
"\n",
|
||
"======================================================================\n",
|
||
"\n",
|
||
"Metrics Summary\n",
|
||
"\n",
|
||
" - ❌ Official hotpot F1 score (score: 0.12903225806451613, threshold: 0.5, strict: False, evaluation model: None, reason: None, error: None)\n",
|
||
"\n",
|
||
"For test case:\n",
|
||
"\n",
|
||
" - input: Who is older, Annie Morton or Terry Richardson?\n",
|
||
" - actual output: Annie Morton was born on October 8, 1970, while Terry Richardson's birthdate is not provided in the context. Therefore, based on the available information, Annie Morton is older than Terry Richardson.\n",
|
||
" - expected output: Terry Richardson\n",
|
||
" - context: None\n",
|
||
" - retrieval context: None\n",
|
||
"\n",
|
||
"======================================================================\n",
|
||
"\n",
|
||
"Metrics Summary\n",
|
||
"\n",
|
||
" - ❌ Official hotpot F1 score (score: 0.0, threshold: 0.5, strict: False, evaluation model: None, reason: None, error: None)\n",
|
||
"\n",
|
||
"For test case:\n",
|
||
"\n",
|
||
" - input: Are Local H and For Against both from the United States?\n",
|
||
" - actual output: Yes, Local H is from the United States, specifically mentioned as a band from the Chicago suburbs, and For Against is also a band mentioned as being from the United States, although specific details about For Against's origin are not provided in the context.\n",
|
||
" - expected output: yes\n",
|
||
" - context: None\n",
|
||
" - retrieval context: None\n",
|
||
"\n",
|
||
"======================================================================\n",
|
||
"\n",
|
||
"Overall Metric Pass Rates\n",
|
||
"\n",
|
||
"Official hotpot F1 score: 0.00% pass rate\n",
|
||
"\n",
|
||
"======================================================================\n",
|
||
"\n"
|
||
]
|
||
},
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"\u001B[38;2;5;245;141m✓\u001B[0m Tests finished 🎉! Run \u001B[32m'deepeval login'\u001B[0m to save and analyze evaluation results on Confident AI. \n",
|
||
"‼️ Friendly reminder 😇: You can also run evaluations with ALL of deepeval's metrics directly on Confident AI \n",
|
||
"instead.\n"
|
||
],
|
||
"text/html": [
|
||
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #05f58d; text-decoration-color: #05f58d\">✓</span> Tests finished 🎉! Run <span style=\"color: #008000; text-decoration-color: #008000\">'deepeval login'</span> to save and analyze evaluation results on Confident AI. \n",
|
||
"‼️ Friendly reminder 😇: You can also run evaluations with ALL of deepeval's metrics directly on Confident AI \n",
|
||
"instead.\n",
|
||
"</pre>\n"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"F1 score: 0.0752096441829576\n"
|
||
]
|
||
}
|
||
],
|
||
"execution_count": 11
|
||
},
|
||
{
|
||
"metadata": {
|
||
"ExecuteTime": {
|
||
"end_time": "2025-01-05T19:23:30.332977Z",
|
||
"start_time": "2025-01-05T19:23:30.331538Z"
|
||
}
|
||
},
|
||
"cell_type": "code",
|
||
"source": "",
|
||
"id": "783985c35d1126de",
|
||
"outputs": [],
|
||
"execution_count": null
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "288ab570",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Give us a star if you like it!\n",
|
||
"https://github.com/topoteretes/cognee"
|
||
]
|
||
},
|
||
{
|
||
"metadata": {},
|
||
"cell_type": "code",
|
||
"outputs": [],
|
||
"execution_count": null,
|
||
"source": "",
|
||
"id": "d042efe5d38144fa"
|
||
},
|
||
{
|
||
"metadata": {},
|
||
"cell_type": "code",
|
||
"outputs": [],
|
||
"execution_count": null,
|
||
"source": "",
|
||
"id": "9436af97520e0ae"
|
||
}
|
||
],
|
||
"metadata": {
|
||
"kernelspec": {
|
||
"display_name": ".venv",
|
||
"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.8"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 5
|
||
}
|