ChatPromptTemplate和AI Message的用法

慈云数据 8个月前 (03-13) 技术支持 63 0

ChatPromptTemplate的用法

ChatPromptTemplate和AI Message的用法
(图片来源网络,侵删)

用法1:

from langchain.chains import LLMChain
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
from langchain_community.tools.tavily_search import TavilySearchResults
from langchain.chains import LLMMathChain
prompt= ChatPromptTemplate.from_template("tell me the weather of {topic}")
str = prompt.format(topic="shenzhen")
print(str)

打印出:

Human: tell me the weather of shenzhen

最终和llm一起使用

ChatPromptTemplate和AI Message的用法
(图片来源网络,侵删)
import ChatGLM
from langchain.chains import LLMChain
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
from langchain_community.tools.tavily_search import TavilySearchResults
from langchain.chains import LLMMathChain
prompt = ChatPromptTemplate.from_template("WHO is {NAME}")
# str = prompt.format(name="Bill Gates")
# print(str)
llm = ChatGLM.ChatGLM_LLM()
output_parser = StrOutputParser()
chain05 = prompt| llm | output_parser
print(chain05.invoke({"name": "Bill Gates"}))

用法2:

import ChatGLM
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
prompt = ChatPromptTemplate.from_messages([
                ("system", "You are a helpful AI bot. Your name is {name}."),
                ("human", "Hello, how are you doing?"),
                ("ai", "I'm doing well, thanks!"),
                ("human", "{user_input}"),
            ])
llm = ChatGLM.ChatGLM_LLM()
output_parser = StrOutputParser()
chain05 = prompt| llm | output_parser
print(chain05.invoke({"name": "Bob","user_input": "What is your name"}))

也可以这样:

import ChatGLM
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
llm = ChatGLM.ChatGLM_LLM()
prompt = ChatPromptTemplate.from_messages([
                ("system", "You are a helpful AI bot. Your name is {name}."),
                ("human", "Hello, how are you doing?"),
                ("ai", "I'm doing well, thanks!"),
                ("human", "{user_input}"),
            ])
# a = prompt.format_prompt({name="Bob"})
a = prompt.format_prompt(name="Bob",user_input="What is your name") 
print(a)
print(llm.invoke(a))

以下也是一个例子:

import gradio as gr
from langchain_core.prompts import ChatPromptTemplate
from LLMs import myllm
from langchain_core.output_parsers import StrOutputParser
llm = myllm()
parser = StrOutputParser()
template = """{question}"""
prompt = ChatPromptTemplate.from_template(template)
chain = prompt | llm | parser
def greet3(name):
    return chain.invoke({"question": name})
def alternatingly_agree(message, history):
   return greet3(message)
gr.ChatInterface(alternatingly_agree).launch(server_name="0.0.0.0",share=False)

参考: https://Python.langchain.com/docs/modules/model_io/prompts/quick_start

HTTPS://python.langchain.com/docs/modules/model_io/prompts/composition

微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon