33 lines
1.4 KiB
Python
33 lines
1.4 KiB
Python
from dotenv import load_dotenv
|
||
from langchain.output_parsers import StructuredOutputParser, ResponseSchema
|
||
from langchain_core.prompts import PromptTemplate
|
||
from langchain_openai import ChatOpenAI
|
||
|
||
# 加载.env文件的环境变量
|
||
load_dotenv()
|
||
|
||
# 创建一个大语言模型,model指定了大语言模型的种类
|
||
model = ChatOpenAI(model="qwen2.5-14b-instruct")
|
||
|
||
# 想要接收的响应模式
|
||
response_schemas = [
|
||
ResponseSchema(name="brand_name", description="Brand name."),
|
||
ResponseSchema(name="brand_slogan", description="Brand slogan."),
|
||
ResponseSchema(name="brand_logo_prompt", description="prompt required for brand logo generation.")
|
||
]
|
||
output_parser = StructuredOutputParser.from_response_schemas(response_schemas)
|
||
format_instructions = output_parser.get_format_instructions()
|
||
prompt = PromptTemplate(
|
||
template="你是一个时装品牌的设计师。根据用户输入提取出brand name,brand slogan,brand logo 描述。如果没有以上内容,需要你根据用户输入随意发挥。随后根据brand logo 描述生成一个prompt,这个prompt用于生成模型.\n{format_instructions}\n{question}",
|
||
input_variables=["question"],
|
||
partial_variables={"format_instructions": format_instructions}
|
||
)
|
||
_input = prompt.format_prompt(question="brand name: cat home")
|
||
|
||
output = model(_input.to_messages())
|
||
brand_data = output_parser.parse(output.content)
|
||
|
||
|
||
def generate_logo(bucket_name, object_name, prompt):
|
||
pass
|