乐于分享
好东西不私藏

智能体开发|定义提示词模版

智能体开发|定义提示词模版

前文的代码在与AI进行对话时,只使用了内置的模板,将检索出的上下文与提问拼接后交由大模型处理。如果想要自定义提示词以实现更多的功能,则可以使用查询引擎提供的提示词模板功能来进行处理。核心代码

query_engine = index.as_query_engine(similarity_top_k=2,text_qa_template=qa_prompt)
完整代码如下
from dotenv import load_dotenvfrom llama_index.core import Settings,StorageContext,load_index_from_storage,Promptimport osfrom llama_index.embeddings.openai import OpenAIEmbeddingfrom llama_index.llms.openai_like import OpenAILikeload_dotenv()QWEN_AGENT_SERVER = os.getenv('QWEN_AGENT_SERVER'QWEN_AGENT_API_KEY =os.getenv('QWEN_API_KEY')Settings.embed_model = OpenAIEmbedding(    model_name="qwen3-embedding:4b",    api_base=QWEN_AGENT_SERVER,    api_key=QWEN_AGENT_API_KEY,)# 所调用的模型Settings.llm = OpenAILike(    model="qwen3.6",    api_base=QWEN_AGENT_SERVER,    api_key=QWEN_AGENT_API_KEY,    is_chat_model=False,    enable_thinking=False,)storage_context = StorageContext.from_defaults(persist_dir="./dbstore/uncle_tuu")index = load_index_from_storage(storage_context,index_id="uncle_tuu")prompt_tmpl = (    "以下是为模型提供的上下文信息:\n"    "-----------------------------------\n"    "{context_str}\n"    "-----------------------------------\n"    "现在,请根据以上信息,回答用户的问题:\n"    "-----------------------------------\n"    "{query_str}\n"    "-----------------------------------\n"    "如果你不知道,可以用你已有的知识尽量回复。如果仍然无法回答,"    "则请回复用户:对不起,你所提到的问题我暂时无法告知答案,建议咨询我们的人工客服\n")qa_prompt = Prompt(prompt_tmpl)query_engine = index.as_query_engine(similarity_top_k=2,text_qa_template=qa_prompt)response = query_engine.query("乔峰是谁?")print(response)