langchain-ai / langchain-cohere

MIT License
31 stars 20 forks source link

'requested_tool_name': 'directly_answer', 'available_tool_names': ['google_search_tool'] #48

Open stigmat4j opened 4 months ago

stigmat4j commented 4 months ago

Hello. I need help.

I need google_search_tool only as in the context of the message there are launches like "search", "find". How to call agent_executor with such questions, everything works fine, but how to ask a normal question without search, then I get the error directly_answer is not a valid tool, try one of [google_search_tool]., latencies are higher than 6 times, but the model gave a normal response.

class Chat:

    def __init__(self):
        model = ChatCohere()
        agent = create_cohere_react_agent(llm=model, tools=[], prompt=prompt)
        self.agent_executor = AgentExecutor(agent=agent, tools=[google_search_tool], verbose=True)
        self.chain = prompt | model

    def prediction(self, question, history):
        return self.agent_executor.astream({
            "question": question,
            "chat_history": history
        }})

    def invoke(self, question):
        return self.chain.invoke({"question": question})

cohere = Chat()
from langchain_google_community import GoogleSearchAPIWrapper
from langchain_core.tools import Tool

from config import GOOGLE_API_KEY

search = GoogleSearchAPIWrapper(google_api_key=GOOGLE_API_KEY)

google_search_tool = Tool(
    name="google_search_tool",
    description="Search Google for recent results.",
    func=search.run
)

image