LangChain使用Prompt02

1.设置提示

python 复制代码
from langchain.prompts import ChatPromptTemplate
prompt_template = ChatPromptTemplate.from_messages(
    [
        ("system", "你是一位专业的翻译,能够将{input_language}翻译成{output_language},并且输出文本会根据用户要求的任何语言风格进行调整。请只输出翻译后的文本,不要有任何其它内容。"),
        ("human", "文本:{text}\n语言风格:{style}"),
    ]
)

2.输出提示模板

python 复制代码
prompt_template.input_variables

'input_language', 'output_language', 'style', 'text'

3.提示中输入值

python 复制代码
prompt_value = prompt_template.invoke({"input_language": "英语", "output_language": "汉语", 
                                       "text":"I'm so hungry I could eat a horse", "style": "文言文"})
prompt_value

ChatPromptValue(messages=SystemMessage(content='你是一位专业的翻译,能够将英语翻译成汉语,并且输出文本会根据用户要求的任何语言风格进行调整。请只输出翻译后的文本,不要有任何其它内容。'), HumanMessage(content="文本:I'm so hungry I could eat a horse\\n语言风格:文言文"))

4.取出提示

python 复制代码
prompt_value.messages

[SystemMessage(content='你是一位专业的翻译,能够将英语翻译成汉语,并且输出文本会根据用户要求的任何语言风格进行调整。请只输出翻译后的文本,不要有任何其它内容。'),

HumanMessage(content="文本:I'm so hungry I could eat a horse\n语言风格:文言文")]

5.输入模型

python 复制代码
model = ChatOpenAI(model="gpt-3.5-turbo",base_url="https://api.chatanywhere.tech/v1")
response = model.invoke(prompt_value)

6.获得结果

python 复制代码
response

AIMessage(content='吾今飢極,如欲食馬也。', additional_kwargs={'refusal': None}, response_metadata={'token_usage': {'completion_tokens': 17, 'prompt_tokens': 109, 'total_tokens': 126, 'completion_tokens_details': {'reasoning_tokens': 0}}, 'model_name': 'gpt-3.5-turbo-0125', 'system_fingerprint': None, 'finish_reason': 'stop', 'logprobs': None}, id='run-9d752bd9-468e-4fe1-9ff9-e379561c957b-0', usage_metadata={'input_tokens': 109, 'output_tokens': 17, 'total_tokens': 126})

7.取出结果

python 复制代码
response.content

'吾今飢極,如欲食馬也。'

8.多行示例

python 复制代码
input_variables = [
    {
        "input_language": "英语",
        "output_language": "汉语",
        "text": "I'm so hungry I could eat a horse",
        "style": "文言文"
    },
    {
        "input_language": "法语",
        "output_language": "英语",
        "text": "Je suis désolé pour ce que tu as fait",
        "style": "古英语"
    },
    {
        "input_language": "俄语",
        "output_language": "意大利语",
        "text": "Сегодня отличная погода",
        "style": "网络用语"
    },
    {
        "input_language": "韩语",
        "output_language": "日语",
        "text": "너 정말 짜증나",
        "style": "口语"
    }
]

10.输入模型

python 复制代码
for input in input_variables:
    response = model.invoke(prompt_template.invoke({"input_language": input["input_language"], "output_language": input["output_language"], 
                                                    "text":input["text"], "style": input["style"]}))
    print(response.content)

输出:

吾今饥饱难忍,实有食马之心也。

I am sorry for what thou hast done.

Oggi tempo fantastico

お前本当にイライラするな

相关推荐
weixin1997010801620 分钟前
[特殊字符]《京东POP二手品类对接:B2C订单模型 vs 二手C2C属性的字段转换难题》(附Python源码)
前端·python·算法
三小河1 小时前
AI 对话 "打字机" 是怎么实现的?从 SSE 流式、Markdown 组件到 Nginx 防粘连
前端·人工智能·面试
雪芽蓝域zzs1 小时前
第三十七节:防抖、节流封装(composables 通用函数,搜索框防重复请求)
前端·javascript·vue.js
by组态1 小时前
Ricon组态系统通信配置指南
前端·后端·物联网
可涵不会debug2 小时前
LangChain 文本分割器详解:字符分割、Token 分割、硬约束递归分割实战
java·前端·数据库
掘金挖土2 小时前
前端手摸手跑路之 AI 应用开发(四)
前端
LEE2 小时前
Agent 的控制权,为什么正在回到模型手里?
前端·后端
沃夫上校2 小时前
跨域这件事,其实浏览器在替你挡刀
前端·后端·nginx
十年一梦惊觉醒2 小时前
快手视频发布助手,全自动视频发布带货工具
开发语言·前端·javascript
Solara2 小时前
中文字体子集化实录:3.2MB → 200KB 的完整脚本、踩坑清单与三条反直觉经验
前端·css·架构