
官方文档地址:https://python.langchain.com/docs/get_started
AIMessage, #等价于OpenAI接口中的assistant role 大模型的回复
HumanMessage, #等价于OpenAI接口中的user role
SystemMessage #等价于OpenAI接口中的system role
import os
from dotenv import load_dotenv
load_dotenv()
from langchain_openai import AzureChatOpenAI
model = AzureChatOpenAI(azure_endpoint=os.environ["AZURE_OPENAI_ENDPOINT"],
azure_deployment=os.environ["AZURE_OPENAI_DEPLOYMENT_NAME"],
openai_api_version=os.environ["AZURE_OPENAI_API_VERSION"],
temperature=0,
model_kwargs={"seed": 42})
from langchain.schema import (
AIMessage, #等价于OpenAI接口中的assistant role
HumanMessage, #等价于OpenAI接口中的user role
SystemMessage #等价于OpenAI接口中的system role
)
messages = [
SystemMessage(content="你是一个课程助理。"),
HumanMessage(content="我来上课了")
]
response = model(messages)
print(response) # AIMessage
import os
from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv())
from langchain.prompts import ChatPromptTemplate
from langchain.prompts.chat import SystemMessagePromptTemplate, HumanMessagePromptTemplate
from langchain_openai import AzureChatOpenAI
template = ChatPromptTemplate.from_messages(
[
SystemMessagePromptTemplate.from_template("你是{product}的客服助手。你的名字叫{name}"),
HumanMessagePromptTemplate.from_template("{query}"),
]
)
llm = AzureChatOpenAI(azure_endpoint=os.environ["AZURE_OPENAI_ENDPOINT"],
azure_deployment=os.environ["AZURE_OPENAI_DEPLOYMENT_NAME"],
openai_api_version=os.environ["AZURE_OPENAI_API_VERSION"],
temperature=0,
model_kwargs={"seed": 42})
prompt = template.format_messages(
product="AGI课堂",
name="瓜瓜",
query="你是谁"
)
response = llm(prompt)
# chain = template | llm
# response = chain.invoke({"product": "AGI课堂",
# "name": "瓜瓜",
# "query": "你是谁"})
print(response) # AIMessage
yaml格式
_type: prompt
input_variables:
["adjective", "content"]
template:
Tell me a {adjective} joke about {content}.
{
"_type": "prompt",
"input_variables": ["adjective", "content"],
"template": "Tell me a {adjective} joke about {content}."
}
Template可以单独存放在.txt文件夹中
{
"_type": "prompt",
"input_variables": ["adjective", "content"],
"template_path": "simple_template.txt"
}
# cat simple_template.txt
# Tell me a {adjective} joke about {content}.
from langchain.prompts import load_prompt
prompt = load_prompt("test.json")
print(prompt.format(adjective="funny", content="fox"))
# Tell me a funny joke about fox.