78 lines
3.2 KiB
Markdown
78 lines
3.2 KiB
Markdown
---
|
|
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}
|
|
}
|
|
``` |