Chisle
The coding-agent plugin that bills 52% of a bare model across 20 live tasks. Terse persona + tool-output compressor + context diet.
翻訳待ち
Dynamiq is an orchestration framework for agentic AI and LLM applications
翻訳待ち
Loading the full README.
Read the full README ↗Welcome to Dynamiq! 🤖
Dynamiq is your all-in-one Gen AI framework, designed to streamline the development of AI-powered applications. Dynamiq specializes in orchestrating retrieval-augmented generation (RAG) and large language model (LLM) agents.
Ready to dive in? Here's how you can get started with Dynamiq:
First, let's get Dynamiq installed. You'll need Python 3.11 or later, so make sure that's set up on your machine. Then run:
pip install dynamiq
This installs agents, workflows, every LLM provider, the built-in tools and memory, and reading of PDF, Word, PowerPoint and Excel files. Integrations that need a larger SDK come as extras. Using one without its extra raises an error that names the missing package:
| Extra | For |
|---|---|
vectorstores | Chroma, Elasticsearch, Milvus, OpenSearch, pgvector, Pinecone, Qdrant, Turbopuffer and Weaviate writers, retrievers and memory backends |
files | HTML and Markdown transformers, Markdown to PDF, PDF page images, the HTML header splitter and the Unstructured converter, plus pdfplumber in the Python tools |
data | matplotlib and seaborn for charts in the Python tools |
sql | MySQL, Snowflake and Databricks in the SQL executor |
browser | The Stagehand browser tool |
sandboxes | E2B and Daytona sandboxes and the Python Monty tool |
gcp | Vertex AI RAG search and the Document AI converter |
evals | The BLEU, ROUGE and string similarity metrics |
cua | The CUA desktop tool (Python 3.12 and 3.13) |
all | Every extra except cua |
pip install "dynamiq[vectorstores,files]"
dynamiq imports an integration, and litellm, the first time it is used, so import dynamiq takes a fraction of a second. A multi-threaded server that would rather pay that cost before it serves can set DYNAMIQ_EAGER_IMPORTS=1, which imports every installed integration with its package, as earlier versions did. litellm also downloads its model price list when it is imported; LITELLM_LOCAL_MODEL_COST_MAP=True makes it use the copy it ships with.
Or build the Python package from the source code:
git clone https://github.com/dynamiq-ai/dynamiq.git
cd dynamiq
uv sync --extra all
For more examples and detailed guides, please refer to our documentation.
Here's a simple example to get you started with Dynamiq:
from dynamiq.nodes.llms.openai import OpenAI
from dynamiq.connections import OpenAI as OpenAIConnection
from dynamiq.prompts import Prompt, Message
# Define the prompt template for translation
prompt_template = """
Translate the following text into English: {{ text }}
"""
# Create a Prompt object with the defined template
prompt = Prompt(messages=[Message(content=prompt_template, role="user")])
# Setup your LLM (Large Language Model) Node
llm = OpenAI(
id="openai", # Unique identifier for the node
connection=OpenAIConnection(api_key="OPENAI_API_KEY"), # Connection using API key
model="gpt-4o", # Model to be used
temperature=0.3, # Sampling temperature for the model
max_tokens=1000, # Maximum number of tokens in the output
prompt=prompt # Prompt to be used for the model
)
# Run the LLM node with the input data
result = llm.run(
input_data={
"text": "Hola Mundo!" # Text to be translated
}
)
# Print the result of the translation
print(result.output)
An agent that has access to the E2B Code Interpreter and is capable of solving complex coding tasks. E2B needs the
sandboxes extra. Code sandboxes are also available via Daytona (DaytonaInterpreterTool, in the same extra) and
AWS Bedrock AgentCore Code Interpreter (BedrockAgentCoreInterpreterTool, using the standard AWS connection).
import asyncio
from dynamiq.nodes.llms.openai import OpenAI
from dynamiq.connections import OpenAI as OpenAIConnection, E2B as E2BConnection
from dynamiq.nodes.agents import Agent
from dynamiq.nodes.tools.e2b_sandbox import E2BInterpreterTool
# Initialize the E2B tool
e2b_tool = E2BInterpreterTool(
connection=E2BConnection(api_key="E2B_API_KEY")
)
# Setup your LLM
llm = OpenAI(
id="openai",
connection=OpenAIConnection(api_key="OPENAI_API_KEY"),
model="gpt-4o",
temperature=0.3,
max_tokens=1000,
)
# Create the agent
agent = Agent(
name="react-agent",
llm=llm, # Language model instance
tools=[e2b_tool], # List of tools that the agent can use
role="Senior Data Scientist", # Role of the agent
max_loops=10, # Limit on the number of processing loops
)
async def run_async_agent():
# Run the agent asynchronously with an input
result = await agent.run(
input_data={
"input": "Add the first 10 numbers and tell if the result is prime.",
}
)
print(result.output.get("content"))
# Execute the async function
if __name__ == "__main__":
asyncio.run(run_async_agent())
This is the beginning of the README. Read the rest at the original. Read the full README ↗