langflow icon indicating copy to clipboard operation
langflow copied to clipboard

customize prompt

Open sampratha28 opened this issue 1 year ago • 1 comments

How can i modify the in built prompt for Vector Store Agent?

sampratha28 avatar Jan 02 '24 13:01 sampratha28

🤖

Hello @sampratha28! Welcome to the Langflow repository. I'm Dosu, a friendly bot designed to assist you with your questions, debug issues, and guide you on using Langflow effectively until a human maintainer steps in. I'm here to make your contributor journey smoother. So don't hesitate to ask if you need anything. Let's solve some bugs together!

To modify the built-in prompt of the Vector Store Agent in Langflow, you need to create a new class that inherits from BaseCustomPrompt and override the template and ai_prefix class attributes. Here's an example:

class MyCustomPrompt(BaseCustomPrompt):
    description: Optional[str] = "A custom prompt for the Vector Store Agent."
    template: str = """This is my custom prompt.

    Current conversation:
    {history}
    Human: {input}
    {ai_prefix}:"""

    ai_prefix: str = "{ai_prefix}"
    input_variables: List[str] = ["history", "input"]

In this example, MyCustomPrompt is a new class that inherits from BaseCustomPrompt. The template attribute is a string that defines the structure of the prompt. The ai_prefix attribute is a string that will be replaced with the AI's response. The input_variables attribute is a list of strings that define the variables that can be used in the template and ai_prefix strings.

After creating the new class, you need to add it to the CUSTOM_PROMPTS dictionary:

CUSTOM_PROMPTS: Dict[str, Type[BaseCustomPrompt]] = {"SeriesCharacterPrompt": SeriesCharacterPrompt, "MyCustomPrompt": MyCustomPrompt}

Now, you can use MyCustomPrompt as a custom prompt for the Vector Store Agent in Langflow. You can find more details in the custom.py file in the Langflow repository.

The Vector Store Agent in the Langflow codebase is a custom agent executor that is designed to interact with a Vector Store. It interacts with custom prompts through the ZeroShotAgent's create_prompt method. This method generates a prompt using the tools provided, in this case, the tools are fetched from the VectorStoreToolkit using the get_tools() method. The VECTORSTORE_PREFIX is used as the prefix for the prompt. You can find more details in the custom.py file in the Langflow repository.

I hope this helps! If you have any other questions, feel free to ask.

Best, Dosu

Sources


This response is meant to be useful and save you time. It is not meant to be a precise solution, but rather a starting point for your own research.

Help me be more useful! Please leave a 👍 if this is helpful and 👎 if it is irrelevant.

If you want to continue the conversation, start your reply with @dosu-bot.

dosubot[bot] avatar Jan 02 '24 13:01 dosubot[bot]