使用langchain作为脚手架工具,构建提示语工程,请求chat gpt 回答问题简单示例如下:

#起名大师,输出格式为一个数组
from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate
import os
from langchain.schema import BaseOutputParser

#自定义类
class CommaSeparatedListOutputParser(BaseOutputParser):
    # """Parse the output of an LLM call to a comma-separated list."""

    def parse(self, text: str):
        # """Parse the output of an LLM call."""
        print(text)
        return text.strip().split(",")


api_base = os.getenv("OPENAI_API_BASE")
api_key = os.getenv("OPENAI_KEY")
llm = OpenAI(
    model="gpt-3.5-turbo-instruct",
    temperature=0,
    openai_api_key=api_key,
    openai_api_base=api_base
    )
prompt = PromptTemplate.from_template("你是一个起名大师,请模仿示例起3个具有{county}特色的名字,示例:男孩常用名{boy},女孩常用名{girl}。请返回以逗号分隔的列表形式。仅返回逗号分隔的列表,不要返回其他内容。")
message = prompt.format(county="美国男孩",boy="andy",girl="lyla")
print(message)
strs = llm.predict(message)
CommaSeparatedListOutputParser().parse(strs)

提示词结构

1,立角色:引导ai进入具体场景,赋予其行家身份

2,述问题:告诉ai你的困惑和问题,以及背景信息

3,定目标:告诉ai你的需求,希望达成的目标

4,补要求:告诉ai回答时需要注意什么,或者如何回复

1,立角色:假如你是一个导游

2,述问题:我要到海南旅游,预算1万元,旅行人数3人,行程7天

3,定目标:请帮我做一份旅行攻略

4,补要求:请注意,我不喜欢行程太紧凑,我不喜欢网红景点,更喜欢有文化底蕴的景点,另外,旅行景点请附上各个景点的价格。

Prev post

LangChain 001

Next post

LangChain 003