03-LangChain 封装提示词&选择器示例
原创2023年7月8日大约 5 分钟...约 1502 字
1. Prompt
你好,我是悦创。
接下来,我们使用 LangChain 来编写提示词。
LangChain 可以导入我们各种大语言模型。
1.1 基本的提示词
Prompt:您将传递给基础模型的内容
from langchain.llms import OpenAI
import os
from dotenv import load_dotenv
load_dotenv()
llm = OpenAI(model_name="gpt-3.5-turbo-0613", openai_api_key=os.getenv("KEY"))
# I like to use three double quotation marks for my prompts because it's easier to read
prompt = """
今天是星期一,明天是星期三。 这说法有什么问题吗?
"""
llm(prompt)
# 输出
根据题目判断,这个说法有问题。星期一的下一天应该是星期二而不是星期三。
上面的提示词是很常规的,不需要我们去改变的。也就是说:有些提示词很规范。
1.2 提示模板
帮助根据用户输入、其他非静态信息和固定模板字符串的组合创建提示的对象。
我们其实可以把接下来的操作,当作 Python 的字符串格式化即可,无须太过担心看不懂。
单个
from langchain.llms import OpenAI
from langchain import PromptTemplate
load_dotenv()
llm = OpenAI(model_name="gpt-3.5-turbo-0613", openai_api_key=os.getenv("KEY"))
# llm = OpenAI(model_name="gpt-3.5-turbo", openai_api_key=os.getenv("KEY"))
# Notice "location" below, that is a placeholder for another value later
template = """
我真的很想去{location}旅行。我应该在那里做什么?
"""
prompt = PromptTemplate(
input_variables=["location"],
template=template,
)
final_prompt = prompt.format(location='广东广州')
print(f"最终提示词: {final_prompt}")
print("-----------")
print(f"LLM 输出: {llm(final_prompt)}")
# output
最终提示词:
我真的很想去广东广州旅行。我应该在那里做什么?
-----------
LLM 输出: 广东广州是一座充满活力和历史文化的城市,你可以在那里做很多有趣的事情。以下是一些建议:
1. 参观珠江夜景:广州的夜景非常壮观,你可以乘坐船只沿着珠江漫游,欣赏灯火辉煌的城市景观。
2. 逛荔枝湾:这是一个有着浓厚历史氛围的老城区,街道上有很多特色小吃和古老的建筑,非常适合漫步和品味当地美食。
3. 游览广州塔:这是广州的标志性建筑,你可以乘坐电梯上到观景台,俯瞰整个城市的美景。
4. 去上下九商业步行街:这里集中了很多商店、餐馆和传统的老字号,你可以购物、品尝美食,感受广州的商业繁华。
5. 参观广州博物馆:在这里你可以了解广州的历史和文化,展览内容丰富多样。
6. 品尝广州美食:广东菜以其鲜美的口味而闻名,你可以尝试广州的特色美食,如叉烧、白切鸡、广式早茶等。
7. 参观陈家祠:这是广州最有名的古建筑之一,可以欣赏到精美的木雕和瓷砖装饰,了解南方传统建筑的风格。
还有很多其他的活动和景点,可以根据自己的兴趣进行安排。作为一座历史文化城市,广州有很多值得探索的地方,希望你能在旅行中度过愉快的时光!
多个
from langchain.llms import OpenAI
from langchain import PromptTemplate
load_dotenv()
llm = OpenAI(model_name="gpt-3.5-turbo-0613", openai_api_key=os.getenv("KEY"))
# Notice "location" below, that is a placeholder for another value later
template = """
我真的很想去{location}旅行。我应该在那里做什么?我还想买点{specialty}
"""
# Schema to represent a prompt for an LLM.
prompt = PromptTemplate(
input_variables=["location", "specialty"],
template=template,
)
final_prompt = prompt.format(location='广东广州', specialty='特产')
print(f"最终提示词: {final_prompt}")
print("-----------")
print(f"LLM 输出: {llm(final_prompt)}")
# output
最终提示词:
我真的很想去广东广州旅行。我应该在那里做什么?我还想买点特产
-----------
LLM 输出: 广州是广东省的首府,充满了历史和文化魅力。你可以尝试以下活动和购买一些特产:
1. 参观广州塔:它是广州标志性的地标之一,可以乘坐观光电梯,欣赏广州的美景。
2. 游览珠江夜景:晚上,你可以选择乘船游览珠江,欣赏璀璨的夜景,让你感受广州的繁华与魅力。
3. 逛荔枝湾:这是一个集特色小吃、购物和艺术氛围于一体的文化区,你可以欣赏当地的艺术展览、品尝传统小吃和购买手工艺品。
4. 品尝广州美食:广州是中国美食之都,你可以尝试广东菜、早茶、烧腊等传统美食,如广州煲仔饭、广东早茶、广州蛋挞等。
5. 购买特产:在广州,你可以购买一些有名的特产,比如广州陶瓷、南沙扇、广州丝绸、广州银饰等。此外,广州还有很多有名的传统市场和商业街,如北京路步行街、上下九步行街、沙面等,你可以在这些地方购买到各种特色商品。
希望你在广州旅行愉快!
1.3 选择器示例
欢迎关注我公众号:AI悦创,有更多更好玩的等你发现!
公众号:AI悦创【二维码】
AI悦创·编程一对一
AI悦创·推出辅导班啦,包括「Python 语言辅导班、C++ 辅导班、java 辅导班、算法/数据结构辅导班、少儿编程、pygame 游戏开发、Linux、Web」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践等。当然,还有线下线上摄影课程、Photoshop、Premiere 一对一教学、QQ、微信在线,随时响应!微信:Jiabcdefh
C++ 信息奥赛题解,长期更新!长期招收一对一中小学信息奥赛集训,莆田、厦门地区有机会线下上门,其他地区线上。微信:Jiabcdefh
方法一:QQ
方法二:微信:Jiabcdefh
你认为这篇文章怎么样?
- 0
- 0
- 0
- 0
- 0
- 0