Mini-SWE-Agent Integration¶
Mini-SWE-Agent is a lightweight software engineering agent. The Contree integration enables it to execute code in isolated, reproducible containers. Every command in Mini-SWE-Agent is executed in a fresh shell session, which makes it perfectly suitable for Contree.
Integration repository: mini-swe-agent with Contree
Using ContreeEnvironment¶
1from minisweagent.agents.default import DefaultAgent
2from minisweagent.environments.extra.contree import ContreeEnvironment
3from minisweagent.models.litellm_model import LitellmModel
4
5from contree_sdk.config import ContreeConfig
6
7
8def main():
9 model = LitellmModel(model_name="gemini/gemini-flash-latest")
10
11 contree_env = ContreeEnvironment(
12 contree_config=ContreeConfig(
13 token="your-contree-token",
14 base_url="https://your-contree-instance.com",
15 ),
16 image="ubuntu:focal",
17 cwd="/workspace",
18 )
19
20 agent = DefaultAgent(model, contree_env)
21 agent.run("Develop small calculator script and check it")
22
23 result = contree_env.session.run(shell="ls /workspace -lah").wait()
24 print(result.stdout)
25
26
27if __name__ == "__main__":
28 main()
Running with SWE-bench¶
Update config/extra/swebench.yaml:
environment:
environment_class: contree
contree_config:
token: "your-contree-token"
model:
model_name: "openai/gpt-4"
cost_tracking: "ignore_errors"
model_kwargs:
custom_llm_provider: "openai"
drop_params: true
temperature: 0.0
api_base: "https://api.provider.com/v1/"
api_key: "your-api-key"
Run the benchmark:
python src/minisweagent/run/extra/swebench.py \
--subset lite \
--output results \
--workers 4 \
--redo-existing