CodeFuse-CGE-Large is the Large version of the CodeFuse-CGE family which is fine-tuned based on CodeQwen1.5-7B. CodeFuse-CGE-Large is distinguish on text2code task for it's powerful ability of capturing the semantic relationship between code and text.
This model has the following notable features:
● Instruction-tuning is enabled for both query and code snippet sides.
● The model obtains sentence-level and code-level representations through a layer of cross-attention computation module.
● The model has a smaller dimensional size without significant degradation in performance.
Model Configuration
Model Size: 7B
Embedding Dimension: 1024
Hidden Layers: 32
Max Input Tokens: 1024
from transformers import AutoTokenizer, AutoModel
model_name_or_path = "CodeFuse-CGE-Large"
model = AutoModel.from_pretrained(model_name_or_path, trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=True, truncation_side='right', padding_side='right')
if torch.cuda.is_available():
device = 'cuda'
else:
device = 'cpu'
model.to(device)
prefix_dict = {'python':{'query':'Retrieve the Python code that solves the following query:', 'passage':'Python code:'},
'java':{'query':'Retrieve the Java code that solves the following query:', 'passage':'Java code:'},
'go':{'query':'Retrieve the Go code that solves the following query:', 'passage':'Go code:'},
'c++':{'query':'Retrieve the C++ code that solves the following query:', 'passage':'C++ code:'},
'javascript':{'query':'Retrieve the Javascript code that solves the following query:', 'passage':'Javascript code:'},
'php':{'query':'Retrieve the PHP code that solves the following query:', 'passage':'PHP code:'},
'ruby':{'query':'Retrieve the Ruby code that solves the following query:', 'passage':'Ruby code:'},
'default':{'query':'Retrieve the code that solves the following query:', 'passage':'Code:'}
}
text = ["Writes a Boolean to the stream.",
"def writeBoolean(self, n): t = TYPE_BOOL_TRUE if n is False: t = TYPE_BOOL_FALSE self.stream.write(t)"]
text[0] += prefix_dict['python']['query']
text[0] += prefix_dict['python']['passage']
embed = model.encode(tokenizer, text)
score = embed[0] @ embed[1].T
print("score", score)
Benchmark the Performance
We use MRR metric to evaluate the ability on text2code retrieval tasks: AdvTest, CosQA, CSN
Acknowledgement
Thanks to the authors of open-sourced datasets, including CSN, Adv, CoSQA.
License
Since CodeFuse-CGE-Large is fine-tuned based on CodeQwen1.5-7B model, our usage license follows the same terms as that of CodeQwen1.5-7B model.
CodeFuse-CGE-Large huggingface.co is an AI model on huggingface.co that provides CodeFuse-CGE-Large's model effect (), which can be used instantly with this codefuse-ai CodeFuse-CGE-Large model. huggingface.co supports a free trial of the CodeFuse-CGE-Large model, and also provides paid use of the CodeFuse-CGE-Large. Support call CodeFuse-CGE-Large model through api, including Node.js, Python, http.
CodeFuse-CGE-Large huggingface.co is an online trial and call api platform, which integrates CodeFuse-CGE-Large's modeling effects, including api services, and provides a free online trial of CodeFuse-CGE-Large, you can try CodeFuse-CGE-Large online for free by clicking the link below.
codefuse-ai CodeFuse-CGE-Large online free url in huggingface.co:
CodeFuse-CGE-Large is an open source model from GitHub that offers a free installation service, and any user can find CodeFuse-CGE-Large on GitHub to install. At the same time, huggingface.co provides the effect of CodeFuse-CGE-Large install, users can directly use CodeFuse-CGE-Large installed effect in huggingface.co for debugging and trial. It also supports api for free installation.