| | --- |
| | 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} |
| | } |
| | ``` |