diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..64ccc60 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.env +**/chroma_db_LAB/ +ai-for-everyone.pdf diff --git a/your-code/main.ipynb b/your-code/main.ipynb index e3a225a..6eebb14 100644 --- a/your-code/main.ipynb +++ b/your-code/main.ipynb @@ -59,25 +59,262 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: langchain in /usr/local/lib/python3.12/site-packages (1.2.10)\n", + "Requirement already satisfied: langchain_community in /usr/local/lib/python3.12/site-packages (0.4.1)\n", + "Requirement already satisfied: pypdf in /usr/local/lib/python3.12/site-packages (6.7.4)\n", + "Requirement already satisfied: langchain-core<2.0.0,>=1.2.10 in /usr/local/lib/python3.12/site-packages (from langchain) (1.2.16)\n", + "Requirement already satisfied: langgraph<1.1.0,>=1.0.8 in /usr/local/lib/python3.12/site-packages (from langchain) (1.0.9)\n", + "Requirement already satisfied: pydantic<3.0.0,>=2.7.4 in /usr/local/lib/python3.12/site-packages (from langchain) (2.12.5)\n", + "Requirement already satisfied: jsonpatch<2.0.0,>=1.33.0 in /usr/local/lib/python3.12/site-packages (from langchain-core<2.0.0,>=1.2.10->langchain) (1.33)\n", + "Requirement already satisfied: langsmith<1.0.0,>=0.3.45 in /usr/local/lib/python3.12/site-packages (from langchain-core<2.0.0,>=1.2.10->langchain) (0.7.7)\n", + "Requirement already satisfied: packaging>=23.2.0 in /usr/local/lib/python3.12/site-packages (from langchain-core<2.0.0,>=1.2.10->langchain) (26.0)\n", + "Requirement already satisfied: pyyaml<7.0.0,>=5.3.0 in /usr/local/lib/python3.12/site-packages (from langchain-core<2.0.0,>=1.2.10->langchain) (6.0.3)\n", + "Requirement already satisfied: tenacity!=8.4.0,<10.0.0,>=8.1.0 in /usr/local/lib/python3.12/site-packages (from langchain-core<2.0.0,>=1.2.10->langchain) (9.1.4)\n", + "Requirement already satisfied: typing-extensions<5.0.0,>=4.7.0 in /usr/local/lib/python3.12/site-packages (from langchain-core<2.0.0,>=1.2.10->langchain) (4.15.0)\n", + "Requirement already satisfied: uuid-utils<1.0,>=0.12.0 in /usr/local/lib/python3.12/site-packages (from langchain-core<2.0.0,>=1.2.10->langchain) (0.14.1)\n", + "Requirement already satisfied: jsonpointer>=1.9 in /usr/local/lib/python3.12/site-packages (from jsonpatch<2.0.0,>=1.33.0->langchain-core<2.0.0,>=1.2.10->langchain) (3.0.0)\n", + "Requirement already satisfied: langgraph-checkpoint<5.0.0,>=2.1.0 in /usr/local/lib/python3.12/site-packages (from langgraph<1.1.0,>=1.0.8->langchain) (4.0.0)\n", + "Requirement already satisfied: langgraph-prebuilt<1.1.0,>=1.0.8 in /usr/local/lib/python3.12/site-packages (from langgraph<1.1.0,>=1.0.8->langchain) (1.0.8)\n", + "Requirement already satisfied: langgraph-sdk<0.4.0,>=0.3.0 in /usr/local/lib/python3.12/site-packages (from langgraph<1.1.0,>=1.0.8->langchain) (0.3.9)\n", + "Requirement already satisfied: xxhash>=3.5.0 in /usr/local/lib/python3.12/site-packages (from langgraph<1.1.0,>=1.0.8->langchain) (3.6.0)\n", + "Requirement already satisfied: ormsgpack>=1.12.0 in /usr/local/lib/python3.12/site-packages (from langgraph-checkpoint<5.0.0,>=2.1.0->langgraph<1.1.0,>=1.0.8->langchain) (1.12.2)\n", + "Requirement already satisfied: httpx>=0.25.2 in /usr/local/lib/python3.12/site-packages (from langgraph-sdk<0.4.0,>=0.3.0->langgraph<1.1.0,>=1.0.8->langchain) (0.28.1)\n", + "Requirement already satisfied: orjson>=3.11.5 in /usr/local/lib/python3.12/site-packages (from langgraph-sdk<0.4.0,>=0.3.0->langgraph<1.1.0,>=1.0.8->langchain) (3.11.7)\n", + "Requirement already satisfied: requests-toolbelt>=1.0.0 in /usr/local/lib/python3.12/site-packages (from langsmith<1.0.0,>=0.3.45->langchain-core<2.0.0,>=1.2.10->langchain) (1.0.0)\n", + "Requirement already satisfied: requests>=2.0.0 in /usr/local/lib/python3.12/site-packages (from langsmith<1.0.0,>=0.3.45->langchain-core<2.0.0,>=1.2.10->langchain) (2.32.5)\n", + "Requirement already satisfied: zstandard>=0.23.0 in /usr/local/lib/python3.12/site-packages (from langsmith<1.0.0,>=0.3.45->langchain-core<2.0.0,>=1.2.10->langchain) (0.25.0)\n", + "Requirement already satisfied: anyio in /usr/local/lib/python3.12/site-packages (from httpx>=0.25.2->langgraph-sdk<0.4.0,>=0.3.0->langgraph<1.1.0,>=1.0.8->langchain) (4.12.1)\n", + "Requirement already satisfied: certifi in /usr/local/lib/python3.12/site-packages (from httpx>=0.25.2->langgraph-sdk<0.4.0,>=0.3.0->langgraph<1.1.0,>=1.0.8->langchain) (2026.1.4)\n", + "Requirement already satisfied: httpcore==1.* in /usr/local/lib/python3.12/site-packages (from httpx>=0.25.2->langgraph-sdk<0.4.0,>=0.3.0->langgraph<1.1.0,>=1.0.8->langchain) (1.0.9)\n", + "Requirement already satisfied: idna in /usr/local/lib/python3.12/site-packages (from httpx>=0.25.2->langgraph-sdk<0.4.0,>=0.3.0->langgraph<1.1.0,>=1.0.8->langchain) (3.11)\n", + "Requirement already satisfied: h11>=0.16 in /usr/local/lib/python3.12/site-packages (from httpcore==1.*->httpx>=0.25.2->langgraph-sdk<0.4.0,>=0.3.0->langgraph<1.1.0,>=1.0.8->langchain) (0.16.0)\n", + "Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.12/site-packages (from pydantic<3.0.0,>=2.7.4->langchain) (0.7.0)\n", + "Requirement already satisfied: pydantic-core==2.41.5 in /usr/local/lib/python3.12/site-packages (from pydantic<3.0.0,>=2.7.4->langchain) (2.41.5)\n", + "Requirement already satisfied: typing-inspection>=0.4.2 in /usr/local/lib/python3.12/site-packages (from pydantic<3.0.0,>=2.7.4->langchain) (0.4.2)\n", + "Requirement already satisfied: langchain-classic<2.0.0,>=1.0.0 in /usr/local/lib/python3.12/site-packages (from langchain_community) (1.0.1)\n", + "Requirement already satisfied: SQLAlchemy<3.0.0,>=1.4.0 in /usr/local/lib/python3.12/site-packages (from langchain_community) (2.0.47)\n", + "Requirement already satisfied: aiohttp<4.0.0,>=3.8.3 in /usr/local/lib/python3.12/site-packages (from langchain_community) (3.13.3)\n", + "Requirement already satisfied: dataclasses-json<0.7.0,>=0.6.7 in /usr/local/lib/python3.12/site-packages (from langchain_community) (0.6.7)\n", + "Requirement already satisfied: pydantic-settings<3.0.0,>=2.10.1 in /usr/local/lib/python3.12/site-packages (from langchain_community) (2.13.1)\n", + "Requirement already satisfied: httpx-sse<1.0.0,>=0.4.0 in /usr/local/lib/python3.12/site-packages (from langchain_community) (0.4.3)\n", + "Requirement already satisfied: numpy>=1.26.2 in /usr/local/lib/python3.12/site-packages (from langchain_community) (1.26.4)\n", + "Requirement already satisfied: aiohappyeyeballs>=2.5.0 in /usr/local/lib/python3.12/site-packages (from aiohttp<4.0.0,>=3.8.3->langchain_community) (2.6.1)\n", + "Requirement already satisfied: aiosignal>=1.4.0 in /usr/local/lib/python3.12/site-packages (from aiohttp<4.0.0,>=3.8.3->langchain_community) (1.4.0)\n", + "Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.12/site-packages (from aiohttp<4.0.0,>=3.8.3->langchain_community) (25.4.0)\n", + "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.12/site-packages (from aiohttp<4.0.0,>=3.8.3->langchain_community) (1.8.0)\n", + "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.12/site-packages (from aiohttp<4.0.0,>=3.8.3->langchain_community) (6.7.1)\n", + "Requirement already satisfied: propcache>=0.2.0 in /usr/local/lib/python3.12/site-packages (from aiohttp<4.0.0,>=3.8.3->langchain_community) (0.4.1)\n", + "Requirement already satisfied: yarl<2.0,>=1.17.0 in /usr/local/lib/python3.12/site-packages (from aiohttp<4.0.0,>=3.8.3->langchain_community) (1.22.0)\n", + "Requirement already satisfied: marshmallow<4.0.0,>=3.18.0 in /usr/local/lib/python3.12/site-packages (from dataclasses-json<0.7.0,>=0.6.7->langchain_community) (3.26.2)\n", + "Requirement already satisfied: typing-inspect<1,>=0.4.0 in /usr/local/lib/python3.12/site-packages (from dataclasses-json<0.7.0,>=0.6.7->langchain_community) (0.9.0)\n", + "Requirement already satisfied: langchain-text-splitters<2.0.0,>=1.1.0 in /usr/local/lib/python3.12/site-packages (from langchain-classic<2.0.0,>=1.0.0->langchain_community) (1.1.1)\n", + "Requirement already satisfied: python-dotenv>=0.21.0 in /usr/local/lib/python3.12/site-packages (from pydantic-settings<3.0.0,>=2.10.1->langchain_community) (1.2.1)\n", + "Requirement already satisfied: charset_normalizer<4,>=2 in /usr/local/lib/python3.12/site-packages (from requests>=2.0.0->langsmith<1.0.0,>=0.3.45->langchain-core<2.0.0,>=1.2.10->langchain) (3.4.4)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.12/site-packages (from requests>=2.0.0->langsmith<1.0.0,>=0.3.45->langchain-core<2.0.0,>=1.2.10->langchain) (1.26.20)\n", + "Requirement already satisfied: greenlet>=1 in /usr/local/lib/python3.12/site-packages (from SQLAlchemy<3.0.0,>=1.4.0->langchain_community) (3.3.2)\n", + "Requirement already satisfied: mypy-extensions>=0.3.0 in /usr/local/lib/python3.12/site-packages (from typing-inspect<1,>=0.4.0->dataclasses-json<0.7.0,>=0.6.7->langchain_community) (1.1.0)\n", + "\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.\u001b[0m\u001b[33m\n", + "\u001b[0mRequirement already satisfied: termcolor in /usr/local/lib/python3.12/site-packages (2.1.1)\n", + "Requirement already satisfied: langchain_openai in /usr/local/lib/python3.12/site-packages (1.1.10)\n", + "Requirement already satisfied: langchain-huggingface in /usr/local/lib/python3.12/site-packages (1.2.0)\n", + "Requirement already satisfied: sentence-transformers in /usr/local/lib/python3.12/site-packages (5.2.3)\n", + "Requirement already satisfied: chromadb in /usr/local/lib/python3.12/site-packages (1.5.1)\n", + "Requirement already satisfied: langchain_chroma in /usr/local/lib/python3.12/site-packages (1.1.0)\n", + "Requirement already satisfied: tiktoken in /usr/local/lib/python3.12/site-packages (0.12.0)\n", + "Requirement already satisfied: openai in /usr/local/lib/python3.12/site-packages (2.24.0)\n", + "Requirement already satisfied: python-dotenv in /usr/local/lib/python3.12/site-packages (1.2.1)\n", + "Requirement already satisfied: langchain-core<2.0.0,>=1.2.13 in /usr/local/lib/python3.12/site-packages (from langchain_openai) (1.2.16)\n", + "Requirement already satisfied: regex>=2022.1.18 in /usr/local/lib/python3.12/site-packages (from tiktoken) (2026.2.19)\n", + "Requirement already satisfied: requests>=2.26.0 in /usr/local/lib/python3.12/site-packages (from tiktoken) (2.32.5)\n", + "Requirement already satisfied: anyio<5,>=3.5.0 in /usr/local/lib/python3.12/site-packages (from openai) (4.12.1)\n", + "Requirement already satisfied: distro<2,>=1.7.0 in /usr/local/lib/python3.12/site-packages (from openai) (1.9.0)\n", + "Requirement already satisfied: httpx<1,>=0.23.0 in /usr/local/lib/python3.12/site-packages (from openai) (0.28.1)\n", + "Requirement already satisfied: jiter<1,>=0.10.0 in /usr/local/lib/python3.12/site-packages (from openai) (0.13.0)\n", + "Requirement already satisfied: pydantic<3,>=1.9.0 in /usr/local/lib/python3.12/site-packages (from openai) (2.12.5)\n", + "Requirement already satisfied: sniffio in /usr/local/lib/python3.12/site-packages (from openai) (1.3.1)\n", + "Requirement already satisfied: tqdm>4 in /usr/local/lib/python3.12/site-packages (from openai) (4.67.1)\n", + "Requirement already satisfied: typing-extensions<5,>=4.11 in /usr/local/lib/python3.12/site-packages (from openai) (4.15.0)\n", + "Requirement already satisfied: idna>=2.8 in /usr/local/lib/python3.12/site-packages (from anyio<5,>=3.5.0->openai) (3.11)\n", + "Requirement already satisfied: certifi in /usr/local/lib/python3.12/site-packages (from httpx<1,>=0.23.0->openai) (2026.1.4)\n", + "Requirement already satisfied: httpcore==1.* in /usr/local/lib/python3.12/site-packages (from httpx<1,>=0.23.0->openai) (1.0.9)\n", + "Requirement already satisfied: h11>=0.16 in /usr/local/lib/python3.12/site-packages (from httpcore==1.*->httpx<1,>=0.23.0->openai) (0.16.0)\n", + "Requirement already satisfied: jsonpatch<2.0.0,>=1.33.0 in /usr/local/lib/python3.12/site-packages (from langchain-core<2.0.0,>=1.2.13->langchain_openai) (1.33)\n", + "Requirement already satisfied: langsmith<1.0.0,>=0.3.45 in /usr/local/lib/python3.12/site-packages (from langchain-core<2.0.0,>=1.2.13->langchain_openai) (0.7.7)\n", + "Requirement already satisfied: packaging>=23.2.0 in /usr/local/lib/python3.12/site-packages (from langchain-core<2.0.0,>=1.2.13->langchain_openai) (26.0)\n", + "Requirement already satisfied: pyyaml<7.0.0,>=5.3.0 in /usr/local/lib/python3.12/site-packages (from langchain-core<2.0.0,>=1.2.13->langchain_openai) (6.0.3)\n", + "Requirement already satisfied: tenacity!=8.4.0,<10.0.0,>=8.1.0 in /usr/local/lib/python3.12/site-packages (from langchain-core<2.0.0,>=1.2.13->langchain_openai) (9.1.4)\n", + "Requirement already satisfied: uuid-utils<1.0,>=0.12.0 in /usr/local/lib/python3.12/site-packages (from langchain-core<2.0.0,>=1.2.13->langchain_openai) (0.14.1)\n", + "Requirement already satisfied: jsonpointer>=1.9 in /usr/local/lib/python3.12/site-packages (from jsonpatch<2.0.0,>=1.33.0->langchain-core<2.0.0,>=1.2.13->langchain_openai) (3.0.0)\n", + "Requirement already satisfied: orjson>=3.9.14 in /usr/local/lib/python3.12/site-packages (from langsmith<1.0.0,>=0.3.45->langchain-core<2.0.0,>=1.2.13->langchain_openai) (3.11.7)\n", + "Requirement already satisfied: requests-toolbelt>=1.0.0 in /usr/local/lib/python3.12/site-packages (from langsmith<1.0.0,>=0.3.45->langchain-core<2.0.0,>=1.2.13->langchain_openai) (1.0.0)\n", + "Requirement already satisfied: xxhash>=3.0.0 in /usr/local/lib/python3.12/site-packages (from langsmith<1.0.0,>=0.3.45->langchain-core<2.0.0,>=1.2.13->langchain_openai) (3.6.0)\n", + "Requirement already satisfied: zstandard>=0.23.0 in /usr/local/lib/python3.12/site-packages (from langsmith<1.0.0,>=0.3.45->langchain-core<2.0.0,>=1.2.13->langchain_openai) (0.25.0)\n", + "Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.12/site-packages (from pydantic<3,>=1.9.0->openai) (0.7.0)\n", + "Requirement already satisfied: pydantic-core==2.41.5 in /usr/local/lib/python3.12/site-packages (from pydantic<3,>=1.9.0->openai) (2.41.5)\n", + "Requirement already satisfied: typing-inspection>=0.4.2 in /usr/local/lib/python3.12/site-packages (from pydantic<3,>=1.9.0->openai) (0.4.2)\n", + "Requirement already satisfied: huggingface-hub<1.0.0,>=0.33.4 in /usr/local/lib/python3.12/site-packages (from langchain-huggingface) (0.36.2)\n", + "Requirement already satisfied: tokenizers<1.0.0,>=0.19.1 in /usr/local/lib/python3.12/site-packages (from langchain-huggingface) (0.22.2)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.12/site-packages (from huggingface-hub<1.0.0,>=0.33.4->langchain-huggingface) (3.24.3)\n", + "Requirement already satisfied: fsspec>=2023.5.0 in /usr/local/lib/python3.12/site-packages (from huggingface-hub<1.0.0,>=0.33.4->langchain-huggingface) (2026.2.0)\n", + "Requirement already satisfied: hf-xet<2.0.0,>=1.1.3 in /usr/local/lib/python3.12/site-packages (from huggingface-hub<1.0.0,>=0.33.4->langchain-huggingface) (1.3.1)\n", + "Requirement already satisfied: transformers<6.0.0,>=4.41.0 in /usr/local/lib/python3.12/site-packages (from sentence-transformers) (4.57.6)\n", + "Requirement already satisfied: torch>=1.11.0 in /usr/local/lib/python3.12/site-packages (from sentence-transformers) (2.9.1+rocm6.3)\n", + "Requirement already satisfied: numpy in /usr/local/lib/python3.12/site-packages (from sentence-transformers) (1.26.4)\n", + "Requirement already satisfied: scikit-learn in /usr/local/lib/python3.12/site-packages (from sentence-transformers) (1.8.0)\n", + "Requirement already satisfied: scipy in /usr/local/lib/python3.12/site-packages (from sentence-transformers) (1.13.1)\n", + "Requirement already satisfied: safetensors>=0.4.3 in /usr/local/lib/python3.12/site-packages (from transformers<6.0.0,>=4.41.0->sentence-transformers) (0.7.0)\n", + "Requirement already satisfied: build>=1.0.3 in /usr/local/lib/python3.12/site-packages (from chromadb) (1.4.0)\n", + "Requirement already satisfied: pybase64>=1.4.1 in /usr/local/lib/python3.12/site-packages (from chromadb) (1.4.3)\n", + "Requirement already satisfied: uvicorn>=0.18.3 in /usr/local/lib/python3.12/site-packages (from uvicorn[standard]>=0.18.3->chromadb) (0.41.0)\n", + "Requirement already satisfied: posthog<6.0.0,>=2.4.0 in /usr/local/lib/python3.12/site-packages (from chromadb) (5.4.0)\n", + "Requirement already satisfied: onnxruntime>=1.14.1 in /usr/local/lib/python3.12/site-packages (from chromadb) (1.24.2)\n", + "Requirement already satisfied: opentelemetry-api>=1.2.0 in /usr/local/lib/python3.12/site-packages (from chromadb) (1.39.1)\n", + "Requirement already satisfied: opentelemetry-exporter-otlp-proto-grpc>=1.2.0 in /usr/local/lib/python3.12/site-packages (from chromadb) (1.39.1)\n", + "Requirement already satisfied: opentelemetry-sdk>=1.2.0 in /usr/local/lib/python3.12/site-packages (from chromadb) (1.39.1)\n", + "Requirement already satisfied: pypika>=0.48.9 in /usr/local/lib/python3.12/site-packages (from chromadb) (0.51.1)\n", + "Requirement already satisfied: overrides>=7.3.1 in /usr/local/lib/python3.12/site-packages (from chromadb) (7.7.0)\n", + "Requirement already satisfied: importlib-resources in /usr/local/lib/python3.12/site-packages (from chromadb) (6.5.2)\n", + "Requirement already satisfied: grpcio>=1.58.0 in /usr/local/lib/python3.12/site-packages (from chromadb) (1.78.0)\n", + "Requirement already satisfied: bcrypt>=4.0.1 in /usr/local/lib/python3.12/site-packages (from chromadb) (5.0.0)\n", + "Requirement already satisfied: typer>=0.9.0 in /usr/local/lib/python3.12/site-packages (from chromadb) (0.24.1)\n", + "Requirement already satisfied: kubernetes>=28.1.0 in /usr/local/lib/python3.12/site-packages (from chromadb) (35.0.0)\n", + "Requirement already satisfied: mmh3>=4.0.1 in /usr/local/lib/python3.12/site-packages (from chromadb) (5.2.0)\n", + "Requirement already satisfied: rich>=10.11.0 in /usr/local/lib/python3.12/site-packages (from chromadb) (14.2.0)\n", + "Requirement already satisfied: jsonschema>=4.19.0 in /usr/local/lib/python3.12/site-packages (from chromadb) (4.26.0)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.12/site-packages (from posthog<6.0.0,>=2.4.0->chromadb) (1.16.0)\n", + "Requirement already satisfied: python-dateutil>=2.2 in /usr/local/lib/python3.12/site-packages (from posthog<6.0.0,>=2.4.0->chromadb) (2.9.0.post0)\n", + "Requirement already satisfied: backoff>=1.10.0 in /usr/local/lib/python3.12/site-packages (from posthog<6.0.0,>=2.4.0->chromadb) (2.2.1)\n", + "Requirement already satisfied: charset_normalizer<4,>=2 in /usr/local/lib/python3.12/site-packages (from requests>=2.26.0->tiktoken) (3.4.4)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.12/site-packages (from requests>=2.26.0->tiktoken) (1.26.20)\n", + "Requirement already satisfied: pyproject_hooks in /usr/local/lib/python3.12/site-packages (from build>=1.0.3->chromadb) (1.2.0)\n", + "Requirement already satisfied: attrs>=22.2.0 in /usr/local/lib/python3.12/site-packages (from jsonschema>=4.19.0->chromadb) (25.4.0)\n", + "Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /usr/local/lib/python3.12/site-packages (from jsonschema>=4.19.0->chromadb) (2025.9.1)\n", + "Requirement already satisfied: referencing>=0.28.4 in /usr/local/lib/python3.12/site-packages (from jsonschema>=4.19.0->chromadb) (0.37.0)\n", + "Requirement already satisfied: rpds-py>=0.25.0 in /usr/local/lib/python3.12/site-packages (from jsonschema>=4.19.0->chromadb) (0.30.0)\n", + "Requirement already satisfied: websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0 in /usr/local/lib/python3.12/site-packages (from kubernetes>=28.1.0->chromadb) (1.9.0)\n", + "Requirement already satisfied: requests-oauthlib in /usr/local/lib/python3.12/site-packages (from kubernetes>=28.1.0->chromadb) (2.0.0)\n", + "Requirement already satisfied: durationpy>=0.7 in /usr/local/lib/python3.12/site-packages (from kubernetes>=28.1.0->chromadb) (0.10)\n", + "Requirement already satisfied: flatbuffers in /usr/local/lib/python3.12/site-packages (from onnxruntime>=1.14.1->chromadb) (24.3.25)\n", + "Requirement already satisfied: protobuf in /usr/local/lib/python3.12/site-packages (from onnxruntime>=1.14.1->chromadb) (6.32.1)\n", + "Requirement already satisfied: sympy in /usr/local/lib/python3.12/site-packages (from onnxruntime>=1.14.1->chromadb) (1.14.0)\n", + "Requirement already satisfied: importlib-metadata<8.8.0,>=6.0 in /usr/local/lib/python3.12/site-packages (from opentelemetry-api>=1.2.0->chromadb) (8.7.1)\n", + "Requirement already satisfied: zipp>=3.20 in /usr/local/lib/python3.12/site-packages (from importlib-metadata<8.8.0,>=6.0->opentelemetry-api>=1.2.0->chromadb) (3.23.0)\n", + "Requirement already satisfied: googleapis-common-protos~=1.57 in /usr/local/lib/python3.12/site-packages (from opentelemetry-exporter-otlp-proto-grpc>=1.2.0->chromadb) (1.72.0)\n", + "Requirement already satisfied: opentelemetry-exporter-otlp-proto-common==1.39.1 in /usr/local/lib/python3.12/site-packages (from opentelemetry-exporter-otlp-proto-grpc>=1.2.0->chromadb) (1.39.1)\n", + "Requirement already satisfied: opentelemetry-proto==1.39.1 in /usr/local/lib/python3.12/site-packages (from opentelemetry-exporter-otlp-proto-grpc>=1.2.0->chromadb) (1.39.1)\n", + "Requirement already satisfied: opentelemetry-semantic-conventions==0.60b1 in /usr/local/lib/python3.12/site-packages (from opentelemetry-sdk>=1.2.0->chromadb) (0.60b1)\n", + "Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.12/site-packages (from rich>=10.11.0->chromadb) (4.0.0)\n", + "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /usr/local/lib/python3.12/site-packages (from rich>=10.11.0->chromadb) (2.19.2)\n", + "Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.12/site-packages (from markdown-it-py>=2.2.0->rich>=10.11.0->chromadb) (0.1.2)\n", + "Requirement already satisfied: setuptools in /usr/local/lib/python3.12/site-packages (from torch>=1.11.0->sentence-transformers) (82.0.0)\n", + "Requirement already satisfied: networkx>=2.5.1 in /usr/local/lib/python3.12/site-packages (from torch>=1.11.0->sentence-transformers) (3.6.1)\n", + "Requirement already satisfied: jinja2 in /usr/local/lib/python3.12/site-packages (from torch>=1.11.0->sentence-transformers) (3.1.6)\n", + "Requirement already satisfied: pytorch-triton-rocm==3.5.1 in /usr/local/lib/python3.12/site-packages (from torch>=1.11.0->sentence-transformers) (3.5.1)\n", + "Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.12/site-packages (from sympy->onnxruntime>=1.14.1->chromadb) (1.3.0)\n", + "Requirement already satisfied: click>=8.2.1 in /usr/local/lib/python3.12/site-packages (from typer>=0.9.0->chromadb) (8.3.1)\n", + "Requirement already satisfied: shellingham>=1.3.0 in /usr/local/lib/python3.12/site-packages (from typer>=0.9.0->chromadb) (1.5.4)\n", + "Requirement already satisfied: annotated-doc>=0.0.2 in /usr/local/lib/python3.12/site-packages (from typer>=0.9.0->chromadb) (0.0.4)\n", + "Requirement already satisfied: httptools>=0.6.3 in /usr/local/lib/python3.12/site-packages (from uvicorn[standard]>=0.18.3->chromadb) (0.7.1)\n", + "Requirement already satisfied: uvloop>=0.15.1 in /usr/local/lib/python3.12/site-packages (from uvicorn[standard]>=0.18.3->chromadb) (0.22.1)\n", + "Requirement already satisfied: watchfiles>=0.20 in /usr/local/lib/python3.12/site-packages (from uvicorn[standard]>=0.18.3->chromadb) (1.1.1)\n", + "Requirement already satisfied: websockets>=10.4 in /usr/local/lib/python3.12/site-packages (from uvicorn[standard]>=0.18.3->chromadb) (16.0)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.12/site-packages (from jinja2->torch>=1.11.0->sentence-transformers) (3.0.3)\n", + "Requirement already satisfied: oauthlib>=3.0.0 in /usr/local/lib/python3.12/site-packages (from requests-oauthlib->kubernetes>=28.1.0->chromadb) (3.3.1)\n", + "Requirement already satisfied: joblib>=1.3.0 in /usr/local/lib/python3.12/site-packages (from scikit-learn->sentence-transformers) (1.5.3)\n", + "Requirement already satisfied: threadpoolctl>=3.2.0 in /usr/local/lib/python3.12/site-packages (from scikit-learn->sentence-transformers) (3.6.0)\n", + "\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.\u001b[0m\u001b[33m\n", + "\u001b[0mRequirement already satisfied: langchain in /usr/local/lib/python3.12/site-packages (1.2.10)\n", + "Requirement already satisfied: langchain-community in /usr/local/lib/python3.12/site-packages (0.4.1)\n", + "Requirement already satisfied: langchain-text-splitters in /usr/local/lib/python3.12/site-packages (1.1.1)\n", + "Requirement already satisfied: pypdf in /usr/local/lib/python3.12/site-packages (6.7.4)\n", + "Requirement already satisfied: langchain-core<2.0.0,>=1.2.10 in /usr/local/lib/python3.12/site-packages (from langchain) (1.2.16)\n", + "Requirement already satisfied: langgraph<1.1.0,>=1.0.8 in /usr/local/lib/python3.12/site-packages (from langchain) (1.0.9)\n", + "Requirement already satisfied: pydantic<3.0.0,>=2.7.4 in /usr/local/lib/python3.12/site-packages (from langchain) (2.12.5)\n", + "Requirement already satisfied: jsonpatch<2.0.0,>=1.33.0 in /usr/local/lib/python3.12/site-packages (from langchain-core<2.0.0,>=1.2.10->langchain) (1.33)\n", + "Requirement already satisfied: langsmith<1.0.0,>=0.3.45 in /usr/local/lib/python3.12/site-packages (from langchain-core<2.0.0,>=1.2.10->langchain) (0.7.7)\n", + "Requirement already satisfied: packaging>=23.2.0 in /usr/local/lib/python3.12/site-packages (from langchain-core<2.0.0,>=1.2.10->langchain) (26.0)\n", + "Requirement already satisfied: pyyaml<7.0.0,>=5.3.0 in /usr/local/lib/python3.12/site-packages (from langchain-core<2.0.0,>=1.2.10->langchain) (6.0.3)\n", + "Requirement already satisfied: tenacity!=8.4.0,<10.0.0,>=8.1.0 in /usr/local/lib/python3.12/site-packages (from langchain-core<2.0.0,>=1.2.10->langchain) (9.1.4)\n", + "Requirement already satisfied: typing-extensions<5.0.0,>=4.7.0 in /usr/local/lib/python3.12/site-packages (from langchain-core<2.0.0,>=1.2.10->langchain) (4.15.0)\n", + "Requirement already satisfied: uuid-utils<1.0,>=0.12.0 in /usr/local/lib/python3.12/site-packages (from langchain-core<2.0.0,>=1.2.10->langchain) (0.14.1)\n", + "Requirement already satisfied: jsonpointer>=1.9 in /usr/local/lib/python3.12/site-packages (from jsonpatch<2.0.0,>=1.33.0->langchain-core<2.0.0,>=1.2.10->langchain) (3.0.0)\n", + "Requirement already satisfied: langgraph-checkpoint<5.0.0,>=2.1.0 in /usr/local/lib/python3.12/site-packages (from langgraph<1.1.0,>=1.0.8->langchain) (4.0.0)\n", + "Requirement already satisfied: langgraph-prebuilt<1.1.0,>=1.0.8 in /usr/local/lib/python3.12/site-packages (from langgraph<1.1.0,>=1.0.8->langchain) (1.0.8)\n", + "Requirement already satisfied: langgraph-sdk<0.4.0,>=0.3.0 in /usr/local/lib/python3.12/site-packages (from langgraph<1.1.0,>=1.0.8->langchain) (0.3.9)\n", + "Requirement already satisfied: xxhash>=3.5.0 in /usr/local/lib/python3.12/site-packages (from langgraph<1.1.0,>=1.0.8->langchain) (3.6.0)\n", + "Requirement already satisfied: ormsgpack>=1.12.0 in /usr/local/lib/python3.12/site-packages (from langgraph-checkpoint<5.0.0,>=2.1.0->langgraph<1.1.0,>=1.0.8->langchain) (1.12.2)\n", + "Requirement already satisfied: httpx>=0.25.2 in /usr/local/lib/python3.12/site-packages (from langgraph-sdk<0.4.0,>=0.3.0->langgraph<1.1.0,>=1.0.8->langchain) (0.28.1)\n", + "Requirement already satisfied: orjson>=3.11.5 in /usr/local/lib/python3.12/site-packages (from langgraph-sdk<0.4.0,>=0.3.0->langgraph<1.1.0,>=1.0.8->langchain) (3.11.7)\n", + "Requirement already satisfied: requests-toolbelt>=1.0.0 in /usr/local/lib/python3.12/site-packages (from langsmith<1.0.0,>=0.3.45->langchain-core<2.0.0,>=1.2.10->langchain) (1.0.0)\n", + "Requirement already satisfied: requests>=2.0.0 in /usr/local/lib/python3.12/site-packages (from langsmith<1.0.0,>=0.3.45->langchain-core<2.0.0,>=1.2.10->langchain) (2.32.5)\n", + "Requirement already satisfied: zstandard>=0.23.0 in /usr/local/lib/python3.12/site-packages (from langsmith<1.0.0,>=0.3.45->langchain-core<2.0.0,>=1.2.10->langchain) (0.25.0)\n", + "Requirement already satisfied: anyio in /usr/local/lib/python3.12/site-packages (from httpx>=0.25.2->langgraph-sdk<0.4.0,>=0.3.0->langgraph<1.1.0,>=1.0.8->langchain) (4.12.1)\n", + "Requirement already satisfied: certifi in /usr/local/lib/python3.12/site-packages (from httpx>=0.25.2->langgraph-sdk<0.4.0,>=0.3.0->langgraph<1.1.0,>=1.0.8->langchain) (2026.1.4)\n", + "Requirement already satisfied: httpcore==1.* in /usr/local/lib/python3.12/site-packages (from httpx>=0.25.2->langgraph-sdk<0.4.0,>=0.3.0->langgraph<1.1.0,>=1.0.8->langchain) (1.0.9)\n", + "Requirement already satisfied: idna in /usr/local/lib/python3.12/site-packages (from httpx>=0.25.2->langgraph-sdk<0.4.0,>=0.3.0->langgraph<1.1.0,>=1.0.8->langchain) (3.11)\n", + "Requirement already satisfied: h11>=0.16 in /usr/local/lib/python3.12/site-packages (from httpcore==1.*->httpx>=0.25.2->langgraph-sdk<0.4.0,>=0.3.0->langgraph<1.1.0,>=1.0.8->langchain) (0.16.0)\n", + "Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.12/site-packages (from pydantic<3.0.0,>=2.7.4->langchain) (0.7.0)\n", + "Requirement already satisfied: pydantic-core==2.41.5 in /usr/local/lib/python3.12/site-packages (from pydantic<3.0.0,>=2.7.4->langchain) (2.41.5)\n", + "Requirement already satisfied: typing-inspection>=0.4.2 in /usr/local/lib/python3.12/site-packages (from pydantic<3.0.0,>=2.7.4->langchain) (0.4.2)\n", + "Requirement already satisfied: langchain-classic<2.0.0,>=1.0.0 in /usr/local/lib/python3.12/site-packages (from langchain-community) (1.0.1)\n", + "Requirement already satisfied: SQLAlchemy<3.0.0,>=1.4.0 in /usr/local/lib/python3.12/site-packages (from langchain-community) (2.0.47)\n", + "Requirement already satisfied: aiohttp<4.0.0,>=3.8.3 in /usr/local/lib/python3.12/site-packages (from langchain-community) (3.13.3)\n", + "Requirement already satisfied: dataclasses-json<0.7.0,>=0.6.7 in /usr/local/lib/python3.12/site-packages (from langchain-community) (0.6.7)\n", + "Requirement already satisfied: pydantic-settings<3.0.0,>=2.10.1 in /usr/local/lib/python3.12/site-packages (from langchain-community) (2.13.1)\n", + "Requirement already satisfied: httpx-sse<1.0.0,>=0.4.0 in /usr/local/lib/python3.12/site-packages (from langchain-community) (0.4.3)\n", + "Requirement already satisfied: numpy>=1.26.2 in /usr/local/lib/python3.12/site-packages (from langchain-community) (1.26.4)\n", + "Requirement already satisfied: aiohappyeyeballs>=2.5.0 in /usr/local/lib/python3.12/site-packages (from aiohttp<4.0.0,>=3.8.3->langchain-community) (2.6.1)\n", + "Requirement already satisfied: aiosignal>=1.4.0 in /usr/local/lib/python3.12/site-packages (from aiohttp<4.0.0,>=3.8.3->langchain-community) (1.4.0)\n", + "Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.12/site-packages (from aiohttp<4.0.0,>=3.8.3->langchain-community) (25.4.0)\n", + "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.12/site-packages (from aiohttp<4.0.0,>=3.8.3->langchain-community) (1.8.0)\n", + "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.12/site-packages (from aiohttp<4.0.0,>=3.8.3->langchain-community) (6.7.1)\n", + "Requirement already satisfied: propcache>=0.2.0 in /usr/local/lib/python3.12/site-packages (from aiohttp<4.0.0,>=3.8.3->langchain-community) (0.4.1)\n", + "Requirement already satisfied: yarl<2.0,>=1.17.0 in /usr/local/lib/python3.12/site-packages (from aiohttp<4.0.0,>=3.8.3->langchain-community) (1.22.0)\n", + "Requirement already satisfied: marshmallow<4.0.0,>=3.18.0 in /usr/local/lib/python3.12/site-packages (from dataclasses-json<0.7.0,>=0.6.7->langchain-community) (3.26.2)\n", + "Requirement already satisfied: typing-inspect<1,>=0.4.0 in /usr/local/lib/python3.12/site-packages (from dataclasses-json<0.7.0,>=0.6.7->langchain-community) (0.9.0)\n", + "Requirement already satisfied: python-dotenv>=0.21.0 in /usr/local/lib/python3.12/site-packages (from pydantic-settings<3.0.0,>=2.10.1->langchain-community) (1.2.1)\n", + "Requirement already satisfied: charset_normalizer<4,>=2 in /usr/local/lib/python3.12/site-packages (from requests>=2.0.0->langsmith<1.0.0,>=0.3.45->langchain-core<2.0.0,>=1.2.10->langchain) (3.4.4)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.12/site-packages (from requests>=2.0.0->langsmith<1.0.0,>=0.3.45->langchain-core<2.0.0,>=1.2.10->langchain) (1.26.20)\n", + "Requirement already satisfied: greenlet>=1 in /usr/local/lib/python3.12/site-packages (from SQLAlchemy<3.0.0,>=1.4.0->langchain-community) (3.3.2)\n", + "Requirement already satisfied: mypy-extensions>=0.3.0 in /usr/local/lib/python3.12/site-packages (from typing-inspect<1,>=0.4.0->dataclasses-json<0.7.0,>=0.6.7->langchain-community) (1.1.0)\n", + "\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.\u001b[0m\u001b[33m\n", + "\u001b[0m" + ] + } + ], + "source": [ + "!pip install langchain langchain_community pypdf\n", + "!pip install termcolor langchain_openai langchain-huggingface sentence-transformers chromadb langchain_chroma tiktoken openai python-dotenv\n", + "!pip install -U langchain langchain-community langchain-text-splitters pypdf" + ] + }, + { + "cell_type": "code", + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ - "%pip install langchain langchain_community pypdf\n", - "%pip install termcolor langchain_openai langchain-huggingface sentence-transformers chromadb langchain_chroma tiktoken openai python-dotenv\n" + "from langchain_text_splitters import CharacterTextSplitter, RecursiveCharacterTextSplitter" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "metadata": { "id": "6heKZkQUxYZr" }, "outputs": [], "source": [ "import os\n", - "from langchain.document_loaders import PyPDFLoader\n", - "from langchain.text_splitter import CharacterTextSplitter, RecursiveCharacterTextSplitter\n", + "from langchain_community.document_loaders import PyPDFLoader ## was wrong\n", + "# from langchain.text_splitter import CharacterTextSplitter, RecursiveCharacterTextSplitter ## is wrong\n", "import warnings\n", "warnings.filterwarnings('ignore')\n" ] @@ -96,7 +333,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": { "id": "cuREtJRixYZt" }, @@ -104,7 +341,7 @@ "source": [ "# File path for the document\n", "\n", - "file_path = \"LAB/ai-for-everyone.pdf\"" + "file_path = \"../ai-for-everyone.pdf\"" ] }, { @@ -122,12 +359,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "metadata": { "id": "_b5Z_45UxYZu", "outputId": "a600d69f-14fe-4492-f236-97261d6ff36c" }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "297" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Load and split the document\n", "loader = PyPDFLoader(file_path)\n", @@ -168,9 +416,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "1096" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "text_splitter = RecursiveCharacterTextSplitter(\n", " chunk_size=1000,\n", @@ -285,31 +544,42 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "metadata": { "id": "L0xDxElwxYZw" }, "outputs": [], "source": [ - "from langchain.embeddings import OpenAIEmbeddings\n", + "from langchain_community.embeddings import OpenAIEmbeddings ## Was wrong\n", "from dotenv import load_dotenv" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 28, "metadata": { "id": "_WRIo3_0xYZx", "outputId": "78bfbbf3-9d25-4e31-bdbc-3e932e6bbfec" }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "load_dotenv()" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 89, "metadata": { "id": "MNZfTng5xYZz", "outputId": "db1a7c85-ef9f-447e-92cd-9d097e959847" @@ -317,7 +587,9 @@ "outputs": [], "source": [ "api_key = os.getenv(\"OPENAI_API_KEY\")\n", - "embeddings = OpenAIEmbeddings(model=\"text-embedding-3-large\")" + "embeddings = OpenAIEmbeddings(\n", + " model=\"text-embedding-3-small\",\n", + " openai_api_key = api_key)" ] }, { @@ -343,23 +615,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 90, "metadata": { "id": "brKe6wUgxYZ0" }, "outputs": [], "source": [ - "from langchain.vectorstores import Chroma" + "from langchain_community.vectorstores import Chroma ## was wrong" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 91, "metadata": { "id": "VkjHR-RkxYZ0", "outputId": "bc11bda9-f283-457a-f584-5a06b95c4dd9" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ChromaDB created with document embeddings.\n" + ] + } + ], "source": [ "db = Chroma.from_documents(chunks, embeddings, persist_directory=\"./chroma_db_LAB\")\n", "print(\"ChromaDB created with document embeddings.\")" @@ -389,7 +669,7 @@ }, "outputs": [], "source": [ - "user_question = \"\" # User question\n", + "user_question = \"What topics does this book cover?\" # User question # what is this book about was the orignial question, the new one always results in mutilingual gibberish being added at the end.\n", "retrieved_docs = db.similarity_search(user_question, k=10) # k is the number of documents to retrieve" ] }, @@ -400,7 +680,55 @@ "id": "qgWsh50JxYZ1", "outputId": "c8640c5d-5955-471f-fdd2-37096f5f68c7" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Document 1:\n", + "vestigates the normative projections of what \n", + "AI should be and what it should do. This section poses critical questions about \n", + "how AI needs to debunk the myths surrounding it.\n", + "Part 3: AI Power and Inequalities – advances the debate around AI by criti -\n", + "cally examining what ‘ AI for Everyone?’ means. This is dealing with the root of \n", + "the problem: who will benefit from AI is ultimately down to who has the power \n", + "to decide. These contributions look at how AI capitalism is organised, what \n", + "(new) inequalities it might bring about and how we can fight back.\n", + "Why do we need a book on AI for Everyone? and why do we need it now? \n", + "The 2007–2008 financial crisis, and the resulting global economic crisis, has not \n", + "only brought about a decade of austerity in large parts of the Western world; \n", + "it has also been the context in which social media and digital platforms have \n", + "transformed into behemoths. Tech companies are now dominating the top 10\n", + "Document 2:\n", + " it looks at issues about AI, power and inequalities, investi -\n", + "gating where the risks of exclusion are and how we should deal with this. \n", + "The book also brings diverse and critical voices to this debate. Whereas AI \n", + "as a discipline has been dominated by white, male, predominantly older scien-\n", + "tists from mathematical disciplines, this collection brings perspectives that are \n", + "characterised by a strong diversity in authorship and discipline. And threading \n", + "through all, the contributions offer a discussion of different tangents of power \n", + "and political economy in the field of AI and society.\n", + "The first task is to name our terms. For a concept that has been with us for so \n", + "long, there is little consensus on how to define it. The history of debating AI is \n", + "almost as old as AI itself. There is more debate than agreement about what AI \n", + "is and what it is not, and the only thing generally agreed is that there is no\n", + "Document 3:\n", + "erspectives on AI 15\n", + "elaborates on how humans and machines have to coexist in the age of AI. \n", + "Wolfgang Hofkirchner ( Chapter 3 ) continues the discussion about humans \n", + "versus machines by analysing what Digital Humanism exactly entails. He pro-\n", + "poses dialectical models in order to overcome the human–machine dualism. \n", + "Jenna Ng (Chapter 4) adds to this discussion by elaborating on the rationalisa-\n", + "tion of AI and what this means for creativity. Dan McQuillan (Chapter 5) has \n", + "a different take on humanism and proposes how people’s councils for AI can \n", + "serve solidarity and mutual aid in times of crisis.\n", + "Part 2: Discourses and Myths About AI is comprised of five chapters. Rainer \n", + "Rehak (Chapter 6) stresses the importance but also limitations of metaphors \n", + "when talking about AI and intelligent systems. Angela Daly, S. Kate Devitt and \n", + "Monique Mann (Chapter 7) introduce and discuss their Good Data approach in\n" + ] + } + ], "source": [ "# Display top results\n", "for i, doc in enumerate(retrieved_docs[:3]): # Display top 3 results\n", @@ -439,7 +767,15 @@ "id": "2okzmuADxYZ2", "outputId": "0aa6cdca-188d-40e0-f5b4-8888d3549ea4" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Context formatted for GPT model.\n" + ] + } + ], "source": [ "# Generate a formatted context from the retrieved documents\n", "formatted_context = _get_document_prompt(retrieved_docs)\n", @@ -464,22 +800,27 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 74, "metadata": { "id": "tqxVh9s3xYZ3", "outputId": "97cca95d-4ab3-44d8-a76c-5713aad387d8" }, "outputs": [], "source": [ - "prompt = f\"\"\"\n", - "\n", + "prompt = f\"\"\" Summarise the contents of the supplied documents so that a child could understand.\n", + "Use information only found in the provided content.\n", + "Do not add information that is not found in the provided text.\n", + "Child friendly language is mandatory.\n", + "Answer only in english.\n", + "Simplicity is a target.\n", "\n", + "the provided content: {formatted_context}\n", "\"\"\"\n" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 75, "metadata": { "id": "0mjkQJ_ZxYZ3" }, @@ -497,7 +838,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 82, "metadata": { "id": "ylypRWRlxYZ4" }, @@ -506,12 +847,12 @@ "# Set up GPT client and parameters\n", "client = openai.OpenAI()\n", "model_params = {\n", - " 'model': 'gpt-4o',\n", - " 'temperature': , # Increase creativity\n", - " 'max_tokens': , # Allow for longer responses\n", - " 'top_p': , # Use nucleus sampling\n", - " 'frequency_penalty': , # Reduce repetition\n", - " 'presence_penalty': # Encourage new topics\n", + " 'model': 'gpt-4o-mini',\n", + " 'temperature': 0.5 , # Increase creativity\n", + " 'max_tokens': 500 , # Allow for longer responses\n", + " 'top_p': 1, # Use nucleus sampling\n", + " 'frequency_penalty': 1, # Reduce repetition\n", + " 'presence_penalty': 1 # Encourage new topics\n", "}" ] }, @@ -526,7 +867,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 83, "metadata": { "id": "4eXZO4pIxYZ4" }, @@ -538,12 +879,32 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 84, "metadata": { "id": "wLPAcchBxYZ5", "outputId": "976c7800-16ed-41fe-c4cf-58f60d3230d2" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "This book talks about Artificial Intelligence (AI), which is like a smart machine that can help people. It asks important questions about AI, like who gets to decide how it works and who benefits from it. \n", + "\n", + "The book has different parts:\n", + "\n", + "1. **Humans vs. Machines**: This part looks at how people and machines can work together and what makes machines smart.\n", + "\n", + "2. **Discourses and Myths About AI**: Here, the authors discuss stories and ideas we hear about AI in the news and online, helping us understand what good or bad AI should be.\n", + "\n", + "3. **AI Power and Inequalities**: This section talks about fairness—who gets access to AI's benefits—and why some people might get left out.\n", + "\n", + "The writers come from many backgrounds, making sure lots of voices are heard in this discussion because it's important for everyone to have a say in how technology affects our lives.\n", + "\n", + "Overall, the book wants us to think carefully about AI so that it helps everyone equally instead of just a few powerful people!\n" + ] + } + ], "source": [ "answer = completion.choices[0].message.content\n", "print(answer)" @@ -595,7 +956,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 92, "metadata": { "id": "nCXL9Cz1xYaV" }, @@ -615,7 +976,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 86, "metadata": { "id": "9y3E0YWExYaV" }, @@ -641,9 +1002,21 @@ "id": "i7SkWPpnxYaW", "outputId": "28e82563-edba-4b41-acad-ec27e5ba134f" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Snippet 1:\n", + "lar and scholarly discussions and investigates the normative projections of what \n", + "\u001b[1m\u001b[32mAI\u001b[0m should be and what it should do. This section poses critical questions about \n", + "how \u001b[1m\u001b[32mAI\u001b[0m needs to debunk the myths surr\n", + "--------------------------------------------------------------------------------\n" + ] + } + ], "source": [ - "query_keywords = [] # add your keywords\n", + "query_keywords = [\"AI\",\"\"] # add your keywords\n", "for i, doc in enumerate(retrieved_docs[:1]):\n", " snippet = doc.page_content[:200]\n", " highlighted = highlight_keywords(snippet, query_keywords)\n", @@ -687,7 +1060,7 @@ "provenance": [] }, "kernelspec": { - "display_name": "llm", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -701,7 +1074,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.10" + "version": "3.12.4" } }, "nbformat": 4,