LangChain之关于RetrievalQA input_variables 的定义与使用
from langchain.llms import OpenAI
from langchain.chat_models import ChatOpenAI
from langchain.retrievers import ElasticsearchRetriever
from langchain.vectorstores import ElasticsearchVectorstore
from langchain.agents import RetrievalQA
from langchain.schema import LLMChain
# 初始化OpenAI LLM
openai = OpenAI()
chat = ChatOpenAI(llm=openai)
# 初始化Elasticsearch Retriever和Elasticsearch Vectorstore
retriever = ElasticsearchRetriever(host="localhost", port=9200, index="documents")
vectorstore = ElasticsearchVectorstore(host="localhost", port=9200, index="documents")
# 创建RetrievalQA Agent
qa = RetrievalQA(
retriever=retriever,
vectorstore=vectorstore,
llm=chat,
input_variables=["query", "question"] # 设置input_variables为["query", "question"]
)
# 示例问题
question = "你好,世界!"
# 使用RetrievalQA Agent处理问题
response = qa.run(question)
print(response)
这段代码首先导入了必要的langchain模块,并初始化了OpenAI作为LLM,以及Elasticsearch作为搜索引擎和向量存储。然后,它创建了一个RetrievalQA Agent,并设置其input_variables
属性为["query", "question"]
,这意味着该Agent将接受名为"query"或"question"的输入。最后,它使用该Agent处理了一个问题,并打印了响应。这个例子展示了如何定制RetrievalQA Agent的输入变量,以适应不同的问答系统需求。
评论已关闭