license: mit
datasets:
- glaiveai/glaive-code-assistant-v2
- TokenBender/code_instructions_122k_alpaca_style
language:
- en
metrics:
- code_eval
pipeline_tag: text-generation
tags:
- code
- text-generation-inference
代码忍者:你的高级编程助手
概述
代码忍者是知名模型openchat/openchat-3.5-1210的增强版本。它通过在两个包含超过40万条编码指令的大规模数据集上进行监督微调训练而成。作为程序员不可或缺的工具,代码忍者旨在无缝融入你的日常编码工作流。
量化版本请访问:beowolx/CodeNinja-1.0-OpenChat-7B-GGUF。
核心特性
提示词格式
代码忍者沿用OpenChat 3.5的对话格式,使用时需严格遵循以下结构:
GPT4 Correct User: 你好<|end_of_turn|>GPT4 Correct Assistant: 嗨<|end_of_turn|>GPT4 Correct User: 今天过得怎么样?<|end_of_turn|>GPT4 Correct Assistant:
⚠️ 重要提示:必须使用<|end_of_turn|>
作为生成结束标记。
遵循此格式是获得最佳效果的关键。
使用指南
通过LM Studio使用
最简便的方式是通过LM Studio加载量化版本。请选择"OpenChat"预设模板(已包含标准提示词格式),该模板也可在此gist获取。
使用Transformers库
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
model_path = "beowolx/CodeNinja-1.0-OpenChat-7B"
model = AutoModelForCausalLM.from_pretrained(model_path, device_map="auto")
tokenizer = AutoTokenizer.from_pretrained("openchat/openchat-3.5-1210", use_fast=True)
def generate_one_completion(prompt: str):
messages = [
{"role": "user", "content": prompt},
{"role": "assistant", "content": ""}
]
input_ids = tokenizer.apply_chat_template(messages, add_generation_prompt=True)
generate_ids = model.generate(
torch.tensor([input_ids]).to("cuda"),
max_length=256,
pad_token_id=tokenizer.pad_token_id,
eos_token_id=tokenizer.eos_token_id
)
completion = tokenizer.decode(generate_ids[0], skip_special_tokens=True)
completion = completion.split("\n\n\n")[0].strip()
return completion
许可协议
代码忍者采用MIT许可证,模型使用需遵守模型许可证。
联系我们
如有疑问或需要支持,请在代码仓库提交issue。