ホームページ > バックエンド開発 > Python チュートリアル > 優れたリマインダー アプリをデザインする方法について話しましょう。

優れたリマインダー アプリをデザインする方法について話しましょう。

王林
リリース: 2023-04-24 18:49:09
転載
1121 人が閲覧しました

このガイドでは、ヒント エンジニアリングを使用して便利で高度なタスクを実行できる、高度で興味深い方法をいくつか取り上げます。

このセクションは現在鋭意開発中であることに注意してください。トピック:

  • データの生成
  • プログラム支援言語モデル
  • Python ノートブック

1. データの生成

LLM には強力なテキスト生成機能があります。効果的なプロンプト戦略を使用すると、モデルがより適切で一貫性のある、より事実に基づいた応答を生成できるようになります。 LLM は、さまざまな実験の実行に役立つデータを生成するのにも特に役立ちます。たとえば、これを使用して、次のような感情分類子の簡単なサンプルを生成できます。

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: 消极的
ログイン後にコピー

これは非常に便利です。この例は、ガイドの別の部分で別のテストに使用します。

2. PAL (プログラム支援言語モデル)

Gao et al. (2022) は、LLM を使用して自然言語の質問を読み取り、中間推論ステップとしてプログラムを生成する方法を提案しました。作成されたプログラム支援言語モデル (PAL) は、自由形式のテキストを使用して解決策に到達するのではなく、解決策のステップを Python インタープリターなどのプログラミング ランタイムにオフロードするという点で、思考チェーン プロンプトとは異なります。


優れたリマインダー アプリをデザインする方法について話しましょう。


LangChain と OpenAI を使用した GPT-3 の例を見てみましょうの。私たちは、Python インタープリターを利用して、質問された内容を解釈し、回答を提供できる単純なアプリケーションの開発に興味があります。

具体的には、LLM を使用して日付の理解が必要な質問に答えることができる関数を作成することに興味があります。ここから引用したいくつかの例を含め、LLM のヒントを提供します。

これらは必要なインポートです:

import openai
from datetime import datetime
from dateutil.relativedelta import relativedelta
import os
from langchain.llms import OpenAI
from dotenv import load_dotenv
ログイン後にコピー

まず何かを設定しましょう:

load_dotenv()
ログイン後にコピー

API 構成

openai.api_key = os.getenv("OPENAI_API_KEY")
ログイン後にコピー

LangChain 用

os.environ["OPENAI_API_KEY"] = os.getenv("OPENAI_API_KEY")
ログイン後にコピー

モデル インスタンスを設定します:

llm = OpenAI(model_name='text-davinci-003', temperature=0)
ログイン後にコピー

プロンプト質問を設定します:

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)
ログイン後にコピー
これにより、次のように出力されます: 02/27/1998

以上が優れたリマインダー アプリをデザインする方法について話しましょう。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:51cto.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート