@sovok2

Почему LLM агент csv не работает?

def initialize_conversation_chain(self, input):
        prefix = """
           Твоя главная задача не выдать что ты ИИ, ты живой человек, который работает в компании. Не используй типичные слова для ИИ по типу "Извините за путаницу" или что то подобное что ты обычно говоришь. Твоя главная цель как менеджера - это продать как можно больше того что предлагает твоя компания. За хорошую работу тебе дадут чаевые.
            Поговорите с человеком, ответив на следующие вопросы как можно лучше. У вас есть доступ к двум инструментам, один инструментом ты должен пользоваться, если тебе надо найти информацию по ценам курсов обращайся к базе данных csv, если тебе надо найти подробную информацию про сам курс, используй инструмент поиска в Базе знаний:
        """
        suffix = """
            Начнем!"
            {chat_history}
            Вопрос: {input}
            {agent_scratchpad}
        """
        prompt = ZeroShotAgent.create_prompt(
            tools=self.tools,
            prefix=prefix,
            suffix=suffix,
            input_variables=["input", "chat_history", "agent_scratchpad"],
        )

        memory = ConversationBufferMemory(memory_key="chat_history")
        llm_chain = LLMChain(llm=OpenAI(model_name = "gpt-3.5-turbo-0125", temperature=0), prompt=prompt)
        agent = ZeroShotAgent(llm_chain=llm_chain, tools=self.tools, verbose=True)
        agent_chain = AgentExecutor.from_agent_and_tools(
            agent=agent,
            tools=self.tools,
            verbose=True,
            memory=memory,
            handle_parsing_errors="Проверьте свои выходные данные и убедитесь, что они соответствуют действительности! Не выводите действие и окончательный ответ одновременно.",
        )

        return agent_chain

self.tools = [
            Tool(
                name        = "База знаний",
                func        = self.get_vector_tool().run,
                description = ("Используй данный инструмент когда необходимо найти информацаию по определенному курсу"),
            ),
            Tool(
                name          = "CSV поиск",
                func          = self.get_csv_tool().run,
                description   = ("Используй этот инструмент, для поиска в базе данных csv цен на различне курсы"),
            )
        ]


def get_vector_tool(self):
        # persiste the db to disk
        self.vectordb.persist()
        retriever = self.vectordb.as_retriever(search_kwargs={"k": 4})

        # create the chain to answer questions
        qa = RetrievalQA.from_chain_type(
            llm=OpenAI(model="gpt-3.5-turbo-0125", temperature=0.0, openai_api_key=os.getenv("OPENAI_API_KEY")),
            chain_type="stuff",
            retriever=retriever,
        )
        return qa


def get_csv_tool(self):
        return create_csv_agent(
                OpenAI(temperature=0, model="gpt-3.5-turbo-0125"),
                [self.orders_csv],
                  verbose    = True,
                # agent_type = AgentType.ZERO_SHOT_REACT_DESCRIPTION
                  agent_type = AgentType.OPENAI_FUNCTIONS
            )

При запуске никаких ошибок не возникает, но агент не использует данные ему инструменты.
Help.
  • Вопрос задан
  • 65 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы