{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Welcome to the Second Lab - Week 1, Day 3\n", "\n", "Today we will work with lots of models! This is a way to get comfortable with APIs." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", " \n", " \n", " \n", " \n", "
\n", " \n", " \n", "

Important point - please read

\n", " The way I collaborate with you may be different to other courses you've taken. I prefer not to type code while you watch. Rather, I execute Jupyter Labs, like this, and give you an intuition for what's going on. My suggestion is that you carefully execute this yourself, after watching the lecture. Add print statements to understand what's going on, and then come up with your own variations.

If you have time, I'd love it if you submit a PR for changes in the community_contributions folder - instructions in the resources. Also, if you have a Github account, use this to showcase your variations. Not only is this essential practice, but it demonstrates your skills to others, including perhaps future clients or employers...\n", "
\n", "
" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Start with imports - ask ChatGPT to explain any package that you don't know\n", "\n", "import os\n", "import json\n", "from dotenv import load_dotenv\n", "from openai import OpenAI\n", "from anthropic import Anthropic\n", "from IPython.display import Markdown, display" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Always remember to do this!\n", "load_dotenv(override=True)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "OpenAI API Key exists and begins sk-proj-\n", "Anthropic API Key not set (and this is optional)\n", "Google API Key exists and begins AI\n", "DeepSeek API Key not set (and this is optional)\n", "Groq API Key not set (and this is optional)\n" ] } ], "source": [ "# Print the key prefixes to help with any debugging\n", "\n", "openai_api_key = os.getenv('OPENAI_API_KEY')\n", "anthropic_api_key = os.getenv('ANTHROPIC_API_KEY')\n", "google_api_key = os.getenv('GOOGLE_API_KEY')\n", "deepseek_api_key = os.getenv('DEEPSEEK_API_KEY')\n", "groq_api_key = os.getenv('GROQ_API_KEY')\n", "\n", "if openai_api_key:\n", " print(f\"OpenAI API Key exists and begins {openai_api_key[:8]}\")\n", "else:\n", " print(\"OpenAI API Key not set\")\n", " \n", "if anthropic_api_key:\n", " print(f\"Anthropic API Key exists and begins {anthropic_api_key[:7]}\")\n", "else:\n", " print(\"Anthropic API Key not set (and this is optional)\")\n", "\n", "if google_api_key:\n", " print(f\"Google API Key exists and begins {google_api_key[:2]}\")\n", "else:\n", " print(\"Google API Key not set (and this is optional)\")\n", "\n", "if deepseek_api_key:\n", " print(f\"DeepSeek API Key exists and begins {deepseek_api_key[:3]}\")\n", "else:\n", " print(\"DeepSeek API Key not set (and this is optional)\")\n", "\n", "if groq_api_key:\n", " print(f\"Groq API Key exists and begins {groq_api_key[:4]}\")\n", "else:\n", " print(\"Groq API Key not set (and this is optional)\")" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "openai = OpenAI()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "request = \"Please come up with a challenging, nuanced question that I can ask a number of LLMs to evaluate their intelligence. \"\n", "request += \"Answer only with the question, no explanation.\"\n", "messages = [{\"role\": \"user\", \"content\": request}]" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[{'role': 'user',\n", " 'content': 'Please come up with a challenging, nuanced question that I can ask a number of LLMs to evaluate their intelligence. Answer only with the question, no explanation.'}]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "messages" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "If you could redesign one aspect of human society to eliminate a significant global issue (e.g., poverty, climate change, or inequality), what would that aspect be, how would you redesign it, and what potential unintended consequences might arise from this change?\n" ] } ], "source": [ "openai = OpenAI()\n", "response = openai.chat.completions.create(\n", " model=\"gpt-4o-mini\",\n", " messages=messages,\n", ")\n", "question = response.choices[0].message.content\n", "print(question)\n" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "competitors = []\n", "answers = []\n", "messages = [{\"role\": \"user\", \"content\": question}]" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/markdown": [ "If I could redesign one aspect of human society to address a significant global issue, I would focus on the economic system, particularly by implementing a Universal Basic Income (UBI). UBI is a model where all citizens receive a regular, unconditional sum of money from the government, regardless of other income. This redesign could help alleviate poverty, reduce inequality, and address some aspects of climate change by providing individuals and families with the financial security necessary to make sustainable choices.\n", "\n", "### Redesign:\n", "\n", "1. **Implementation of UBI**:\n", " - **Amount**: A consistent payment that covers basic living expenses (housing, food, healthcare).\n", " - **Funding**: This could be financed through progressive taxation, carbon taxes, and reallocating funds from welfare programs that are less efficient.\n", " - **Political Will**: Building a coalition of support across different political ideologies by emphasizing benefits on economic stability and freedom.\n", "\n", "2. **Incorporating Environmental Impact**:\n", " - **Green UBI**: Include additional incentives for those who engage in sustainable practices (e.g., using public transportation, reducing waste).\n", " - **Support for Green Jobs**: UBI could provide the security for people to pursue jobs in the sustainable sector without the fear of financial instability.\n", "\n", "3. **Periodic Assessment**:\n", " - Regularly evaluate the effects on poverty levels, health outcomes, and job participation to adapt the amount/implementation according to real-world effectiveness.\n", "\n", "### Potential Unintended Consequences:\n", "\n", "1. **Work Incentives**:\n", " - Some might argue that UBI could reduce the incentive to work, leading to a labor shortage in certain sectors. While many studies suggest that a basic income does not disincentivize work, the perception and initial implementation may lead to concerns about motivation.\n", "\n", "2. **Inflationary Pressure**:\n", " - A sudden increase in disposable income across the population could lead to inflation, particularly in markets for basic goods and housing, erasing the benefits of UBI.\n", "\n", "3. **Social Dynamics**:\n", " - The social fabric might change, leading to a potential decrease in the sense of purpose that comes from work. Some people might feel disengaged from contributing to society, while others may flourish with the freedom to pursue passions and education.\n", "\n", "4. **Implementation Challenges**:\n", " - Transitioning to a UBI system could face significant political and logistical challenges. Regions with different needs may require tailored approaches, leading to implementation disparities.\n", "\n", "5. **Dependency on Government**:\n", " - There could be a concern about increased government dependency, leading some to argue against personal responsibility and initiative.\n", "\n", "### Conclusion:\n", "\n", "While implementing Universal Basic Income could significantly tackle poverty, inequality, and even environmental issues, careful consideration of communication, socio-economic impacts, and phased implementation would be vital to mitigate unintended consequences. A system that allows adjustment based on real-world effects can help society adapt and thrive." ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# The API we know well\n", "\n", "model_name = \"gpt-4o-mini\"\n", "\n", "response = openai.chat.completions.create(model=model_name, messages=messages)\n", "answer = response.choices[0].message.content\n", "\n", "display(Markdown(answer))\n", "competitors.append(model_name)\n", "answers.append(answer)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "ename": "TypeError", "evalue": "\"Could not resolve authentication method. Expected either api_key or auth_token to be set. Or for one of the `X-Api-Key` or `Authorization` headers to be explicitly omitted\"", "output_type": "error", "traceback": [ "\u001b[31m---------------------------------------------------------------------------\u001b[39m", "\u001b[31mTypeError\u001b[39m Traceback (most recent call last)", "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[9]\u001b[39m\u001b[32m, line 6\u001b[39m\n\u001b[32m 3\u001b[39m model_name = \u001b[33m\"\u001b[39m\u001b[33mclaude-3-7-sonnet-latest\u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 5\u001b[39m claude = Anthropic()\n\u001b[32m----> \u001b[39m\u001b[32m6\u001b[39m response = \u001b[43mclaude\u001b[49m\u001b[43m.\u001b[49m\u001b[43mmessages\u001b[49m\u001b[43m.\u001b[49m\u001b[43mcreate\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmodel\u001b[49m\u001b[43m=\u001b[49m\u001b[43mmodel_name\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmessages\u001b[49m\u001b[43m=\u001b[49m\u001b[43mmessages\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmax_tokens\u001b[49m\u001b[43m=\u001b[49m\u001b[32;43m1000\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[32m 7\u001b[39m answer = response.content[\u001b[32m0\u001b[39m].text\n\u001b[32m 9\u001b[39m display(Markdown(answer))\n", "\u001b[36mFile \u001b[39m\u001b[32m~/code/agent/ed-donner-agents/.venv/lib/python3.12/site-packages/anthropic/_utils/_utils.py:283\u001b[39m, in \u001b[36mrequired_args..inner..wrapper\u001b[39m\u001b[34m(*args, **kwargs)\u001b[39m\n\u001b[32m 281\u001b[39m msg = \u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mMissing required argument: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mquote(missing[\u001b[32m0\u001b[39m])\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m\"\u001b[39m\n\u001b[32m 282\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mTypeError\u001b[39;00m(msg)\n\u001b[32m--> \u001b[39m\u001b[32m283\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[43m*\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", "\u001b[36mFile \u001b[39m\u001b[32m~/code/agent/ed-donner-agents/.venv/lib/python3.12/site-packages/anthropic/resources/messages/messages.py:978\u001b[39m, in \u001b[36mMessages.create\u001b[39m\u001b[34m(self, max_tokens, messages, model, metadata, service_tier, stop_sequences, stream, system, temperature, thinking, tool_choice, tools, top_k, top_p, extra_headers, extra_query, extra_body, timeout)\u001b[39m\n\u001b[32m 971\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m model \u001b[38;5;129;01min\u001b[39;00m DEPRECATED_MODELS:\n\u001b[32m 972\u001b[39m warnings.warn(\n\u001b[32m 973\u001b[39m \u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mThe model \u001b[39m\u001b[33m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mmodel\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m'\u001b[39m\u001b[33m is deprecated and will reach end-of-life on \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mDEPRECATED_MODELS[model]\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m.\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[33mPlease migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.\u001b[39m\u001b[33m\"\u001b[39m,\n\u001b[32m 974\u001b[39m \u001b[38;5;167;01mDeprecationWarning\u001b[39;00m,\n\u001b[32m 975\u001b[39m stacklevel=\u001b[32m3\u001b[39m,\n\u001b[32m 976\u001b[39m )\n\u001b[32m--> \u001b[39m\u001b[32m978\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_post\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 979\u001b[39m \u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43m/v1/messages\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[32m 980\u001b[39m \u001b[43m \u001b[49m\u001b[43mbody\u001b[49m\u001b[43m=\u001b[49m\u001b[43mmaybe_transform\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 981\u001b[39m \u001b[43m \u001b[49m\u001b[43m{\u001b[49m\n\u001b[32m 982\u001b[39m \u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mmax_tokens\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mmax_tokens\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 983\u001b[39m \u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mmessages\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mmessages\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 984\u001b[39m \u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mmodel\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mmodel\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 985\u001b[39m \u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mmetadata\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mmetadata\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 986\u001b[39m \u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mservice_tier\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mservice_tier\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 987\u001b[39m \u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mstop_sequences\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mstop_sequences\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 988\u001b[39m \u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mstream\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mstream\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 989\u001b[39m \u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43msystem\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43msystem\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 990\u001b[39m \u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mtemperature\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mtemperature\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 991\u001b[39m \u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mthinking\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mthinking\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 992\u001b[39m \u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mtool_choice\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mtool_choice\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 993\u001b[39m \u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mtools\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mtools\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 994\u001b[39m \u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mtop_k\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mtop_k\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 995\u001b[39m \u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mtop_p\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mtop_p\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 996\u001b[39m \u001b[43m \u001b[49m\u001b[43m}\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 997\u001b[39m \u001b[43m \u001b[49m\u001b[43mmessage_create_params\u001b[49m\u001b[43m.\u001b[49m\u001b[43mMessageCreateParamsStreaming\u001b[49m\n\u001b[32m 998\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;28;43;01mif\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mstream\u001b[49m\n\u001b[32m 999\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;28;43;01melse\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mmessage_create_params\u001b[49m\u001b[43m.\u001b[49m\u001b[43mMessageCreateParamsNonStreaming\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1000\u001b[39m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1001\u001b[39m \u001b[43m \u001b[49m\u001b[43moptions\u001b[49m\u001b[43m=\u001b[49m\u001b[43mmake_request_options\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 1002\u001b[39m \u001b[43m \u001b[49m\u001b[43mextra_headers\u001b[49m\u001b[43m=\u001b[49m\u001b[43mextra_headers\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mextra_query\u001b[49m\u001b[43m=\u001b[49m\u001b[43mextra_query\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mextra_body\u001b[49m\u001b[43m=\u001b[49m\u001b[43mextra_body\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtimeout\u001b[49m\u001b[43m=\u001b[49m\u001b[43mtimeout\u001b[49m\n\u001b[32m 1003\u001b[39m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1004\u001b[39m \u001b[43m \u001b[49m\u001b[43mcast_to\u001b[49m\u001b[43m=\u001b[49m\u001b[43mMessage\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1005\u001b[39m \u001b[43m \u001b[49m\u001b[43mstream\u001b[49m\u001b[43m=\u001b[49m\u001b[43mstream\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01mor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[32m 1006\u001b[39m \u001b[43m \u001b[49m\u001b[43mstream_cls\u001b[49m\u001b[43m=\u001b[49m\u001b[43mStream\u001b[49m\u001b[43m[\u001b[49m\u001b[43mRawMessageStreamEvent\u001b[49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1007\u001b[39m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n", "\u001b[36mFile \u001b[39m\u001b[32m~/code/agent/ed-donner-agents/.venv/lib/python3.12/site-packages/anthropic/_base_client.py:1314\u001b[39m, in \u001b[36mSyncAPIClient.post\u001b[39m\u001b[34m(self, path, cast_to, body, options, files, stream, stream_cls)\u001b[39m\n\u001b[32m 1300\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mpost\u001b[39m(\n\u001b[32m 1301\u001b[39m \u001b[38;5;28mself\u001b[39m,\n\u001b[32m 1302\u001b[39m path: \u001b[38;5;28mstr\u001b[39m,\n\u001b[32m (...)\u001b[39m\u001b[32m 1309\u001b[39m stream_cls: \u001b[38;5;28mtype\u001b[39m[_StreamT] | \u001b[38;5;28;01mNone\u001b[39;00m = \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[32m 1310\u001b[39m ) -> ResponseT | _StreamT:\n\u001b[32m 1311\u001b[39m opts = FinalRequestOptions.construct(\n\u001b[32m 1312\u001b[39m method=\u001b[33m\"\u001b[39m\u001b[33mpost\u001b[39m\u001b[33m\"\u001b[39m, url=path, json_data=body, files=to_httpx_files(files), **options\n\u001b[32m 1313\u001b[39m )\n\u001b[32m-> \u001b[39m\u001b[32m1314\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m cast(ResponseT, \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mrequest\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcast_to\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mopts\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mstream\u001b[49m\u001b[43m=\u001b[49m\u001b[43mstream\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mstream_cls\u001b[49m\u001b[43m=\u001b[49m\u001b[43mstream_cls\u001b[49m\u001b[43m)\u001b[49m)\n", "\u001b[36mFile \u001b[39m\u001b[32m~/code/agent/ed-donner-agents/.venv/lib/python3.12/site-packages/anthropic/_base_client.py:1023\u001b[39m, in \u001b[36mSyncAPIClient.request\u001b[39m\u001b[34m(self, cast_to, options, stream, stream_cls)\u001b[39m\n\u001b[32m 1020\u001b[39m options = \u001b[38;5;28mself\u001b[39m._prepare_options(options)\n\u001b[32m 1022\u001b[39m remaining_retries = max_retries - retries_taken\n\u001b[32m-> \u001b[39m\u001b[32m1023\u001b[39m request = \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_build_request\u001b[49m\u001b[43m(\u001b[49m\u001b[43moptions\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mretries_taken\u001b[49m\u001b[43m=\u001b[49m\u001b[43mretries_taken\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 1024\u001b[39m \u001b[38;5;28mself\u001b[39m._prepare_request(request)\n\u001b[32m 1026\u001b[39m kwargs: HttpxSendArgs = {}\n", "\u001b[36mFile \u001b[39m\u001b[32m~/code/agent/ed-donner-agents/.venv/lib/python3.12/site-packages/anthropic/_base_client.py:506\u001b[39m, in \u001b[36mBaseClient._build_request\u001b[39m\u001b[34m(self, options, retries_taken)\u001b[39m\n\u001b[32m 503\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[32m 504\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mRuntimeError\u001b[39;00m(\u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mUnexpected JSON data type, \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mtype\u001b[39m(json_data)\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m, cannot merge with `extra_body`\u001b[39m\u001b[33m\"\u001b[39m)\n\u001b[32m--> \u001b[39m\u001b[32m506\u001b[39m headers = \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_build_headers\u001b[49m\u001b[43m(\u001b[49m\u001b[43moptions\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mretries_taken\u001b[49m\u001b[43m=\u001b[49m\u001b[43mretries_taken\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 507\u001b[39m params = _merge_mappings(\u001b[38;5;28mself\u001b[39m.default_query, options.params)\n\u001b[32m 508\u001b[39m content_type = headers.get(\u001b[33m\"\u001b[39m\u001b[33mContent-Type\u001b[39m\u001b[33m\"\u001b[39m)\n", "\u001b[36mFile \u001b[39m\u001b[32m~/code/agent/ed-donner-agents/.venv/lib/python3.12/site-packages/anthropic/_base_client.py:447\u001b[39m, in \u001b[36mBaseClient._build_headers\u001b[39m\u001b[34m(self, options, retries_taken)\u001b[39m\n\u001b[32m 437\u001b[39m custom_headers = options.headers \u001b[38;5;129;01mor\u001b[39;00m {}\n\u001b[32m 438\u001b[39m headers_dict = _merge_mappings(\n\u001b[32m 439\u001b[39m {\n\u001b[32m 440\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mx-stainless-timeout\u001b[39m\u001b[33m\"\u001b[39m: \u001b[38;5;28mstr\u001b[39m(options.timeout.read)\n\u001b[32m (...)\u001b[39m\u001b[32m 445\u001b[39m custom_headers,\n\u001b[32m 446\u001b[39m )\n\u001b[32m--> \u001b[39m\u001b[32m447\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_validate_headers\u001b[49m\u001b[43m(\u001b[49m\u001b[43mheaders_dict\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcustom_headers\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 449\u001b[39m \u001b[38;5;66;03m# headers are case-insensitive while dictionaries are not.\u001b[39;00m\n\u001b[32m 450\u001b[39m headers = httpx.Headers(headers_dict)\n", "\u001b[36mFile \u001b[39m\u001b[32m~/code/agent/ed-donner-agents/.venv/lib/python3.12/site-packages/anthropic/_client.py:196\u001b[39m, in \u001b[36mAnthropic._validate_headers\u001b[39m\u001b[34m(self, headers, custom_headers)\u001b[39m\n\u001b[32m 193\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(custom_headers.get(\u001b[33m\"\u001b[39m\u001b[33mAuthorization\u001b[39m\u001b[33m\"\u001b[39m), Omit):\n\u001b[32m 194\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m\n\u001b[32m--> \u001b[39m\u001b[32m196\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mTypeError\u001b[39;00m(\n\u001b[32m 197\u001b[39m \u001b[33m'\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mCould not resolve authentication method. Expected either api_key or auth_token to be set. Or for one of the `X-Api-Key` or `Authorization` headers to be explicitly omitted\u001b[39m\u001b[33m\"\u001b[39m\u001b[33m'\u001b[39m\n\u001b[32m 198\u001b[39m )\n", "\u001b[31mTypeError\u001b[39m: \"Could not resolve authentication method. Expected either api_key or auth_token to be set. Or for one of the `X-Api-Key` or `Authorization` headers to be explicitly omitted\"" ] } ], "source": [ "# Anthropic has a slightly different API, and Max Tokens is required\n", "\n", "model_name = \"claude-3-7-sonnet-latest\"\n", "\n", "claude = Anthropic()\n", "response = claude.messages.create(model=model_name, messages=messages, max_tokens=1000)\n", "answer = response.content[0].text\n", "\n", "display(Markdown(answer))\n", "competitors.append(model_name)\n", "answers.append(answer)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/markdown": [ "If I could redesign one aspect of human society to eliminate a significant global issue, it would be **the inherent connection between economic value and environmental degradation.** My goal would be to decouple wealth creation from resource exploitation and pollution.\n", "\n", "**The Redesign: Replace GDP with a \"Genuine Progress Indicator\" (GPI) 2.0 and Universal Basic Services (UBS).**\n", "\n", "Currently, GDP (Gross Domestic Product) is the primary metric for economic success. It measures the total monetary value of goods and services produced within a country. However, GDP ignores the environmental and social costs associated with that production. Pollution, resource depletion, social inequality, and even natural disasters can *increase* GDP because they stimulate economic activity (e.g., cleanup efforts after a hurricane).\n", "\n", "**GPI 2.0:**\n", "\n", "* **Expanded Scope:** Instead of solely focusing on monetary value, GPI 2.0 would incorporate a comprehensive set of indicators:\n", " * **Environmental Sustainability:** Quantifiable metrics for resource depletion, carbon emissions, biodiversity loss, water and air pollution, deforestation, and land degradation.\n", " * **Social Well-being:** Measures of health (life expectancy, infant mortality), education (literacy rates, educational attainment), income inequality (Gini coefficient), poverty rates, access to healthcare, access to clean water and sanitation, crime rates, civic engagement, and perceived happiness/life satisfaction.\n", " * **Economic Productivity:** Retains aspects of GDP but adjusts for the cost of environmental and social impacts.\n", "* **Weighted Index:** A panel of experts (economists, scientists, sociologists, ethicists) would establish a weighted index reflecting the relative importance of each indicator. This index would need regular updating and be transparently determined.\n", "* **Policy Implications:** Governments would be incentivized (through international agreements, development aid criteria, etc.) to prioritize policies that improve their GPI 2.0 score. Policies that increase GDP at the expense of environmental or social well-being would be actively discouraged.\n", "\n", "**Universal Basic Services (UBS):**\n", "\n", "Alongside GPI 2.0, a robust system of Universal Basic Services (UBS) would be implemented. This would guarantee access to essential services like:\n", "\n", "* **Healthcare:** Comprehensive and preventative care, accessible to all, regardless of income or location.\n", "* **Education:** Free education from early childhood through university/vocational training.\n", "* **Housing:** Guaranteed access to safe and affordable housing.\n", "* **Food Security:** Programs to ensure access to nutritious food, potentially including subsidized or free basic food baskets.\n", "* **Transportation:** Accessible and affordable public transportation options.\n", "* **Digital Connectivity:** Guaranteed access to internet and essential digital literacy training.\n", "\n", "Funding for UBS would come from:\n", "\n", "* **Carbon Tax:** A globally harmonized carbon tax, the revenue from which is directly earmarked for UBS.\n", "* **Progressive Taxation:** Reforming tax systems to be more progressive, ensuring the wealthiest contribute a larger share.\n", "* **Reduced Military Spending:** Redirecting funds from military budgets to social programs.\n", "\n", "**Expected Impact:**\n", "\n", "* **Environmental Protection:** Businesses would be incentivized to adopt sustainable practices, reducing pollution and resource depletion to improve their GPI 2.0 score.\n", "* **Reduced Inequality:** UBS would provide a safety net, reducing poverty and inequality by ensuring everyone has access to basic necessities.\n", "* **Improved Health and Well-being:** Access to healthcare, education, and nutritious food would lead to healthier and more fulfilling lives.\n", "* **Sustainable Economic Growth:** Economic growth would be driven by innovation in sustainable technologies and services, rather than resource exploitation.\n", "\n", "**Potential Unintended Consequences:**\n", "\n", "* **Economic Slowdown:** Transitioning away from a GDP-centric economy could initially lead to slower economic growth as traditionally profitable but unsustainable industries decline.\n", "* **Complexity and Manipulation of GPI 2.0:** Developing and maintaining a fair and accurate GPI 2.0 index would be complex. Governments might try to manipulate the data or prioritize certain indicators to artificially inflate their scores.\n", "* **\"Free Rider\" Problem:** Some countries might refuse to adopt GPI 2.0 or contribute to funding UBS, benefiting from the positive externalities created by other countries' efforts without bearing the costs. This could create tension and undermine the effectiveness of the system.\n", "* **Reduced Innovation in Certain Sectors:** With a focus on sustainability, some industries focused on consumption and fast-paced technology turnover (e.g., planned obsolescence in electronics) might see a decline in innovation.\n", "* **Bureaucracy and Inefficiency:** Managing a large-scale UBS system could lead to bureaucratic inefficiencies and waste. Ensuring equitable access to services would require careful planning and oversight.\n", "* **Reduced Individual Freedom:** While providing a safety net, UBS might be perceived by some as reducing individual freedom and initiative. There's a risk of creating a dependency on the state.\n", "* **Black Market/Alternative Economies:** If the new system is perceived as unfair or overly restrictive, it could lead to the development of underground economies that are difficult to regulate.\n", "\n", "**Mitigation Strategies for Unintended Consequences:**\n", "\n", "* **Transparency and Accountability:** Make the GPI 2.0 calculation process transparent and subject to independent audits.\n", "* **International Cooperation:** Strong international agreements and enforcement mechanisms are needed to ensure all countries participate in the new system.\n", "* **Adaptive Management:** Continuously monitor the impact of the new system and make adjustments as needed.\n", "* **Community Involvement:** Involve local communities in the design and implementation of UBS programs to ensure they are tailored to local needs and preferences.\n", "* **Promote Innovation:** Provide incentives for innovation in sustainable technologies and services to drive economic growth.\n", "\n", "Ultimately, this redesigned societal structure represents a significant shift in priorities, moving from a purely economic focus to a more holistic and sustainable approach to development. While there are potential risks, the long-term benefits of addressing climate change, reducing inequality, and improving global well-being would outweigh the challenges. Careful planning, strong international cooperation, and continuous adaptation are crucial for successful implementation.\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "gemini = OpenAI(api_key=google_api_key, base_url=\"https://generativelanguage.googleapis.com/v1beta/openai/\")\n", "model_name = \"gemini-2.0-flash\"\n", "\n", "response = gemini.chat.completions.create(model=model_name, messages=messages)\n", "answer = response.choices[0].message.content\n", "\n", "display(Markdown(answer))\n", "competitors.append(model_name)\n", "answers.append(answer)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "deepseek = OpenAI(api_key=deepseek_api_key, base_url=\"https://api.deepseek.com/v1\")\n", "model_name = \"deepseek-chat\"\n", "\n", "response = deepseek.chat.completions.create(model=model_name, messages=messages)\n", "answer = response.choices[0].message.content\n", "\n", "display(Markdown(answer))\n", "competitors.append(model_name)\n", "answers.append(answer)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "groq = OpenAI(api_key=groq_api_key, base_url=\"https://api.groq.com/openai/v1\")\n", "model_name = \"llama-3.3-70b-versatile\"\n", "\n", "response = groq.chat.completions.create(model=model_name, messages=messages)\n", "answer = response.choices[0].message.content\n", "\n", "display(Markdown(answer))\n", "competitors.append(model_name)\n", "answers.append(answer)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## For the next cell, we will use Ollama\n", "\n", "Ollama runs a local web service that gives an OpenAI compatible endpoint, \n", "and runs models locally using high performance C++ code.\n", "\n", "If you don't have Ollama, install it here by visiting https://ollama.com then pressing Download and following the instructions.\n", "\n", "After it's installed, you should be able to visit here: http://localhost:11434 and see the message \"Ollama is running\"\n", "\n", "You might need to restart Cursor (and maybe reboot). Then open a Terminal (control+\\`) and run `ollama serve`\n", "\n", "Useful Ollama commands (run these in the terminal, or with an exclamation mark in this notebook):\n", "\n", "`ollama pull ` downloads a model locally \n", "`ollama ls` lists all the models you've downloaded \n", "`ollama rm ` deletes the specified model from your downloads" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", " \n", " \n", " \n", " \n", "
\n", " \n", " \n", "

Super important - ignore me at your peril!

\n", " The model called llama3.3 is FAR too large for home computers - it's not intended for personal computing and will consume all your resources! Stick with the nicely sized llama3.2 or llama3.2:1b and if you want larger, try llama3.1 or smaller variants of Qwen, Gemma, Phi or DeepSeek. See the the Ollama models page for a full list of models and sizes.\n", " \n", "
" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "!ollama pull llama3.2" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "ollama = OpenAI(base_url='http://localhost:11434/v1', api_key='ollama')\n", "model_name = \"llama3.2\"\n", "\n", "response = ollama.chat.completions.create(model=model_name, messages=messages)\n", "answer = response.choices[0].message.content\n", "\n", "display(Markdown(answer))\n", "competitors.append(model_name)\n", "answers.append(answer)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['gpt-4o-mini', 'gemini-2.0-flash']\n", "['If I could redesign one aspect of human society to address a significant global issue, I would focus on the economic system, particularly by implementing a Universal Basic Income (UBI). UBI is a model where all citizens receive a regular, unconditional sum of money from the government, regardless of other income. This redesign could help alleviate poverty, reduce inequality, and address some aspects of climate change by providing individuals and families with the financial security necessary to make sustainable choices.\\n\\n### Redesign:\\n\\n1. **Implementation of UBI**:\\n - **Amount**: A consistent payment that covers basic living expenses (housing, food, healthcare).\\n - **Funding**: This could be financed through progressive taxation, carbon taxes, and reallocating funds from welfare programs that are less efficient.\\n - **Political Will**: Building a coalition of support across different political ideologies by emphasizing benefits on economic stability and freedom.\\n\\n2. **Incorporating Environmental Impact**:\\n - **Green UBI**: Include additional incentives for those who engage in sustainable practices (e.g., using public transportation, reducing waste).\\n - **Support for Green Jobs**: UBI could provide the security for people to pursue jobs in the sustainable sector without the fear of financial instability.\\n\\n3. **Periodic Assessment**:\\n - Regularly evaluate the effects on poverty levels, health outcomes, and job participation to adapt the amount/implementation according to real-world effectiveness.\\n\\n### Potential Unintended Consequences:\\n\\n1. **Work Incentives**:\\n - Some might argue that UBI could reduce the incentive to work, leading to a labor shortage in certain sectors. While many studies suggest that a basic income does not disincentivize work, the perception and initial implementation may lead to concerns about motivation.\\n\\n2. **Inflationary Pressure**:\\n - A sudden increase in disposable income across the population could lead to inflation, particularly in markets for basic goods and housing, erasing the benefits of UBI.\\n\\n3. **Social Dynamics**:\\n - The social fabric might change, leading to a potential decrease in the sense of purpose that comes from work. Some people might feel disengaged from contributing to society, while others may flourish with the freedom to pursue passions and education.\\n\\n4. **Implementation Challenges**:\\n - Transitioning to a UBI system could face significant political and logistical challenges. Regions with different needs may require tailored approaches, leading to implementation disparities.\\n\\n5. **Dependency on Government**:\\n - There could be a concern about increased government dependency, leading some to argue against personal responsibility and initiative.\\n\\n### Conclusion:\\n\\nWhile implementing Universal Basic Income could significantly tackle poverty, inequality, and even environmental issues, careful consideration of communication, socio-economic impacts, and phased implementation would be vital to mitigate unintended consequences. A system that allows adjustment based on real-world effects can help society adapt and thrive.', 'If I could redesign one aspect of human society to eliminate a significant global issue, it would be **the inherent connection between economic value and environmental degradation.** My goal would be to decouple wealth creation from resource exploitation and pollution.\\n\\n**The Redesign: Replace GDP with a \"Genuine Progress Indicator\" (GPI) 2.0 and Universal Basic Services (UBS).**\\n\\nCurrently, GDP (Gross Domestic Product) is the primary metric for economic success. It measures the total monetary value of goods and services produced within a country. However, GDP ignores the environmental and social costs associated with that production. Pollution, resource depletion, social inequality, and even natural disasters can *increase* GDP because they stimulate economic activity (e.g., cleanup efforts after a hurricane).\\n\\n**GPI 2.0:**\\n\\n* **Expanded Scope:** Instead of solely focusing on monetary value, GPI 2.0 would incorporate a comprehensive set of indicators:\\n * **Environmental Sustainability:** Quantifiable metrics for resource depletion, carbon emissions, biodiversity loss, water and air pollution, deforestation, and land degradation.\\n * **Social Well-being:** Measures of health (life expectancy, infant mortality), education (literacy rates, educational attainment), income inequality (Gini coefficient), poverty rates, access to healthcare, access to clean water and sanitation, crime rates, civic engagement, and perceived happiness/life satisfaction.\\n * **Economic Productivity:** Retains aspects of GDP but adjusts for the cost of environmental and social impacts.\\n* **Weighted Index:** A panel of experts (economists, scientists, sociologists, ethicists) would establish a weighted index reflecting the relative importance of each indicator. This index would need regular updating and be transparently determined.\\n* **Policy Implications:** Governments would be incentivized (through international agreements, development aid criteria, etc.) to prioritize policies that improve their GPI 2.0 score. Policies that increase GDP at the expense of environmental or social well-being would be actively discouraged.\\n\\n**Universal Basic Services (UBS):**\\n\\nAlongside GPI 2.0, a robust system of Universal Basic Services (UBS) would be implemented. This would guarantee access to essential services like:\\n\\n* **Healthcare:** Comprehensive and preventative care, accessible to all, regardless of income or location.\\n* **Education:** Free education from early childhood through university/vocational training.\\n* **Housing:** Guaranteed access to safe and affordable housing.\\n* **Food Security:** Programs to ensure access to nutritious food, potentially including subsidized or free basic food baskets.\\n* **Transportation:** Accessible and affordable public transportation options.\\n* **Digital Connectivity:** Guaranteed access to internet and essential digital literacy training.\\n\\nFunding for UBS would come from:\\n\\n* **Carbon Tax:** A globally harmonized carbon tax, the revenue from which is directly earmarked for UBS.\\n* **Progressive Taxation:** Reforming tax systems to be more progressive, ensuring the wealthiest contribute a larger share.\\n* **Reduced Military Spending:** Redirecting funds from military budgets to social programs.\\n\\n**Expected Impact:**\\n\\n* **Environmental Protection:** Businesses would be incentivized to adopt sustainable practices, reducing pollution and resource depletion to improve their GPI 2.0 score.\\n* **Reduced Inequality:** UBS would provide a safety net, reducing poverty and inequality by ensuring everyone has access to basic necessities.\\n* **Improved Health and Well-being:** Access to healthcare, education, and nutritious food would lead to healthier and more fulfilling lives.\\n* **Sustainable Economic Growth:** Economic growth would be driven by innovation in sustainable technologies and services, rather than resource exploitation.\\n\\n**Potential Unintended Consequences:**\\n\\n* **Economic Slowdown:** Transitioning away from a GDP-centric economy could initially lead to slower economic growth as traditionally profitable but unsustainable industries decline.\\n* **Complexity and Manipulation of GPI 2.0:** Developing and maintaining a fair and accurate GPI 2.0 index would be complex. Governments might try to manipulate the data or prioritize certain indicators to artificially inflate their scores.\\n* **\"Free Rider\" Problem:** Some countries might refuse to adopt GPI 2.0 or contribute to funding UBS, benefiting from the positive externalities created by other countries\\' efforts without bearing the costs. This could create tension and undermine the effectiveness of the system.\\n* **Reduced Innovation in Certain Sectors:** With a focus on sustainability, some industries focused on consumption and fast-paced technology turnover (e.g., planned obsolescence in electronics) might see a decline in innovation.\\n* **Bureaucracy and Inefficiency:** Managing a large-scale UBS system could lead to bureaucratic inefficiencies and waste. Ensuring equitable access to services would require careful planning and oversight.\\n* **Reduced Individual Freedom:** While providing a safety net, UBS might be perceived by some as reducing individual freedom and initiative. There\\'s a risk of creating a dependency on the state.\\n* **Black Market/Alternative Economies:** If the new system is perceived as unfair or overly restrictive, it could lead to the development of underground economies that are difficult to regulate.\\n\\n**Mitigation Strategies for Unintended Consequences:**\\n\\n* **Transparency and Accountability:** Make the GPI 2.0 calculation process transparent and subject to independent audits.\\n* **International Cooperation:** Strong international agreements and enforcement mechanisms are needed to ensure all countries participate in the new system.\\n* **Adaptive Management:** Continuously monitor the impact of the new system and make adjustments as needed.\\n* **Community Involvement:** Involve local communities in the design and implementation of UBS programs to ensure they are tailored to local needs and preferences.\\n* **Promote Innovation:** Provide incentives for innovation in sustainable technologies and services to drive economic growth.\\n\\nUltimately, this redesigned societal structure represents a significant shift in priorities, moving from a purely economic focus to a more holistic and sustainable approach to development. While there are potential risks, the long-term benefits of addressing climate change, reducing inequality, and improving global well-being would outweigh the challenges. Careful planning, strong international cooperation, and continuous adaptation are crucial for successful implementation.\\n']\n" ] } ], "source": [ "# So where are we?\n", "\n", "print(competitors)\n", "print(answers)\n" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Competitor: gpt-4o-mini\n", "\n", "If I could redesign one aspect of human society to address a significant global issue, I would focus on the economic system, particularly by implementing a Universal Basic Income (UBI). UBI is a model where all citizens receive a regular, unconditional sum of money from the government, regardless of other income. This redesign could help alleviate poverty, reduce inequality, and address some aspects of climate change by providing individuals and families with the financial security necessary to make sustainable choices.\n", "\n", "### Redesign:\n", "\n", "1. **Implementation of UBI**:\n", " - **Amount**: A consistent payment that covers basic living expenses (housing, food, healthcare).\n", " - **Funding**: This could be financed through progressive taxation, carbon taxes, and reallocating funds from welfare programs that are less efficient.\n", " - **Political Will**: Building a coalition of support across different political ideologies by emphasizing benefits on economic stability and freedom.\n", "\n", "2. **Incorporating Environmental Impact**:\n", " - **Green UBI**: Include additional incentives for those who engage in sustainable practices (e.g., using public transportation, reducing waste).\n", " - **Support for Green Jobs**: UBI could provide the security for people to pursue jobs in the sustainable sector without the fear of financial instability.\n", "\n", "3. **Periodic Assessment**:\n", " - Regularly evaluate the effects on poverty levels, health outcomes, and job participation to adapt the amount/implementation according to real-world effectiveness.\n", "\n", "### Potential Unintended Consequences:\n", "\n", "1. **Work Incentives**:\n", " - Some might argue that UBI could reduce the incentive to work, leading to a labor shortage in certain sectors. While many studies suggest that a basic income does not disincentivize work, the perception and initial implementation may lead to concerns about motivation.\n", "\n", "2. **Inflationary Pressure**:\n", " - A sudden increase in disposable income across the population could lead to inflation, particularly in markets for basic goods and housing, erasing the benefits of UBI.\n", "\n", "3. **Social Dynamics**:\n", " - The social fabric might change, leading to a potential decrease in the sense of purpose that comes from work. Some people might feel disengaged from contributing to society, while others may flourish with the freedom to pursue passions and education.\n", "\n", "4. **Implementation Challenges**:\n", " - Transitioning to a UBI system could face significant political and logistical challenges. Regions with different needs may require tailored approaches, leading to implementation disparities.\n", "\n", "5. **Dependency on Government**:\n", " - There could be a concern about increased government dependency, leading some to argue against personal responsibility and initiative.\n", "\n", "### Conclusion:\n", "\n", "While implementing Universal Basic Income could significantly tackle poverty, inequality, and even environmental issues, careful consideration of communication, socio-economic impacts, and phased implementation would be vital to mitigate unintended consequences. A system that allows adjustment based on real-world effects can help society adapt and thrive.\n", "Competitor: gemini-2.0-flash\n", "\n", "If I could redesign one aspect of human society to eliminate a significant global issue, it would be **the inherent connection between economic value and environmental degradation.** My goal would be to decouple wealth creation from resource exploitation and pollution.\n", "\n", "**The Redesign: Replace GDP with a \"Genuine Progress Indicator\" (GPI) 2.0 and Universal Basic Services (UBS).**\n", "\n", "Currently, GDP (Gross Domestic Product) is the primary metric for economic success. It measures the total monetary value of goods and services produced within a country. However, GDP ignores the environmental and social costs associated with that production. Pollution, resource depletion, social inequality, and even natural disasters can *increase* GDP because they stimulate economic activity (e.g., cleanup efforts after a hurricane).\n", "\n", "**GPI 2.0:**\n", "\n", "* **Expanded Scope:** Instead of solely focusing on monetary value, GPI 2.0 would incorporate a comprehensive set of indicators:\n", " * **Environmental Sustainability:** Quantifiable metrics for resource depletion, carbon emissions, biodiversity loss, water and air pollution, deforestation, and land degradation.\n", " * **Social Well-being:** Measures of health (life expectancy, infant mortality), education (literacy rates, educational attainment), income inequality (Gini coefficient), poverty rates, access to healthcare, access to clean water and sanitation, crime rates, civic engagement, and perceived happiness/life satisfaction.\n", " * **Economic Productivity:** Retains aspects of GDP but adjusts for the cost of environmental and social impacts.\n", "* **Weighted Index:** A panel of experts (economists, scientists, sociologists, ethicists) would establish a weighted index reflecting the relative importance of each indicator. This index would need regular updating and be transparently determined.\n", "* **Policy Implications:** Governments would be incentivized (through international agreements, development aid criteria, etc.) to prioritize policies that improve their GPI 2.0 score. Policies that increase GDP at the expense of environmental or social well-being would be actively discouraged.\n", "\n", "**Universal Basic Services (UBS):**\n", "\n", "Alongside GPI 2.0, a robust system of Universal Basic Services (UBS) would be implemented. This would guarantee access to essential services like:\n", "\n", "* **Healthcare:** Comprehensive and preventative care, accessible to all, regardless of income or location.\n", "* **Education:** Free education from early childhood through university/vocational training.\n", "* **Housing:** Guaranteed access to safe and affordable housing.\n", "* **Food Security:** Programs to ensure access to nutritious food, potentially including subsidized or free basic food baskets.\n", "* **Transportation:** Accessible and affordable public transportation options.\n", "* **Digital Connectivity:** Guaranteed access to internet and essential digital literacy training.\n", "\n", "Funding for UBS would come from:\n", "\n", "* **Carbon Tax:** A globally harmonized carbon tax, the revenue from which is directly earmarked for UBS.\n", "* **Progressive Taxation:** Reforming tax systems to be more progressive, ensuring the wealthiest contribute a larger share.\n", "* **Reduced Military Spending:** Redirecting funds from military budgets to social programs.\n", "\n", "**Expected Impact:**\n", "\n", "* **Environmental Protection:** Businesses would be incentivized to adopt sustainable practices, reducing pollution and resource depletion to improve their GPI 2.0 score.\n", "* **Reduced Inequality:** UBS would provide a safety net, reducing poverty and inequality by ensuring everyone has access to basic necessities.\n", "* **Improved Health and Well-being:** Access to healthcare, education, and nutritious food would lead to healthier and more fulfilling lives.\n", "* **Sustainable Economic Growth:** Economic growth would be driven by innovation in sustainable technologies and services, rather than resource exploitation.\n", "\n", "**Potential Unintended Consequences:**\n", "\n", "* **Economic Slowdown:** Transitioning away from a GDP-centric economy could initially lead to slower economic growth as traditionally profitable but unsustainable industries decline.\n", "* **Complexity and Manipulation of GPI 2.0:** Developing and maintaining a fair and accurate GPI 2.0 index would be complex. Governments might try to manipulate the data or prioritize certain indicators to artificially inflate their scores.\n", "* **\"Free Rider\" Problem:** Some countries might refuse to adopt GPI 2.0 or contribute to funding UBS, benefiting from the positive externalities created by other countries' efforts without bearing the costs. This could create tension and undermine the effectiveness of the system.\n", "* **Reduced Innovation in Certain Sectors:** With a focus on sustainability, some industries focused on consumption and fast-paced technology turnover (e.g., planned obsolescence in electronics) might see a decline in innovation.\n", "* **Bureaucracy and Inefficiency:** Managing a large-scale UBS system could lead to bureaucratic inefficiencies and waste. Ensuring equitable access to services would require careful planning and oversight.\n", "* **Reduced Individual Freedom:** While providing a safety net, UBS might be perceived by some as reducing individual freedom and initiative. There's a risk of creating a dependency on the state.\n", "* **Black Market/Alternative Economies:** If the new system is perceived as unfair or overly restrictive, it could lead to the development of underground economies that are difficult to regulate.\n", "\n", "**Mitigation Strategies for Unintended Consequences:**\n", "\n", "* **Transparency and Accountability:** Make the GPI 2.0 calculation process transparent and subject to independent audits.\n", "* **International Cooperation:** Strong international agreements and enforcement mechanisms are needed to ensure all countries participate in the new system.\n", "* **Adaptive Management:** Continuously monitor the impact of the new system and make adjustments as needed.\n", "* **Community Involvement:** Involve local communities in the design and implementation of UBS programs to ensure they are tailored to local needs and preferences.\n", "* **Promote Innovation:** Provide incentives for innovation in sustainable technologies and services to drive economic growth.\n", "\n", "Ultimately, this redesigned societal structure represents a significant shift in priorities, moving from a purely economic focus to a more holistic and sustainable approach to development. While there are potential risks, the long-term benefits of addressing climate change, reducing inequality, and improving global well-being would outweigh the challenges. Careful planning, strong international cooperation, and continuous adaptation are crucial for successful implementation.\n", "\n" ] } ], "source": [ "# It's nice to know how to use \"zip\"\n", "for competitor, answer in zip(competitors, answers):\n", " print(f\"Competitor: {competitor}\\n\\n{answer}\")\n" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "# Let's bring this together - note the use of \"enumerate\"\n", "\n", "together = \"\"\n", "for index, answer in enumerate(answers):\n", " together += f\"# Response from competitor {index+1}\\n\\n\"\n", " together += answer + \"\\n\\n\"" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "# Response from competitor 1\n", "\n", "If I could redesign one aspect of human society to address a significant global issue, I would focus on the economic system, particularly by implementing a Universal Basic Income (UBI). UBI is a model where all citizens receive a regular, unconditional sum of money from the government, regardless of other income. This redesign could help alleviate poverty, reduce inequality, and address some aspects of climate change by providing individuals and families with the financial security necessary to make sustainable choices.\n", "\n", "### Redesign:\n", "\n", "1. **Implementation of UBI**:\n", " - **Amount**: A consistent payment that covers basic living expenses (housing, food, healthcare).\n", " - **Funding**: This could be financed through progressive taxation, carbon taxes, and reallocating funds from welfare programs that are less efficient.\n", " - **Political Will**: Building a coalition of support across different political ideologies by emphasizing benefits on economic stability and freedom.\n", "\n", "2. **Incorporating Environmental Impact**:\n", " - **Green UBI**: Include additional incentives for those who engage in sustainable practices (e.g., using public transportation, reducing waste).\n", " - **Support for Green Jobs**: UBI could provide the security for people to pursue jobs in the sustainable sector without the fear of financial instability.\n", "\n", "3. **Periodic Assessment**:\n", " - Regularly evaluate the effects on poverty levels, health outcomes, and job participation to adapt the amount/implementation according to real-world effectiveness.\n", "\n", "### Potential Unintended Consequences:\n", "\n", "1. **Work Incentives**:\n", " - Some might argue that UBI could reduce the incentive to work, leading to a labor shortage in certain sectors. While many studies suggest that a basic income does not disincentivize work, the perception and initial implementation may lead to concerns about motivation.\n", "\n", "2. **Inflationary Pressure**:\n", " - A sudden increase in disposable income across the population could lead to inflation, particularly in markets for basic goods and housing, erasing the benefits of UBI.\n", "\n", "3. **Social Dynamics**:\n", " - The social fabric might change, leading to a potential decrease in the sense of purpose that comes from work. Some people might feel disengaged from contributing to society, while others may flourish with the freedom to pursue passions and education.\n", "\n", "4. **Implementation Challenges**:\n", " - Transitioning to a UBI system could face significant political and logistical challenges. Regions with different needs may require tailored approaches, leading to implementation disparities.\n", "\n", "5. **Dependency on Government**:\n", " - There could be a concern about increased government dependency, leading some to argue against personal responsibility and initiative.\n", "\n", "### Conclusion:\n", "\n", "While implementing Universal Basic Income could significantly tackle poverty, inequality, and even environmental issues, careful consideration of communication, socio-economic impacts, and phased implementation would be vital to mitigate unintended consequences. A system that allows adjustment based on real-world effects can help society adapt and thrive.\n", "\n", "# Response from competitor 2\n", "\n", "If I could redesign one aspect of human society to eliminate a significant global issue, it would be **the inherent connection between economic value and environmental degradation.** My goal would be to decouple wealth creation from resource exploitation and pollution.\n", "\n", "**The Redesign: Replace GDP with a \"Genuine Progress Indicator\" (GPI) 2.0 and Universal Basic Services (UBS).**\n", "\n", "Currently, GDP (Gross Domestic Product) is the primary metric for economic success. It measures the total monetary value of goods and services produced within a country. However, GDP ignores the environmental and social costs associated with that production. Pollution, resource depletion, social inequality, and even natural disasters can *increase* GDP because they stimulate economic activity (e.g., cleanup efforts after a hurricane).\n", "\n", "**GPI 2.0:**\n", "\n", "* **Expanded Scope:** Instead of solely focusing on monetary value, GPI 2.0 would incorporate a comprehensive set of indicators:\n", " * **Environmental Sustainability:** Quantifiable metrics for resource depletion, carbon emissions, biodiversity loss, water and air pollution, deforestation, and land degradation.\n", " * **Social Well-being:** Measures of health (life expectancy, infant mortality), education (literacy rates, educational attainment), income inequality (Gini coefficient), poverty rates, access to healthcare, access to clean water and sanitation, crime rates, civic engagement, and perceived happiness/life satisfaction.\n", " * **Economic Productivity:** Retains aspects of GDP but adjusts for the cost of environmental and social impacts.\n", "* **Weighted Index:** A panel of experts (economists, scientists, sociologists, ethicists) would establish a weighted index reflecting the relative importance of each indicator. This index would need regular updating and be transparently determined.\n", "* **Policy Implications:** Governments would be incentivized (through international agreements, development aid criteria, etc.) to prioritize policies that improve their GPI 2.0 score. Policies that increase GDP at the expense of environmental or social well-being would be actively discouraged.\n", "\n", "**Universal Basic Services (UBS):**\n", "\n", "Alongside GPI 2.0, a robust system of Universal Basic Services (UBS) would be implemented. This would guarantee access to essential services like:\n", "\n", "* **Healthcare:** Comprehensive and preventative care, accessible to all, regardless of income or location.\n", "* **Education:** Free education from early childhood through university/vocational training.\n", "* **Housing:** Guaranteed access to safe and affordable housing.\n", "* **Food Security:** Programs to ensure access to nutritious food, potentially including subsidized or free basic food baskets.\n", "* **Transportation:** Accessible and affordable public transportation options.\n", "* **Digital Connectivity:** Guaranteed access to internet and essential digital literacy training.\n", "\n", "Funding for UBS would come from:\n", "\n", "* **Carbon Tax:** A globally harmonized carbon tax, the revenue from which is directly earmarked for UBS.\n", "* **Progressive Taxation:** Reforming tax systems to be more progressive, ensuring the wealthiest contribute a larger share.\n", "* **Reduced Military Spending:** Redirecting funds from military budgets to social programs.\n", "\n", "**Expected Impact:**\n", "\n", "* **Environmental Protection:** Businesses would be incentivized to adopt sustainable practices, reducing pollution and resource depletion to improve their GPI 2.0 score.\n", "* **Reduced Inequality:** UBS would provide a safety net, reducing poverty and inequality by ensuring everyone has access to basic necessities.\n", "* **Improved Health and Well-being:** Access to healthcare, education, and nutritious food would lead to healthier and more fulfilling lives.\n", "* **Sustainable Economic Growth:** Economic growth would be driven by innovation in sustainable technologies and services, rather than resource exploitation.\n", "\n", "**Potential Unintended Consequences:**\n", "\n", "* **Economic Slowdown:** Transitioning away from a GDP-centric economy could initially lead to slower economic growth as traditionally profitable but unsustainable industries decline.\n", "* **Complexity and Manipulation of GPI 2.0:** Developing and maintaining a fair and accurate GPI 2.0 index would be complex. Governments might try to manipulate the data or prioritize certain indicators to artificially inflate their scores.\n", "* **\"Free Rider\" Problem:** Some countries might refuse to adopt GPI 2.0 or contribute to funding UBS, benefiting from the positive externalities created by other countries' efforts without bearing the costs. This could create tension and undermine the effectiveness of the system.\n", "* **Reduced Innovation in Certain Sectors:** With a focus on sustainability, some industries focused on consumption and fast-paced technology turnover (e.g., planned obsolescence in electronics) might see a decline in innovation.\n", "* **Bureaucracy and Inefficiency:** Managing a large-scale UBS system could lead to bureaucratic inefficiencies and waste. Ensuring equitable access to services would require careful planning and oversight.\n", "* **Reduced Individual Freedom:** While providing a safety net, UBS might be perceived by some as reducing individual freedom and initiative. There's a risk of creating a dependency on the state.\n", "* **Black Market/Alternative Economies:** If the new system is perceived as unfair or overly restrictive, it could lead to the development of underground economies that are difficult to regulate.\n", "\n", "**Mitigation Strategies for Unintended Consequences:**\n", "\n", "* **Transparency and Accountability:** Make the GPI 2.0 calculation process transparent and subject to independent audits.\n", "* **International Cooperation:** Strong international agreements and enforcement mechanisms are needed to ensure all countries participate in the new system.\n", "* **Adaptive Management:** Continuously monitor the impact of the new system and make adjustments as needed.\n", "* **Community Involvement:** Involve local communities in the design and implementation of UBS programs to ensure they are tailored to local needs and preferences.\n", "* **Promote Innovation:** Provide incentives for innovation in sustainable technologies and services to drive economic growth.\n", "\n", "Ultimately, this redesigned societal structure represents a significant shift in priorities, moving from a purely economic focus to a more holistic and sustainable approach to development. While there are potential risks, the long-term benefits of addressing climate change, reducing inequality, and improving global well-being would outweigh the challenges. Careful planning, strong international cooperation, and continuous adaptation are crucial for successful implementation.\n", "\n", "\n", "\n" ] } ], "source": [ "print(together)" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "judge = f\"\"\"You are judging a competition between {len(competitors)} competitors.\n", "Each model has been given this question:\n", "\n", "{question}\n", "\n", "Your job is to evaluate each response for clarity and strength of argument, and rank them in order of best to worst.\n", "Respond with JSON, and only JSON, with the following format:\n", "{{\"results\": [\"best competitor number\", \"second best competitor number\", \"third best competitor number\", ...]}}\n", "\n", "Here are the responses from each competitor:\n", "\n", "{together}\n", "\n", "Now respond with the JSON with the ranked order of the competitors, nothing else. Do not include markdown formatting or code blocks.\"\"\"\n" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "You are judging a competition between 2 competitors.\n", "Each model has been given this question:\n", "\n", "If you could redesign one aspect of human society to eliminate a significant global issue (e.g., poverty, climate change, or inequality), what would that aspect be, how would you redesign it, and what potential unintended consequences might arise from this change?\n", "\n", "Your job is to evaluate each response for clarity and strength of argument, and rank them in order of best to worst.\n", "Respond with JSON, and only JSON, with the following format:\n", "{\"results\": [\"best competitor number\", \"second best competitor number\", \"third best competitor number\", ...]}\n", "\n", "Here are the responses from each competitor:\n", "\n", "# Response from competitor 1\n", "\n", "If I could redesign one aspect of human society to address a significant global issue, I would focus on the economic system, particularly by implementing a Universal Basic Income (UBI). UBI is a model where all citizens receive a regular, unconditional sum of money from the government, regardless of other income. This redesign could help alleviate poverty, reduce inequality, and address some aspects of climate change by providing individuals and families with the financial security necessary to make sustainable choices.\n", "\n", "### Redesign:\n", "\n", "1. **Implementation of UBI**:\n", " - **Amount**: A consistent payment that covers basic living expenses (housing, food, healthcare).\n", " - **Funding**: This could be financed through progressive taxation, carbon taxes, and reallocating funds from welfare programs that are less efficient.\n", " - **Political Will**: Building a coalition of support across different political ideologies by emphasizing benefits on economic stability and freedom.\n", "\n", "2. **Incorporating Environmental Impact**:\n", " - **Green UBI**: Include additional incentives for those who engage in sustainable practices (e.g., using public transportation, reducing waste).\n", " - **Support for Green Jobs**: UBI could provide the security for people to pursue jobs in the sustainable sector without the fear of financial instability.\n", "\n", "3. **Periodic Assessment**:\n", " - Regularly evaluate the effects on poverty levels, health outcomes, and job participation to adapt the amount/implementation according to real-world effectiveness.\n", "\n", "### Potential Unintended Consequences:\n", "\n", "1. **Work Incentives**:\n", " - Some might argue that UBI could reduce the incentive to work, leading to a labor shortage in certain sectors. While many studies suggest that a basic income does not disincentivize work, the perception and initial implementation may lead to concerns about motivation.\n", "\n", "2. **Inflationary Pressure**:\n", " - A sudden increase in disposable income across the population could lead to inflation, particularly in markets for basic goods and housing, erasing the benefits of UBI.\n", "\n", "3. **Social Dynamics**:\n", " - The social fabric might change, leading to a potential decrease in the sense of purpose that comes from work. Some people might feel disengaged from contributing to society, while others may flourish with the freedom to pursue passions and education.\n", "\n", "4. **Implementation Challenges**:\n", " - Transitioning to a UBI system could face significant political and logistical challenges. Regions with different needs may require tailored approaches, leading to implementation disparities.\n", "\n", "5. **Dependency on Government**:\n", " - There could be a concern about increased government dependency, leading some to argue against personal responsibility and initiative.\n", "\n", "### Conclusion:\n", "\n", "While implementing Universal Basic Income could significantly tackle poverty, inequality, and even environmental issues, careful consideration of communication, socio-economic impacts, and phased implementation would be vital to mitigate unintended consequences. A system that allows adjustment based on real-world effects can help society adapt and thrive.\n", "\n", "# Response from competitor 2\n", "\n", "If I could redesign one aspect of human society to eliminate a significant global issue, it would be **the inherent connection between economic value and environmental degradation.** My goal would be to decouple wealth creation from resource exploitation and pollution.\n", "\n", "**The Redesign: Replace GDP with a \"Genuine Progress Indicator\" (GPI) 2.0 and Universal Basic Services (UBS).**\n", "\n", "Currently, GDP (Gross Domestic Product) is the primary metric for economic success. It measures the total monetary value of goods and services produced within a country. However, GDP ignores the environmental and social costs associated with that production. Pollution, resource depletion, social inequality, and even natural disasters can *increase* GDP because they stimulate economic activity (e.g., cleanup efforts after a hurricane).\n", "\n", "**GPI 2.0:**\n", "\n", "* **Expanded Scope:** Instead of solely focusing on monetary value, GPI 2.0 would incorporate a comprehensive set of indicators:\n", " * **Environmental Sustainability:** Quantifiable metrics for resource depletion, carbon emissions, biodiversity loss, water and air pollution, deforestation, and land degradation.\n", " * **Social Well-being:** Measures of health (life expectancy, infant mortality), education (literacy rates, educational attainment), income inequality (Gini coefficient), poverty rates, access to healthcare, access to clean water and sanitation, crime rates, civic engagement, and perceived happiness/life satisfaction.\n", " * **Economic Productivity:** Retains aspects of GDP but adjusts for the cost of environmental and social impacts.\n", "* **Weighted Index:** A panel of experts (economists, scientists, sociologists, ethicists) would establish a weighted index reflecting the relative importance of each indicator. This index would need regular updating and be transparently determined.\n", "* **Policy Implications:** Governments would be incentivized (through international agreements, development aid criteria, etc.) to prioritize policies that improve their GPI 2.0 score. Policies that increase GDP at the expense of environmental or social well-being would be actively discouraged.\n", "\n", "**Universal Basic Services (UBS):**\n", "\n", "Alongside GPI 2.0, a robust system of Universal Basic Services (UBS) would be implemented. This would guarantee access to essential services like:\n", "\n", "* **Healthcare:** Comprehensive and preventative care, accessible to all, regardless of income or location.\n", "* **Education:** Free education from early childhood through university/vocational training.\n", "* **Housing:** Guaranteed access to safe and affordable housing.\n", "* **Food Security:** Programs to ensure access to nutritious food, potentially including subsidized or free basic food baskets.\n", "* **Transportation:** Accessible and affordable public transportation options.\n", "* **Digital Connectivity:** Guaranteed access to internet and essential digital literacy training.\n", "\n", "Funding for UBS would come from:\n", "\n", "* **Carbon Tax:** A globally harmonized carbon tax, the revenue from which is directly earmarked for UBS.\n", "* **Progressive Taxation:** Reforming tax systems to be more progressive, ensuring the wealthiest contribute a larger share.\n", "* **Reduced Military Spending:** Redirecting funds from military budgets to social programs.\n", "\n", "**Expected Impact:**\n", "\n", "* **Environmental Protection:** Businesses would be incentivized to adopt sustainable practices, reducing pollution and resource depletion to improve their GPI 2.0 score.\n", "* **Reduced Inequality:** UBS would provide a safety net, reducing poverty and inequality by ensuring everyone has access to basic necessities.\n", "* **Improved Health and Well-being:** Access to healthcare, education, and nutritious food would lead to healthier and more fulfilling lives.\n", "* **Sustainable Economic Growth:** Economic growth would be driven by innovation in sustainable technologies and services, rather than resource exploitation.\n", "\n", "**Potential Unintended Consequences:**\n", "\n", "* **Economic Slowdown:** Transitioning away from a GDP-centric economy could initially lead to slower economic growth as traditionally profitable but unsustainable industries decline.\n", "* **Complexity and Manipulation of GPI 2.0:** Developing and maintaining a fair and accurate GPI 2.0 index would be complex. Governments might try to manipulate the data or prioritize certain indicators to artificially inflate their scores.\n", "* **\"Free Rider\" Problem:** Some countries might refuse to adopt GPI 2.0 or contribute to funding UBS, benefiting from the positive externalities created by other countries' efforts without bearing the costs. This could create tension and undermine the effectiveness of the system.\n", "* **Reduced Innovation in Certain Sectors:** With a focus on sustainability, some industries focused on consumption and fast-paced technology turnover (e.g., planned obsolescence in electronics) might see a decline in innovation.\n", "* **Bureaucracy and Inefficiency:** Managing a large-scale UBS system could lead to bureaucratic inefficiencies and waste. Ensuring equitable access to services would require careful planning and oversight.\n", "* **Reduced Individual Freedom:** While providing a safety net, UBS might be perceived by some as reducing individual freedom and initiative. There's a risk of creating a dependency on the state.\n", "* **Black Market/Alternative Economies:** If the new system is perceived as unfair or overly restrictive, it could lead to the development of underground economies that are difficult to regulate.\n", "\n", "**Mitigation Strategies for Unintended Consequences:**\n", "\n", "* **Transparency and Accountability:** Make the GPI 2.0 calculation process transparent and subject to independent audits.\n", "* **International Cooperation:** Strong international agreements and enforcement mechanisms are needed to ensure all countries participate in the new system.\n", "* **Adaptive Management:** Continuously monitor the impact of the new system and make adjustments as needed.\n", "* **Community Involvement:** Involve local communities in the design and implementation of UBS programs to ensure they are tailored to local needs and preferences.\n", "* **Promote Innovation:** Provide incentives for innovation in sustainable technologies and services to drive economic growth.\n", "\n", "Ultimately, this redesigned societal structure represents a significant shift in priorities, moving from a purely economic focus to a more holistic and sustainable approach to development. While there are potential risks, the long-term benefits of addressing climate change, reducing inequality, and improving global well-being would outweigh the challenges. Careful planning, strong international cooperation, and continuous adaptation are crucial for successful implementation.\n", "\n", "\n", "\n", "\n", "Now respond with the JSON with the ranked order of the competitors, nothing else. Do not include markdown formatting or code blocks.\n" ] } ], "source": [ "print(judge)" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "judge_messages = [{\"role\": \"user\", \"content\": judge}]" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{\"results\": [\"2\", \"1\"]}\n" ] } ], "source": [ "# Judgement time!\n", "\n", "openai = OpenAI()\n", "response = openai.chat.completions.create(\n", " model=\"o3-mini\",\n", " messages=judge_messages,\n", ")\n", "results = response.choices[0].message.content\n", "print(results)\n" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Rank 1: gemini-2.0-flash\n", "Rank 2: gpt-4o-mini\n" ] } ], "source": [ "# OK let's turn this into results!\n", "\n", "results_dict = json.loads(results)\n", "ranks = results_dict[\"results\"]\n", "for index, result in enumerate(ranks):\n", " competitor = competitors[int(result)-1]\n", " print(f\"Rank {index+1}: {competitor}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", " \n", " \n", " \n", " \n", "
\n", " \n", " \n", "

Exercise

\n", " Which pattern(s) did this use? Try updating this to add another Agentic design pattern.\n", " \n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", " \n", " \n", " \n", " \n", "
\n", " \n", " \n", "

Commercial implications

\n", " These kinds of patterns - to send a task to multiple models, and evaluate results,\n", " are common where you need to improve the quality of your LLM response. This approach can be universally applied\n", " to business projects where accuracy is critical.\n", " \n", "
" ] } ], "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.12.11" } }, "nbformat": 4, "nbformat_minor": 2 }