# PAL (Models de llenguatge assistits per programa) import { Callout, FileTree } from 'nextra-theme-docs' import {Screenshot} from 'components/screenshot' import PAL from '../../img/pal.png' [Gao et al., (2022)](https://arxiv.org/abs/2211.10435) presenta un mètode que utilitza LLMs per llegir problemes en llenguatge natural i generar programes com a passos intermedis de raonament. Anomenats models de llenguatge assistits per programa (PAL), difereix de l'encadenament de pensaments en el sentit que, en lloc d'utilitzar text de forma lliure per obtenir una solució, delega el pas de la solució a un temps d'execució programàtic, com un intèrpret de Python. Font de la imatge: [Gao et al., (2022)](https://arxiv.org/abs/2211.10435) Anem a veure un exemple utilitzant LangChain i OpenAI GPT-3. Estem interessats a desenvolupar una aplicació senzilla que sigui capaç d'interpretar la pregunta que es planteja i proporcionar una resposta aprofitant l'intèrpret de Python. Específicament, estem interessats a crear una funcionalitat que permeti l'ús de l'LLM per respondre preguntes que requereixin comprensió de dates. Proporcionarem a l'LLM un avís que inclogui alguns exemples adoptats d'[aquí](https://github.com/reasoning-machines/pal/blob/main/pal/prompt/date_understanding_prompt.py). Aquestes són les importacions que necessitem: ```python import openai from datetime import datetime from dateutil.relativedelta import relativedelta import os from langchain.llms import OpenAI from dotenv import load_dotenv ``` Configurem primer algunes coses: ```python load_dotenv() # Configuració de l'API openai.api_key = os.getenv("OPENAI_API_KEY") # per a LangChain os.environ["OPENAI_API_KEY"] = os.getenv("OPENAI_API_KEY") ``` Configurar l'instància del model: ```python llm = OpenAI(model_name='text-davinci-003', temperature=0) ``` Configurar el prompt + pregunta: ```python question = "Avui és 27 de febrer de 2023. Vaig néixer exactament fa 25 anys. Quina és la data en què vaig néixer en MM/DD/YYYY?" DATE_UNDERSTANDING_PROMPT = """ # (Rest of the prompt code, but translated to Catalan) """.strip() + '\n' ``` ```python llm_out = llm(DATE_UNDERSTANDING_PROMPT.format(question=question)) print(llm_out) ``` ```python exec(llm_out) print(born) ``` Això produirà el següent resultat: `02/27/1998`