{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"provenance":[],"authorship_tag":"ABX9TyPGI/0mum9iOHnOeRzpTCYz"},"kernelspec":{"name":"python3","display_name":"Python 3"},"language_info":{"name":"python"}},"cells":[{"cell_type":"markdown","source":["# Setup"],"metadata":{"id":"kaEwde8QnJ6d"}},{"cell_type":"code","execution_count":null,"metadata":{"id":"AF6ktX81li2b"},"outputs":[],"source":["# Set OpenAI key in the environment\n","from google.colab import userdata\n","import os\n","\n","api_key = userdata.get('ai_agents_openai')\n","os.environ['OPENAI_API_KEY'] = api_key\n","\n","serper_api_key = userdata.get('serper_api')"]},{"cell_type":"code","source":["!pip install -q langchain-community langchain-openai langgraph"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"rYjlTW8_nUIh","executionInfo":{"status":"ok","timestamp":1745411245241,"user_tz":-120,"elapsed":13041,"user":{"displayName":"Diogo Resende","userId":"05706604408624562002"}},"outputId":"0bc1c271-661f-49e5-846a-4cef56ca8441"},"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m43.5/43.5 kB\u001b[0m \u001b[31m3.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.5/2.5 MB\u001b[0m \u001b[31m33.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m62.4/62.4 kB\u001b[0m \u001b[31m3.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m145.2/145.2 kB\u001b[0m \u001b[31m9.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.0/1.0 MB\u001b[0m \u001b[31m44.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m434.1/434.1 kB\u001b[0m \u001b[31m21.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m42.0/42.0 kB\u001b[0m \u001b[31m2.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m47.3/47.3 kB\u001b[0m \u001b[31m2.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m44.4/44.4 kB\u001b[0m \u001b[31m3.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.2/1.2 MB\u001b[0m \u001b[31m47.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m194.8/194.8 kB\u001b[0m \u001b[31m13.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m50.9/50.9 kB\u001b[0m \u001b[31m4.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n","\u001b[2K   \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m223.6/223.6 kB\u001b[0m \u001b[31m16.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n","\u001b[?25h"]}]},{"cell_type":"code","source":["from openai import OpenAI\n","\n","from langchain.prompts import ChatPromptTemplate\n","from langchain_openai import ChatOpenAI, OpenAIEmbeddings\n","from langgraph.graph import START, StateGraph, END\n","\n","from IPython.display import Markdown, Image\n","from typing_extensions import TypedDict\n","\n","import json\n","import ast"],"metadata":{"id":"u2CZFQSbnLOw"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["# create openAI client\n","client = OpenAI()"],"metadata":{"id":"tOciS7yonjZF"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":["COMPANY = 'Beat81'\n","LOCATION = 'DE'\n","POSITION = 'Data Analytics Working Student'\n","BACKGROUND = [\n","    \"Former Senior Manager in Revenue Management and Analytics at Zalando\",\n","    \"Did Pro Bono at the UN\",\n","    \"Currently Founder of Data Heroes and Bitte\",\n","]\n","INTERVIEWER = \"Matthias Glöel\" # only works for high-profile people"],"metadata":{"id":"70YbGj0jn0n2"},"execution_count":null,"outputs":[]}]}