Skip to content

Latest commit

 

History

History
 
 

jigsawstack-prompt-engine

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

How to JigsawStack Prompt Engine Powered by Groq

Overview

JigsawStack is a powerful AI SDK designed to integrate into any backend, automating tasks such as web scraping, Optical Character Recognition (OCR), translation, and more, using custom fine-tuned models. By plugging JigsawStack into your existing application infrastructure, you can offload the heavy lifting and focus on building.

The JigsawStack Prompt Engine is a feature that allows you to not only leverage Large Language Models (LLMs) but automatically choose the best LLM for every one of your prompts, delivering lightning-fast results powered by Groq.

Features

The JigsawStack Prompt Engine comes with a range of features out-of-the-box that make it easy to work with LLMS:

🌐 Prompt caching for repeated prompt runs

💬 Automatic prompt optimization for improved performance

📄 Response schema validation for accuracy and consistency

🔁 Reusable prompts to streamline your workflow

🧠 Multi-agent LLM from 50+ models for flexibility depending on your apps

🚫 No virtual rate limits, tokens, and GPU management

Prerequisite

  • Create a JigsawStack account (Get started for free)
  • Retrieve your api key

Installation

pip install jigsawstack

Usage

Example 1: Create and run a prompt

  • Create prompt

from jigsawstack import JigsawStack

jigsaw = JigsawStack(api_key="your-api-key")

params = {
    "prompt": "How to cook {dish}", #The prompt for your use case
    "inputs": [{ "key": "dish" }], #dynamic vars that are in the brackets {}
    "return_prompt": "Return the result in a markdown format", #The structure of the JSON, in this case, an array of objects
}
result = jigsaw.prompt_engine.create(params)

print(result.prompt_engine_id) # prompt engine ID
  • Run the prompt

from jigsawstack import JigsawStack
jigsaw = JigsawStack(api_key="your-api-key")
resp = jigsaw.prompt_engine.run(
    {
        "id": result.prompt_engine_id, #The ID you got after creating the engine
        "input_values": {
            "dish": "Singaporean chicken rice", #They value for your dynamic field
        },
    }
)

Example 2: Execute the prompt directly

from jigsawstack import JigsawStack

jigsaw = JigsawStack(api_key="your-api-key")

params = {
    "prompt":"How to cook {dish}",
    "inputs": [
        {
            "key": "dish"
        },
    ],
    "input_values": {
        "dish": "Nigerian Jollof Rice"
    },
    "return_prompt": [{
         "step": "Name of this step",
        "details": "Details of this step",
    }],
}

result = jigsaw.prompt_engine.run_prompt_direct(params)

Prompt Guard - Llama Guard 3 by Groq

The prompt engine comes with prompt guards to prevent prompt injection from user inputs and a wide range of unsafe use cases. This can be turned on automatically using the prompt_guard field.

params = {
    "prompt": "Tell me a story about {about}",
    "inputs": [
        {
            "key": "about",
        },
    ],
    "input_values": {
        "about": "The Leaning Tower of Pisa"
    },
    "return_prompt": "Return the result in a markdown format",
    "prompt_guard": ["sexual_content", "defamation"] #Add this to use llama-guard
}
result = jigsaw.prompt_engine.run_prompt_direct(params)

print(result)

Recommendation

  • For prompts that are used repeatedly, it is recommended to first create the prompt, then run it using its prompt ID to enable optimization.

  • Run Prompt Direct is ideal for one-time use.

For more information on the Prompt Engine engine see documentation