# Langchain Retriever Agent Function Not Passing "ChatMessageHistory" When Called in Console - Python

**URL:** https://community.pinecone.io/t/langchain-retriever-agent-function-not-passing-chatmessagehistory-when-called-in-console-python/3218
**Category:** Support
**Created:** [September 18, 2023, 1:17pm UTC](https://community.pinecone.io/t/langchain-retriever-agent-function-not-passing-chatmessagehistory-when-called-in-console-python/3218 "2023-09-18T13:17:12Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![cankat](https://sea2.discourse-cdn.com/flex020/user_avatar/community.pinecone.io/cankat/32/1138_2.png) [@cankat](https://community.pinecone.io/u/cankat)
#### Post date: [September 18, 2023, 1:17pm UTC](https://community.pinecone.io/t/langchain-retriever-agent-function-not-passing-chatmessagehistory-when-called-in-console-python/3218/1 "2023-09-18T13:17:12Z")

</div>

Hello everyone,

I am facing an issue with a Python function that I have created to handle some chat functionality with the GPT-3.5 Turbo model. The function is part of a bigger project that aims to use Pinecone to search and retrieve similar documents.

Here is a simplified version of my code:

```
def pineconeGPT(system, user, questions, answers, instruction, metadata={}):
  llm = ChatOpenAI(model='gpt-3.5-turbo-16k', temperature=0, openai_api_key="key")
  embeddings = OpenAIEmbeddings(openai_api_key="key", model="text-embedding-ada-002")
  pinecone.init(api_key='key', environment='region')
  index = Pinecone.from_existing_index('index_name', embeddings)
  history = ChatMessageHistory()
  if len(questions) > 0:
      for i in range(len(questions)):
          history.add_ai_message(questions[i])
          history.add_user_message(answers[i])
  retriever = index.as_retriever(search_type="similarity", search_kwargs={'filter': metadata})
  pineconeIndex = create_retriever_tool(
      retriever,
      "search_pinecone",
      "Searches and returns documents regarding the similarity."
  )
  
  tools = [pineconeIndex]
  
  system_message = SystemMessage(content=(system))
  prompt = OpenAIFunctionsAgent.create_prompt(system_message=system_message)
  
  agent = OpenAIFunctionsAgent(llm=llm, tools=tools, prompt=prompt)
  
  agent_executor = AgentExecutor(
      agent=agent,
      tools=tools,
      memory=ConversationBufferMemory(chat_memory=history),
      verbose=True,
      return_intermediate_steps=False,
      return_only_outputs=False
  )
  
  result = agent_executor({"input": instruction})

```

The problem is that when I call this function under Langchain in the console, the `ChatMessageHistory` (`history` variable) is not being passed along as it should be. I’ve verified this by examining the call and found that `history = ChatMessageHistory()` is not being passed.

**What I’ve tried:**

- Called retriever tool and history separately. Read the documentation and all logic seems correct
- Checked the API keys and other credentials
- Ensured that Pinecone and other modules are working as expected

I would appreciate any insights on what might be causing this issue and how to resolve it. Thank you in advance!
