Home >Backend Development >Python Tutorial >Let's talk about how to design a great reminder app?

Let's talk about how to design a great reminder app?

王林
王林forward
2023-04-24 18:49:091122browse

In this guide, we will cover some advanced and interesting ways we can use hint engineering to perform useful and more advanced tasks.

Please note that this section is under heavy development. Topic:

  • Generating data
  • Program-assisted language model
  • Python notebook

1. Generating data

LLM has powerful text generation capabilities. Using effective prompting strategies can guide the model to produce better, more consistent, and more factual responses. LLM is also particularly useful for generating data useful for running a variety of experiments. For example, we can use it to generate quick samples for a sentiment classifier like this:

Quick:

Produce 10 exemplars for sentiment analysis. Examples are categorized as either positive or negative. Produce 2 negative examples and 8 positive examples. Use this format for the examples:
Q: <sentence>
A: <sentiment>

Output:

Q: 我刚得到了有史以来最好的消息!
A: 积极的

Q: 我们刚刚在工作中得到了加薪!
A: 积极的

Q: 我为今天所取得的成就感到非常自豪。
A: 积极的

Q: 我度过了有史以来最好的一天!
A: 积极的

Q: 我非常期待周末的到来。
A: 积极的

Q: 我刚收到了有史以来最好的礼物!
A: 积极的

Q: 我现在非常开心。
A: 积极的

Q: 我很幸运有这么一支了不起的家庭。
A: 积极的

Q: 外面的天气很阴暗。
A: 消极的

Q: 我刚得到了一些可怕的消息。
A: 消极的

This is very useful. We use this example for a different test in another part of the guide.

2. PAL (Program-Assisted Language Model)

Gao et al. (2022) proposed a method to use LLM to read natural language questions and generate programs as an intermediate reasoning step. The created program-assisted language model (PAL) differs from thought chain prompts in that instead of using free-form text to arrive at a solution, it offloads the solution steps to a programming runtime, such as the Python interpreter.


Lets talk about how to design a great reminder app?


##Let’s look at a GPT-3 using LangChain and OpenAI example of. We are interested in developing a simple application that is able to interpret the questions asked and provide answers by leveraging the Python interpreter.

Specifically, we are interested in creating a function that allows using LLM to answer questions that require understanding dates. We'll provide tips for LLM, including some examples taken from here.

These are the imports we need:

import openai
from datetime import datetime
from dateutil.relativedelta import relativedelta
import os
from langchain.llms import OpenAI
from dotenv import load_dotenv

Let’s configure something first:

load_dotenv()

API configuration

openai.api_key = os.getenv("OPENAI_API_KEY")

for LangChain

os.environ["OPENAI_API_KEY"] = os.getenv("OPENAI_API_KEY")

Set model instance:

llm = OpenAI(model_name='text-davinci-003', temperature=0)

Set prompt question:

question = "Today is 27 February 2023. I was born exactly 25 years ago. What is the date I was born in MM/DD/YYYY?"

DATE_UNDERSTANDING_PROMPT = """
# Q: 2015 is coming in 36 hours. What is the date one week from today in MM/DD/YYYY?

# If 2015 is coming in 36 hours, then today is 36 hours before.

today = datetime(2015, 1, 1) - relativedelta(hours=36)

# One week from today,

one_week_from_today = today + relativedelta(weeks=1)

# The answer formatted with %m/%d/%Y is

one_week_from_today.strftime('%m/%d/%Y')

# Q: The first day of 2019 is a Tuesday, and today is the first Monday of 2019. What is the date today in MM/DD/YYYY?

# If the first day of 2019 is a Tuesday, and today is the first Monday of 2019, then today is 6 days later.

today = datetime(2019, 1, 1) + relativedelta(days=6)

# The answer formatted with %m/%d/%Y is

today.strftime('%m/%d/%Y')

# Q: The concert was scheduled to be on 06/01/1943, but was delayed by one day to today. What is the date 10 days ago in MM/DD/YYYY?

# If the concert was scheduled to be on 06/01/1943, but was delayed by one day to today, then today is one day later.

today = datetime(1943, 6, 1) + relativedelta(days=1)

# 10 days ago,

ten_days_ago = today - relativedelta(days=10)

# The answer formatted with %m/%d/%Y is

ten_days_ago.strftime('%m/%d/%Y')

# Q: It is 4/19/1969 today. What is the date 24 hours later in MM/DD/YYYY?

# It is 4/19/1969 today.

today = datetime(1969, 4, 19)

# 24 hours later,

later = today + relativedelta(hours=24)

# The answer formatted with %m/%d/%Y is

today.strftime('%m/%d/%Y')
# Q: Jane thought today is 3/11/2002, but today is in fact Mar 12, which is 1 day later. What is the date 24 hours later in MM/DD/YYYY?

# If Jane thought today is 3/11/2002, but today is in fact Mar 12, then today is 3/1/2002.

today = datetime(2002, 3, 12)

# 24 hours later,

later = today + relativedelta(hours=24)

# The answer formatted with %m/%d/%Y is

later.strftime('%m/%d/%Y')

# Q: Jane was born on the last day of Feburary in 2001. Today is her 16-year-old birthday. What is the date yesterday in MM/DD/YYYY?

# If Jane was born on the last day of Feburary in 2001 and today is her 16-year-old birthday, then today is 16 years later.

today = datetime(2001, 2, 28) + relativedelta(years=16)

# Yesterday,

yesterday = today - relativedelta(days=1)

# The answer formatted with %m/%d/%Y is

yesterday.strftime('%m/%d/%Y')

# Q: {question}

""".strip() + 'n'
llm_out = llm(DATE_UNDERSTANDING_PROMPT.format(question=question))
print(llm_out)
exec(llm_out)
print(born)

This will output the following: 02/27/1998

The above is the detailed content of Let's talk about how to design a great reminder app?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:51cto.com. If there is any infringement, please contact admin@php.cn delete