Langchain RAG ruft kein Dokument abPython

Python-Programme
Anonymous
 Langchain RAG ruft kein Dokument ab

Post by Anonymous »

Dies ist mein Einbettungscode, den ich nur einmal ausführe:

Code: Select all

embeddings = OpenAIEmbeddings(model="text-embedding-3-large")

vector_store = MongoDBAtlasVectorSearch.from_connection_string(
connection_string = DB_CONNECTION,
namespace = "gpt.embeddings",
embedding = embeddings,
index_name = "vector_index",
relevance_score_fn="cosine"
)

loader = PyPDFLoader("./manual.pdf")
docs = loader.load()

text_splitter = RecursiveCharacterTextSplitter(chunk_size=100, chunk_overlap=50, add_start_index=True)
all_splits = text_splitter.split_documents(docs)

document_ids = vector_store.add_documents(documents=all_splits)
Das ist mein Agentencode:

Code: Select all

model = init_chat_model("openai:gpt-4.1")

retriever = vector_store.as_retriever(
searchtype="similarity_score_threshold",
search_kwargs={
"k": 3,
"score_threshold": -99999999999999999999999999999999999999999999999999999999,
}
)

@tool(response_format="content_and_artifact")
def retrieve_context(query: str):
"""Retrieve information to help answer a query."""
retrieved_docs = retriever.invoke(query)
print(retrieved_docs)
serialized = "\n\n".join([
(f"Source: {doc.metadata}\nContent: {doc.page_content}")
for doc in retrieved_docs
])
return serialized, retrieved_docs

tools = [retrieve_context]
prompt = """
Always use the `retrieve_context` tool first. Append the retrieved context to the user prompt and answer the user's question.
"""
agent = create_agent(model, tools, system_prompt=prompt)
Das Problem besteht darin, dass die Druckanweisung bei jedem Aufruf von agent.invoke immer [] ausgibt (d. h. es wurden keine Dokumente gefunden). Ich habe meine MongoDB-Sammlung überprüft und sie besteht aus über hundert Blöcken. Ich habe den Schwellenwert sogar auf -9999999999999999999999999999 gesetzt, um den Abruf von 3 Dokumenten zu gewährleisten. Ich habe den OpenAI-Schlüssel sowie die Datenbankverbindungszeichenfolge festgelegt. Ich kann auch die Datenbank abfragen. Dennoch besteht das Problem weiterhin. Es wird nie ein Dokument abgerufen. Es ist klar, dass der Agent die Funktion aufruft, da er [] ausgibt, aber der Abruf ergibt nichts.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post