如何通过参数配置让LangChain调用ChatGPT返回极简直接答案?
实现极简答案输出的参数设置方案
可以通过自定义提示模板并配置LLM参数的方式,无需修改查询语句即可得到极简直接的答案。具体实现步骤如下:
1. 导入额外依赖模块
需要引入ChatOpenAI用于配置大模型,以及PromptTemplate来自定义提示逻辑:
from langchain.document_loaders import TextLoader from langchain.vectorstores import DocArrayInMemorySearch from langchain.indexes import VectorstoreIndexCreator from langchain.chat_models import ChatOpenAI from langchain.prompts import PromptTemplate
2. 定义自定义提示模板
创建一个提示模板,明确要求模型仅输出问题所需的精准信息,不生成完整语句:
custom_prompt = PromptTemplate( input_variables=["context", "question"], template="基于以下上下文:{context}\n仅输出问题的精准答案,无需额外语句:{question}" )
3. 配置LLM实例
初始化ChatOpenAI模型,设置temperature=0保证输出的稳定性和一致性:
llm = ChatOpenAI(temperature=0, model_name="gpt-3.5-turbo")
4. 创建索引并执行查询
在创建VectorstoreIndexCreator时,传入自定义的LLM和提示模板,之后直接使用原查询语句执行查询:
loader = TextLoader("path/to/extracted_text.txt") loaded_text = loader.load() # 创建带自定义配置的索引 index = VectorstoreIndexCreator( vectorstore_cls=DocArrayInMemorySearch, llm=llm, prompt=custom_prompt ).from_loaders([loader]) # 使用原查询语句执行查询 response = index.query("At what time did john come home yesterday?") print("Loaded text is:", loaded_text) print("ChatGPT response is:", response)
此时模型会返回极简结果11:30pm,无需在查询语句中添加额外提示语。
内容的提问来源于stack exchange,提问作者Chukwudi
相关产品推荐
相关产品推荐

