---
language:
- en
pipeline_tag: text-generation
---
# CodeQwen1.5-7B-OpenDevin

## Introduction
CodeQwen1.5-7B-OpenDevin is a code-specific model targeting on OpenDevin Agent tasks. 
The model is finetuned from CodeQwen1.5-7B, the code-specific large language model based on Qwen1.5 pretrained on large-scale code data.
CodeQwen1.5-7B is strongly capable of understanding and generating codes, and it supports the context length of 65,536 tokens (for more information about CodeQwen1.5, please refer to the [blog post](https://qwenlm.github.io/blog/codeqwen1.5/) and [GitHub repo](https://github.com/QwenLM/Qwen1.5)). 
The finetuned model, CodeQwen1.5-7B-OpenDevin, shares similar features, while it is designed for rapid development, debugging, and iteration.

## Performance
We evaluate CodeQwen1.5-7B-OpenDevin on SWE-Bench-Lite by implementing the model on OpenDevin CodeAct 1.3 and follow the OpenDevin evaluation pipeline. 
CodeQwen1.5-7B-OpenDevin successfully solves 4 problems by commmiting pull requests targeting on the issues. 

## Requirements
The code of Qwen1.5 has been in the latest Hugging face transformers and we advise you to install `transformers>=4.37.0`, or you might encounter the following error:
```
KeyError: 'qwen2'.
```

## Quickstart

To use local models to run OpenDevin, we advise you to deploy CodeQwen1.5-7B-OpenDevin on a GPU device and access it through OpenAI API

```bash
python -m vllm.entrypoints.openai.api_server --model OpenDevin/CodeQwen1.5-7B-OpenDevin --dtype auto --api-key token-abc123
```

For more details, please refer to the official documentation of [vLLM for OpenAI Compatible server](https://docs.vllm.ai/en/stable/serving/openai_compatible_server.html). 

After the deployment, following the guidance of [OpenDevin](https://github.com/OpenDevin/OpenDevin) and run the following command to set up environment variables:

```bash
# The directory you want OpenDevin to work with. MUST be an absolute path!
export WORKSPACE_BASE=$(pwd)/workspace;
export LLM_API_KEY=token-abc123;
export LLM_MODEL=OpenDevin/CodeQwen1.5-7B-OpenDevin;
export LLM_BASE_URL=http://localhost:8000/v1;
```

and run the docker command:

```bash
docker run \
    -it \
    --pull=always \
    -e SANDBOX_USER_ID=$(id -u) \
    -e LLM_BASE_URL=$LLM_BASE_URL \
    -e LLM_API_KEY=$LLM_API_KEY \
    -e LLM_MODEL=$LLM_MODEL \
    -e WORKSPACE_MOUNT_PATH=$WORKSPACE_BASE \
    -v $WORKSPACE_BASE:/opt/workspace_base \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -p 3000:3000 \
    --add-host host.docker.internal:host-gateway \
    ghcr.io/opendevin/opendevin:0.5
```

Now you should be able to connect `http://localhost:3000/`. Set up the configuration at the frontend by clicking the button at the bottom right, and input the right model name and api key. 
Then, you can enjoy playing with OpenDevin based on CodeQwen1.5-7B-OpenDevin!

## Note
This is just a finetuning experiment, and we admit that the performance of the model is still lagging far behind GPT-4. In the future, we will update our datasets for agent-specific finetuning and provide better and larger models. Stay tuned!

## Citation

```
@misc{codeqwen1.5,
    title = {Code with CodeQwen1.5},
    url = {https://qwenlm.github.io/blog/codeqwen1.5/},
    author = {Qwen Team},
    month = {April},
    year = {2024}
}
```