{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Person-information and meeting preparation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'gpt-4o-mini'"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from oa import DFLT_MODEL, prompt_json_function, prompt_function\n",
    "from lkj import wrapped_print\n",
    "\n",
    "use_cases_for_person = prompt_function(\n",
    "    \"\"\"Start by reflecting on a person named {person_name}, c\n",
    "    onsidering their academic background, work experience, \n",
    "    business expertise, current position, and personal interests. \n",
    "    Then, based on this understanding, generate five use cases of \n",
    "    generative AI that would most likely capture their interest. \n",
    "    For each use case, explain why it aligns with their background \n",
    "    and interests, ensuring that your reasoning is clear and follows \n",
    "    logically from your reflection on their profile.\"\"\"\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "persons = [\n",
    "    \"Jahrl Stefan Norberg\", \n",
    "]\n",
    "person_info = {}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "for person in persons:\n",
    "    person_info[person] = use_cases_for_person(person)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "**Reflection on Jahrl Stefan Norberg:**\n",
      "\n",
      "1. **Academic Background:** Jahrl likely possesses a strong academic foundation,\n",
      " potentially in fields such as business, technology, or a related discipline. \n",
      "This background would have equipped him with analytical skills and a solid \n",
      "understanding of business principles.\n",
      "\n",
      "2. **Work Experience:** His work experience may encompass roles in business \n",
      "management, consulting, or technology, suggesting familiarity with both \n",
      "operational and strategic aspects of organizations. This experience could inform\n",
      " his appreciation for innovative solutions that enhance productivity or drive \n",
      "business growth.\n",
      "\n",
      "3. **Business Expertise:** Jahrl’s expertise could be in areas such as \n",
      "entrepreneurship, project management, or digital transformation, especially if \n",
      "he has worked on initiatives that embrace technological advancements. This \n",
      "expertise would resonate with trends in generative AI, particularly in improving\n",
      " operational efficiency and decision-making.\n",
      "\n",
      "4. **Current Position:** Depending on his current role, Jahrl might be involved \n",
      "in leadership, innovation, or strategic development. If he’s in a position of \n",
      "influence, he likely seeks out technologies that can disrupt standard practices \n",
      "and offer competitive advantages.\n",
      "\n",
      "5. **Personal Interests:** Jahrl may have personal interests in technology, \n",
      "creative processes, or enabling organizational growth. If he is passionate about\n",
      " leveraging technology for better outcomes, that would be crucial in tailoring \n",
      "the use cases for generative AI that would appeal to him.\n",
      "\n",
      "**Use Cases of Generative AI:**\n",
      "\n",
      "1. **Automated Business Reporting and Analysis:**\n",
      "   - **Why it aligns:** This use case would appeal to Jahrl’s experience in \n",
      "managing operations and his interest in data-driven decision-making. Generative \n",
      "AI can automate the synthesis of various data sources into cohesive reports, \n",
      "saving time and improving strategic insight.\n",
      "\n",
      "2. **Content Generation for Marketing:**\n",
      "   - **Why it aligns:** If Jahrl has experience in marketing or outreach, the \n",
      "use of generative AI to create engaging content, social media posts, or email \n",
      "campaigns would facilitate his efforts to connect with clients or stakeholders. \n",
      "It plays into his interest in innovative marketing strategies.\n",
      "\n",
      "3. **Personalized Learning Platforms for Employee Development:**\n",
      "   - **Why it aligns:** As a business leader, Jahrl may value employee growth \n",
      "and training. Generative AI can create personalized learning paths for \n",
      "employees, addressing their individual strengths and weaknesses, which would \n",
      "help in enhancing team performance and satisfaction.\n",
      "\n",
      "4. **Brainstorming and Ideation Tools:**\n",
      "   - **Why it aligns:** If Jahrl is involved in innovation or product \n",
      "development, generative AI tools that assist in brainstorming could help \n",
      "generate new ideas or business strategies efficiently. This synthesis of \n",
      "creativity and technology would likely fascinate him.\n",
      "\n",
      "5. **Customer Support Chatbots with Advanced AI Capabilities:**\n",
      "   - **Why it aligns:** Jahrl may be interested in enhancing customer experience\n",
      " and operational efficiency. AI-powered chatbots can handle inquiries round the \n",
      "clock, providing consistent support and freeing up human resources for more \n",
      "complex tasks—aligning with his seek for innovative solutions to boost business \n",
      "functionality.\n",
      "\n",
      "In summary, the use cases suggested hinge on the possibility that Jahrl Stefan \n",
      "Norberg has a solid grounding in business and technology, with potential roles \n",
      "that seek efficiency, innovation, and strategic advantage. Generative AI \n",
      "applications aligned with these areas would not only catch his interest but also\n",
      " provide substantial value to his work and aspirations.\n"
     ]
    }
   ],
   "source": [
    "wrapped_print(person_info[\"Jahrl Stefan Norberg\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "### Reflection on Thor Whalen\n",
      "\n",
      "**Academic Background**: Assuming Thor Whalen has a strong academic foundation \n",
      "in business administration, computer science, or a related field. This \n",
      "background will offer him a profound understanding of both business strategies \n",
      "and technological advancements, laying a great foundation for applying \n",
      "generative AI.\n",
      "\n",
      "**Work Experience**: With potential experience in technology consulting or \n",
      "digital transformation, Thor is likely adept at managing complex projects and \n",
      "understanding the interplay between technology and business outcomes. His \n",
      "previous roles might include working with startups or established tech firms, \n",
      "equipping him with insights into market trends and operational efficiencies.\n",
      "\n",
      "**Business Expertise**: Thor's expertise could range from entrepreneurship to \n",
      "corporate strategy. This would suggest that he possesses the skills to identify \n",
      "opportunities for innovation and improvement within business processes, making \n",
      "him a valuable resource for companies looking to leverage AI technologies.\n",
      "\n",
      "**Current Position**: If Thor is currently in a leadership role, such as a \n",
      "product manager or a chief technology officer, he would be responsible for \n",
      "shaping the strategic direction of AI initiatives in his organization. This \n",
      "position demands not only technical knowledge but also the ability to \n",
      "communicate effectively with diverse stakeholders.\n",
      "\n",
      "**Personal Interests**: Assuming Thor has an interest in emerging technologies, \n",
      "entrepreneurship, and perhaps even social impact initiatives, he is likely to be\n",
      " enthusiastic about developing solutions that address real-world problems \n",
      "through innovative approaches.\n",
      "\n",
      "### Use Cases of Generative AI\n",
      "\n",
      "1. **Automated Market Research Generation**:\n",
      "   - **Reasoning**: Thor’s background in business and technology positions him \n",
      "to appreciate the value of real-time market insights. Leveraging generative AI \n",
      "to automate market research processes aligns perfectly with his expertise. It \n",
      "would allow Thor to quickly analyze consumer trends and preferences, thus aiding\n",
      " in more informed decision-making.\n",
      "\n",
      "2. **AI-Powered Product Development**:\n",
      "   - **Reasoning**: If Thor is overseeing product development, using generative \n",
      "AI to create prototypes or simulate user interactions can significantly \n",
      "accelerate the innovation cycle. This use case resonates with his potential role\n",
      " in technology strategy and aligns with his interest in entrepreneurship by \n",
      "fostering rapid iteration of ideas.\n",
      "\n",
      "3. **Content Creation for Brand Storytelling**:\n",
      "   - **Reasoning**: A leadership role in marketing or brand management would \n",
      "benefit from generative AI tools that create compelling content. Thor’s \n",
      "understanding of business communication could help frame the use of AI in \n",
      "telling engaging brand stories, enhancing both customer engagement and brand \n",
      "loyalty.\n",
      "\n",
      "4. **Personalized Customer Experiences**:\n",
      "   - **Reasoning**: The ability to tailor customer interactions through \n",
      "generative AI is crucial for successful modern businesses. Thor’s work \n",
      "experience positions him to advocate for AI solutions that adapt offerings based\n",
      " on user behavior, enhancing customer satisfaction and driving sales—key \n",
      "objectives for any business leader.\n",
      "\n",
      "5. **AI-Driven Decision Support Systems**:\n",
      "   - **Reasoning**: Generative AI can play a central role in creating \n",
      "sophisticated decision support tools that synthesize data for strategic business\n",
      " planning. For someone in Thor's role, utilizing these systems can streamline \n",
      "operations and lead to better outcomes, making them an appealing tool for both \n",
      "him and his organization.\n",
      "\n",
      "These use cases demonstrate how Thor Whalen's academic, professional, and \n",
      "personal attributes align with the potential applications of generative AI, \n",
      "making them relevant and impactful in both his career and interests.\n",
      "\n"
     ]
    }
   ],
   "source": [
    "response = use_cases_for_person('Thor Whalen')\n",
    "wrapped_print(response)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "import requests\n",
    "import openai\n",
    "import os \n",
    "\n",
    "import ug\n",
    "\n",
    "# Example using Google Custom Search API\n",
    "search_api_key = os.environ['GOOGLE_API_KEY']\n",
    "search_engine_id = \"9794ddc10ad374fbd\"\n",
    "query = \"latest research on AI ethics\"\n",
    "\n",
    "search_url = f\"https://www.googleapis.com/customsearch/v1?q={query}&key={search_api_key}&cx={search_engine_id}\"\n",
    "search_response = requests.get(search_url).json()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "from functools import partial\n",
    "from typing import Callable\n",
    "\n",
    "from config2py import simple_config_getter\n",
    "import requests\n",
    "\n",
    "config_getter = simple_config_getter('ug')\n",
    "\n",
    "\n",
    "def identity(x):\n",
    "    return x\n",
    "\n",
    "def google_search(\n",
    "    query: str,\n",
    "    egress: Callable = identity,\n",
    "    *,\n",
    "    search_api_key=None,\n",
    "    search_engine_id=None,\n",
    "):\n",
    "    search_api_key = config_getter('GOOGLE_API_KEY')\n",
    "    search_engine_id = config_getter('GOOGLE_SEARCH_ENGINE_ID')\n",
    "    search_url = f\"https://www.googleapis.com/customsearch/v1?q={query}&key={search_api_key}&cx={search_engine_id}\"\n",
    "    search_response = requests.get(search_url).json()\n",
    "    return search_response\n",
    "\n",
    "\n",
    "def extract_item_fields(fields=('title', 'link')):\n",
    "    from glom import glom\n",
    "\n",
    "    return partial(glom, spec=('items', [{field: field for field in fields}]))\n",
    "\n",
    "google_search.titles_and_links = partial(\n",
    "    google_search, egress=extract_item_fields(['title', 'link'])\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "r = google_search('Thor Whalen')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'kind': 'customsearch#result',\n",
       " 'title': 'Thor Whalen - Figiri | LinkedIn',\n",
       " 'htmlTitle': '<b>Thor Whalen</b> - Figiri | LinkedIn',\n",
       " 'link': 'https://uk.linkedin.com/in/thorwhalen',\n",
       " 'displayLink': 'uk.linkedin.com',\n",
       " 'snippet': 'I am a seasoned Director of Machine Learning with a passion for developing cutting-edge… · Experience: Figiri · Education: Emory University · Location:\\xa0...',\n",
       " 'htmlSnippet': 'I am a seasoned Director of Machine Learning with a passion for developing cutting-edge… · Experience: Figiri · Education: Emory University · Location:&nbsp;...',\n",
       " 'formattedUrl': 'https://uk.linkedin.com/in/thorwhalen',\n",
       " 'htmlFormattedUrl': 'https://uk.linkedin.com/in/<b>thorwhalen</b>',\n",
       " 'pagemap': {'cse_thumbnail': [{'src': 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRULGNTt0-Lk7Qa0I20pF9oLRcTCKcI0e6mPFc5piiXlUYzfoVc-U5PfNn3&s',\n",
       "    'width': '297',\n",
       "    'height': '170'}],\n",
       "  'metatags': [{'og:image': 'https://media.licdn.com/dms/image/v2/C4E03AQE6wgUzTJf2Qw/profile-displayphoto-shrink_200_200/profile-displayphoto-shrink_200_200/0/1516307985303?e=2147483647&v=beta&t=Q12zQEJaqwhaAm68DYtzIc01IJ4Wkn9nVyXgMPkZO6I',\n",
       "    'twitter:card': 'summary',\n",
       "    'linkedin:pagetag': 'openToProvider',\n",
       "    'platform-worker': 'https://static.licdn.com/aero-v1/sc/h/7nirg34a8ey4y2l4rw7xgwxx4',\n",
       "    'al:android:package': 'com.linkedin.android',\n",
       "    'bingbot': 'nocache',\n",
       "    'locale': 'en_US',\n",
       "    'al:ios:url': 'https://uk.linkedin.com/in/thorwhalen',\n",
       "    'og:description': 'I am a seasoned Director of Machine Learning with a passion for developing cutting-edge… · Experience: Figiri · Education: Emory University · Location: London · 500+ connections on LinkedIn. View Thor Whalen’s profile on LinkedIn, a professional community of 1 billion members.',\n",
       "    'al:ios:app_store_id': '288429040',\n",
       "    'platform': 'https://static.licdn.com/aero-v1/sc/h/cbkh0sx42xkppqhywbu843ar7',\n",
       "    'twitter:image': 'https://media.licdn.com/dms/image/v2/C4E03AQE6wgUzTJf2Qw/profile-displayphoto-shrink_200_200/profile-displayphoto-shrink_200_200/0/1516307985303?e=2147483647&v=beta&t=Q12zQEJaqwhaAm68DYtzIc01IJ4Wkn9nVyXgMPkZO6I',\n",
       "    'profile:last_name': 'Whalen',\n",
       "    'twitter:site': '@Linkedin',\n",
       "    'litmsprofilename': 'public-profile-frontend',\n",
       "    'profile:first_name': 'Thor',\n",
       "    'og:type': 'profile',\n",
       "    'twitter:title': 'Thor Whalen - Figiri | LinkedIn',\n",
       "    'al:ios:app_name': 'LinkedIn',\n",
       "    'og:title': 'Thor Whalen - Figiri | LinkedIn',\n",
       "    'pagekey': 'public_profile_v3_mobile',\n",
       "    'al:android:url': 'https://uk.linkedin.com/in/thorwhalen',\n",
       "    'viewport': 'width=device-width, initial-scale=1.0',\n",
       "    'twitter:description': 'I am a seasoned Director of Machine Learning with a passion for developing cutting-edge… · Experience: Figiri · Education: Emory University · Location: London · 500+ connections on LinkedIn. View Thor Whalen’s profile on LinkedIn, a professional community of 1 billion members.',\n",
       "    'ubba': 'https://static.licdn.com/aero-v1/sc/h/6q1rjhrayszfmd8hoxlh4rx2o',\n",
       "    'og:url': 'https://uk.linkedin.com/in/thorwhalen',\n",
       "    'al:android:app_name': 'LinkedIn'}],\n",
       "  'cse_image': [{'src': 'https://media.licdn.com/dms/image/sync/v2/D4D27AQEi0okyp3C82w/articleshare-shrink_800/articleshare-shrink_800/0/1721907427582?e=2147483647&v=beta&t=NG7XBFwpEw7NKnXTrcavXZhmZDUItYIZ9ahO3Yoi8uA'}],\n",
       "  'Person': [{}]}}"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r['items'][2]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[{'title': 'New Gift Supports Research in AI, Ethics',\n",
       "  'link': 'https://www.duq.edu/news-and-stories/releases/grefenstette-hillman-gift.php'},\n",
       " {'title': 'Ethics of Artificial Intelligence | UNESCO',\n",
       "  'link': 'https://www.unesco.org/en/artificial-intelligence/recommendation-ethics'},\n",
       " {'title': 'Ethical concerns mount as AI takes bigger decision-making role ...',\n",
       "  'link': 'https://news.harvard.edu/gazette/story/2020/10/ethical-concerns-mount-as-ai-takes-bigger-decision-making-role/'},\n",
       " {'title': 'NEH Awards $2.72 Million to Create Research Centers Examining ...',\n",
       "  'link': 'https://www.neh.gov/news/neh-awards-272-million-create-ai-research-centers'},\n",
       " {'title': 'Ethics and Artificial Intelligence | Stanford HAI',\n",
       "  'link': 'https://hai.stanford.edu/ethics-and-artificial-intelligence'},\n",
       " {'title': 'The Ethics in AI Institute | Humanities | University of Oxford',\n",
       "  'link': 'https://www.schwarzmancentre.ox.ac.uk/ethicsinai'},\n",
       " {'title': 'What is AI Ethics? | IBM',\n",
       "  'link': 'https://www.ibm.com/topics/ai-ethics'},\n",
       " {'title': 'Specific challenges posed by artificial intelligence in research ethics ...',\n",
       "  'link': 'https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10358356/'},\n",
       " {'title': 'NIST Researchers Suggest Historical Precedent for Ethical AI ...',\n",
       "  'link': 'https://www.nist.gov/news-events/news/2024/02/nist-researchers-suggest-historical-precedent-ethical-ai-research'},\n",
       " {'title': 'NSF announces 7 new National Artificial Intelligence Research ...',\n",
       "  'link': 'https://new.nsf.gov/news/nsf-announces-7-new-national-artificial'}]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from glom import glom\n",
    "\n",
    "\n",
    "# Glom spec to extract titles and links\n",
    "spec = ('items', [{'title': 'title', 'link': 'link'}])\n",
    "\n",
    "# Extract titles and links using glom\n",
    "extracted_data = glom(search_response, spec)\n",
    "extracted_data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Parsing out information"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Like many other tasks in NLP, parsing out information out of some text used to be hard.\n",
    "\n",
    "Now, it's as easy as pie.\n",
    "\n",
    "Just tell AI to do it.\n",
    "\n",
    "In the following example, we make a general `parse_content` function, and by fixing the \n",
    "info we want to parse out, make a `parse_info` function from it. \n",
    "\n",
    "Then, just piping a `search_url` function (using arxiv search as an example) to \n",
    "a few functions, and feeding that to `parse_info`, we get "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<function oa.tools.prompt_function.<locals>.ask_oa(content, *, info)>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import oa\n",
    "from functools import partial\n",
    "\n",
    "parse_content = oa.prompt_json_function(\"\"\"\n",
    "I need you to parse out information from the following content:\n",
    "                        \n",
    "{content}\n",
    "                        \n",
    "Specifically, I need you to extract the following information:\n",
    "{info}\n",
    "\n",
    "\"\"\",\n",
    "json_schema=\"object\",\n",
    "model='gpt-4o',\n",
    ")\n",
    "\n",
    "parse_content\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [],
   "source": [
    "from urllib.parse import quote_plus\n",
    "from functools import partial\n",
    "from dol import Pipe\n",
    "from scraped.util import html_to_markdown  # because html is unnecessarily long\n",
    "import requests \n",
    "from operator import attrgetter, itemgetter\n",
    "\n",
    "\n",
    "def search_url(query, *, search_type='all'):\n",
    "    return f\"https://arxiv.org/search/?query={quote_plus(query)}&searchtype={search_type}&source=header\"\n",
    "\n",
    "\n",
    "parse_info = partial(\n",
    "    parse_content, \n",
    "    info='title, authors, abstract, pdf_link, journal, publication_date'\n",
    ")\n",
    "\n",
    "search_info = Pipe(\n",
    "    search_url,  # make a url from the query string\n",
    "    requests.get,  # get the contents of the url\n",
    "    attrgetter('text'),  # get the html from the response\n",
    "    html_to_markdown,  # convert the html to markdown, to get rid of a lot of the noise\n",
    "    parse_info,  # parse the markdown to get the information\n",
    "    itemgetter('result')  # get the result from the parsed information (the default json schema only enforces the 'result' key)\n",
    ")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note: We didn't fix the json schema, so we have to peep into what AI chose for us.\n",
    "\n",
    "In real life, we would settle on a schema, and oblige AI to abide by it, so we can extract the info we want in a robust way."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "info = search_info(\"small language models\")\n",
    "len(info)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['articles']"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "list(info)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>title</th>\n",
       "      <th>authors</th>\n",
       "      <th>abstract</th>\n",
       "      <th>pdf_link</th>\n",
       "      <th>journal</th>\n",
       "      <th>publication_date</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Improving Small-Scale Large Language Models Fu...</td>\n",
       "      <td>[Graziano A. Manduzio, Federico A. Galatolo, M...</td>\n",
       "      <td>Recent advancements in Large Language Models (...</td>\n",
       "      <td>https://arxiv.org/pdf/2410.18890</td>\n",
       "      <td></td>\n",
       "      <td>24 October, 2024</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Should We Really Edit Language Models? On the ...</td>\n",
       "      <td>[Qi Li, Xiang Liu, Zhenheng Tang, Peijie Dong,...</td>\n",
       "      <td>Model editing has become an increasingly popul...</td>\n",
       "      <td>https://arxiv.org/pdf/2410.18785</td>\n",
       "      <td>NeurIPS 2024</td>\n",
       "      <td>24 October, 2024</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>A Little Help Goes a Long Way: Efficient LLM T...</td>\n",
       "      <td>[Ankit Singh Rawat, Veeranjaneyulu Sadhanala, ...</td>\n",
       "      <td>A primary challenge in large language model (L...</td>\n",
       "      <td>https://arxiv.org/pdf/2410.18779</td>\n",
       "      <td></td>\n",
       "      <td>24 October, 2024</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Little Giants: Synthesizing High-Quality Embed...</td>\n",
       "      <td>[Haonan Chen, Liang Wang, Nan Yang, Yutao Zhu,...</td>\n",
       "      <td>Synthetic data generation has become an increa...</td>\n",
       "      <td>https://arxiv.org/pdf/2410.18634</td>\n",
       "      <td></td>\n",
       "      <td>24 October, 2024</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Prompting and Fine-Tuning of Small LLMs for Le...</td>\n",
       "      <td>[David Thulke, Yingbo Gao, Rricha Jalota, Chri...</td>\n",
       "      <td>This paper explores the rapid development of a...</td>\n",
       "      <td>https://arxiv.org/pdf/2410.18624</td>\n",
       "      <td></td>\n",
       "      <td>24 October, 2024</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                               title  \\\n",
       "0  Improving Small-Scale Large Language Models Fu...   \n",
       "1  Should We Really Edit Language Models? On the ...   \n",
       "2  A Little Help Goes a Long Way: Efficient LLM T...   \n",
       "3  Little Giants: Synthesizing High-Quality Embed...   \n",
       "4  Prompting and Fine-Tuning of Small LLMs for Le...   \n",
       "\n",
       "                                             authors  \\\n",
       "0  [Graziano A. Manduzio, Federico A. Galatolo, M...   \n",
       "1  [Qi Li, Xiang Liu, Zhenheng Tang, Peijie Dong,...   \n",
       "2  [Ankit Singh Rawat, Veeranjaneyulu Sadhanala, ...   \n",
       "3  [Haonan Chen, Liang Wang, Nan Yang, Yutao Zhu,...   \n",
       "4  [David Thulke, Yingbo Gao, Rricha Jalota, Chri...   \n",
       "\n",
       "                                            abstract  \\\n",
       "0  Recent advancements in Large Language Models (...   \n",
       "1  Model editing has become an increasingly popul...   \n",
       "2  A primary challenge in large language model (L...   \n",
       "3  Synthetic data generation has become an increa...   \n",
       "4  This paper explores the rapid development of a...   \n",
       "\n",
       "                           pdf_link       journal  publication_date  \n",
       "0  https://arxiv.org/pdf/2410.18890                24 October, 2024  \n",
       "1  https://arxiv.org/pdf/2410.18785  NeurIPS 2024  24 October, 2024  \n",
       "2  https://arxiv.org/pdf/2410.18779                24 October, 2024  \n",
       "3  https://arxiv.org/pdf/2410.18634                24 October, 2024  \n",
       "4  https://arxiv.org/pdf/2410.18624                24 October, 2024  "
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "\n",
    "pd.DataFrame(info['articles'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "p10",
   "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.10.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
