G. *_*cia 2 python nlp openai-api langchain large-language-model
我想向检索器传递一个相似度阈值。到目前为止我只能弄清楚如何传递 ak 值,但这不是我想要的。我怎样才能通过门槛呢?
from langchain.document_loaders import PyPDFLoader
from langchain.vectorstores import FAISS
from langchain.embeddings.openai import OpenAIEmbeddings
def get_conversation_chain(vectorstore):
llm = ChatOpenAI(temperature=0, model_name='gpt-3.5-turbo')
qa = ConversationalRetrievalChain.from_llm(llm=llm, retriever=vectorstore.as_retriever(search_kwargs={'k': 2}), return_source_documents=True, verbose=True)
return qa
loader = PyPDFLoader("sample.pdf")
# get pdf raw text
pages = loader.load_and_split()
faiss_index = FAISS.from_documents(list_of_documents, OpenAIEmbeddings())
# create conversation chain
chat_history = []
qa = get_conversation_chain(faiss_index)
query = "What is a sunflower?"
result = qa({"question": query, "chat_history": chat_history})
Run Code Online (Sandbox Code Playgroud)
小智 7
您可以按照您所说的那样使用以下内容作为 VectorStoreRetriever,但带有 search_type 参数。
retriever = dbFAISS.as_retriever(search_type="similarity_score_threshold",
search_kwargs={"score_threshold": .5,
"k": top_k})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5743 次 |
| 最近记录: |