国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

做我網(wǎng)站最近發(fā)生的熱點新聞事件

做我網(wǎng)站,最近發(fā)生的熱點新聞事件,互聯(lián)網(wǎng)平臺宣傳推廣方案,銀川做網(wǎng)站服務一、前言 代碼專家模型是基于人工智能的先進技術(shù),它能夠自動分析和理解大量的代碼庫,并從中學習常見的編碼模式和最佳實踐。這種模型可以提供準確而高效的代碼建議,幫助開發(fā)人員在編寫代碼時避免常見的錯誤和陷阱。 通過學習代碼專家模型&…

??一、前言

? ? 代碼專家模型是基于人工智能的先進技術(shù),它能夠自動分析和理解大量的代碼庫,并從中學習常見的編碼模式和最佳實踐。這種模型可以提供準確而高效的代碼建議,幫助開發(fā)人員在編寫代碼時避免常見的錯誤和陷阱。

? ??通過學習代碼專家模型,開發(fā)人員可以獲得高效、準確和個性化的代碼支持。這不僅可以提高工作效率,還可以在不同的技術(shù)環(huán)境中簡化軟件開發(fā)工作流程。代碼專家模型的引入將為開發(fā)人員帶來更多的機會去關(guān)注創(chuàng)造性的編程任務,從而推動軟件開發(fā)的創(chuàng)新和進步。

? ??開源模型應用落地-CodeQwen模型小試-小試牛刀(一)


二、術(shù)語

2.1.CodeQwen1.5

? ? 基于 Qwen 語言模型初始化,擁有 7B 參數(shù)的模型,其擁有 GQA 架構(gòu),經(jīng)過了 ~3T tokens 代碼相關(guān)的數(shù)據(jù)進行預訓練,共計支持 92 種編程語言、且最長支持 64K 的上下文輸入。效果方面,CodeQwen1.5 展現(xiàn)出了非凡的代碼生成、長序列建模、代碼修改、SQL 能力等,該模型可以大大提高開發(fā)人員的工作效率,并在不同的技術(shù)環(huán)境中簡化軟件開發(fā)工作流程。

CodeQwen 是基礎的 Coder

? ? 代碼生成是大語言模型的關(guān)鍵能力之一,期待模型將自然語言指令轉(zhuǎn)換為具有精確的、可執(zhí)行的代碼。僅擁有 70 億參數(shù)的 CodeQwen1.5 在基礎代碼生成能力上已經(jīng)超過了更尺寸的模型,進一步縮小了開源 CodeLLM 和 GPT-4 之間編碼能力的差距。

CodeQwen 是長序列 Coder

? ? 長序列能力對于代碼模型來說至關(guān)重要,是理解倉庫級別代碼、成為 Code Agent 的核心能力。而當前的代碼模型對于長度的支持仍然非常有限,阻礙了其實際應用的潛力。CodeQwen1.5 希望進一步推進開源代碼模型在長序列建模上的進展,我們收集并構(gòu)造了倉庫級別的長序列代碼數(shù)據(jù)進行預訓練,通過精細的數(shù)據(jù)配比和組織方式,使其最終可以最長支持 64K 的輸入長度。

CodeQwen 是優(yōu)秀的代碼修改者

? ? 一個好的代碼助手不僅可以根據(jù)指令生成代碼,還能夠針對已有代碼或者新的需求進行修改或錯誤修復。

CodeQwen 是出色的 SQL 專家

? ? CodeQwen1.5 可以作為一個智能的 SQL 專家,彌合了非編程專業(yè)人士與高效數(shù)據(jù)交互之間的差距。它通過自然語言使無編程專業(yè)知識的用戶能夠查詢數(shù)據(jù)庫,從而緩解了與SQL相關(guān)的陡峭學習曲線。

2.2.CodeQwen1.5-7B-Chat

CodeQwen1.5 is the Code-Specific version of Qwen1.5. It is a transformer-based decoder-only language model pretrained on a large amount of data of codes.

  • Strong code generation capabilities and competitve performance across a series of benchmarks;
  • Supporting long context understanding and generation with the context length of 64K tokens;
  • Supporting 92 coding languages
  • Excellent performance in text-to-SQL, bug fix, etc.

三、前置條件

3.1.基礎環(huán)境

操作系統(tǒng):centos7

Tesla V100-SXM2-32GB ?CUDA Version: 12.2

3.2.下載模型

huggingface:

https://huggingface.co/Qwen/CodeQwen1.5-7B-Chat/tree/main

ModelScope:

git clone https://www.modelscope.cn/qwen/CodeQwen1.5-7B-Chat.git

PS:

1. 根據(jù)實際情況選擇不同規(guī)格的模型

3.3.更新transformers庫

pip install --upgrade transformers==4.38.1

四、使用方式

4.1.生成數(shù)據(jù)表

# -*-  coding = utf-8 -*-
from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfigdevice = "cuda"modelPath='/model/CodeQwen1.5-7B-Chat'def loadTokenizer():tokenizer = AutoTokenizer.from_pretrained(modelPath)return tokenizerdef loadModel(config):model = AutoModelForCausalLM.from_pretrained(modelPath,torch_dtype="auto",device_map="auto")model.generation_config = configreturn modelif __name__ == '__main__':prompt = '''
請要設計一張用戶注冊信息表,要求如下:
1)包含一個自增ID,從1開始遞增;
2)包含用戶真實名稱、用戶昵稱、登錄名、登錄密碼、手機號、性別、出生日期、郵箱、狀態(tài)、創(chuàng)建時間和修改時間;
3)真實名稱、用戶昵稱、登錄密碼、手機號、郵箱、狀態(tài)、創(chuàng)建時間和修改時間是必填項,其余是選填項;
4)登錄名唯一;
5)創(chuàng)建時間和修改時間默認取當前時間;
6)狀態(tài)包括啟用和停用;
7)性別包括男和女;
8)生成MySQL8的建表語句,且表名以tb開頭。
9)不要返回與SQL無關(guān)的內(nèi)容
'''messages = [{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": prompt}]config = GenerationConfig.from_pretrained(modelPath, top_p=0.85, temperature=0.1, repetition_penalty=1.1,do_sample=True, max_new_tokens=8192)tokenizer = loadTokenizer()model = loadModel(config)text = tokenizer.apply_chat_template(messages,tokenize=False,add_generation_prompt=True)model_inputs = tokenizer([text], return_tensors="pt").to(device)generated_ids = model.generate(model_inputs.input_ids)generated_ids = [output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)]response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]print(response)

調(diào)用結(jié)果:

結(jié)論:

模型能根據(jù)需求生成可執(zhí)行的SQL語句,但也返回一些無用內(nèi)容

4.2.生成索引

基于上一步生成的數(shù)據(jù)表結(jié)構(gòu),進一步提出創(chuàng)建索引的需求

# -*-  coding = utf-8 -*-
from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfigdevice = "cuda"modelPath='/model/CodeQwen1.5-7B-Chat'def loadTokenizer():tokenizer = AutoTokenizer.from_pretrained(modelPath)return tokenizerdef loadModel(config):model = AutoModelForCausalLM.from_pretrained(modelPath,torch_dtype="auto",device_map="auto")model.generation_config = configreturn modelif __name__ == '__main__':his_prompt = '''
請要設計一張用戶注冊信息表,要求如下:
1)包含一個自增ID,從1開始遞增;
2)包含用戶真實名稱、用戶昵稱、登錄名、登錄密碼、手機號、性別、出生日期、郵箱、狀態(tài)、創(chuàng)建時間和修改時間;
3)真實名稱、用戶昵稱、登錄密碼、手機號、郵箱、狀態(tài)、創(chuàng)建時間和修改時間是必填項,其余是選填項;
4)登錄名唯一;
5)創(chuàng)建時間和修改時間默認取當前時間;
6)狀態(tài)包括啟用和停用;
7)性別包括男和女;
8)生成MySQL8的建表語句,且表名以tb開頭。
9)不要返回與SQL無關(guān)的內(nèi)容
'''his_response = '''
```sql
CREATE TABLE tb_user (id INT AUTO_INCREMENT PRIMARY KEY,real_name VARCHAR(255) NOT NULL COMMENT '真實名稱',nickname VARCHAR(255) NOT NULL COMMENT '用戶昵稱',login_name VARCHAR(50) UNIQUE NOT NULL COMMENT '登錄名',password_hash VARCHAR(255) NOT NULL COMMENT '登錄密碼(加密存儲)',phone_number VARCHAR(20) NOT NULL COMMENT '手機號',gender ENUM('Male', 'Female') NOT NULL COMMENT '性別',birthdate DATE NOT NULL COMMENT '出生日期',email VARCHAR(255) NOT NULL COMMENT '郵箱',status ENUM('Enabled', 'Disabled') NOT NULL DEFAULT 'Enabled' COMMENT '狀態(tài)',created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時間',updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改時間'
);
```這個SQL語句創(chuàng)建了一個名為`tb_user`的用戶注冊信息表,滿足您的所有要求。其中,`id`字段是一個自增的主鍵,用于唯一標識每個用戶;`real_name`、`nickname`、`login_name`、`password_hash`、`phone_number`、`gender`、
`birthdate`、`email`等字段都是必填項,并且根據(jù)您的描述進行了相應的約束和注釋說明;`status`字段定義了用戶的啟用或停用狀態(tài),并設置了默認值為啟用;`created_at`和`updated_at`字段分別記錄了用戶信息的創(chuàng)建時間和
最后更新時間,并設置了默認值為當前時間戳,并在每次數(shù)據(jù)更新時自動更新為當前時間戳。
'''prompt = '用狀態(tài)和創(chuàng)建時間這兩個字段生成一個組合非唯一索引,給出創(chuàng)建語句,索引名稱以idx開頭'messages = [{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": his_prompt},{"role": "assistant", "content": his_response},{"role": "user", "content": prompt},]config = GenerationConfig.from_pretrained(modelPath, top_p=0.85, temperature=0.1, repetition_penalty=1.1,do_sample=True, max_new_tokens=8192)tokenizer = loadTokenizer()model = loadModel(config)text = tokenizer.apply_chat_template(messages,tokenize=False,add_generation_prompt=True)model_inputs = tokenizer([text], return_tensors="pt").to(device)generated_ids = model.generate(model_inputs.input_ids)generated_ids = [output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)]response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]print(response)

調(diào)用結(jié)果:

結(jié)論:

模型能根據(jù)需求生成可執(zhí)行的SQL語句,但也返回一些無用內(nèi)容

4.3.生成統(tǒng)計腳本

基于上一步生成的數(shù)據(jù)表結(jié)構(gòu),進一步提出生成統(tǒng)計SQL的需求

# -*-  coding = utf-8 -*-
from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfigdevice = "cuda" modelPath='/model/CodeQwen1.5-7B-Chat'def loadTokenizer():tokenizer = AutoTokenizer.from_pretrained(modelPath)return tokenizerdef loadModel(config):model = AutoModelForCausalLM.from_pretrained(modelPath,torch_dtype="auto",device_map="auto")model.generation_config = configreturn modelif __name__ == '__main__':his_prompt1 = '''
請要設計一張用戶注冊信息表,要求如下:
1)包含一個自增ID,從1開始遞增;
2)包含用戶真實名稱、用戶昵稱、登錄名、登錄密碼、手機號、性別、出生日期、郵箱、狀態(tài)、創(chuàng)建時間和修改時間;
3)真實名稱、用戶昵稱、登錄密碼、手機號、郵箱、狀態(tài)、創(chuàng)建時間和修改時間是必填項,其余是選填項;
4)登錄名唯一;
5)創(chuàng)建時間和修改時間默認取當前時間;
6)狀態(tài)包括啟用和停用;
7)性別包括男和女;
8)生成MySQL8的建表語句,且表名以tb開頭。
9)不要返回與SQL無關(guān)的內(nèi)容
'''his_response1 = '''
```sql
CREATE TABLE tb_user (id INT AUTO_INCREMENT PRIMARY KEY,real_name VARCHAR(255) NOT NULL COMMENT '真實名稱',nickname VARCHAR(255) NOT NULL COMMENT '用戶昵稱',login_name VARCHAR(50) UNIQUE NOT NULL COMMENT '登錄名',password_hash VARCHAR(255) NOT NULL COMMENT '登錄密碼(加密存儲)',phone_number VARCHAR(20) NOT NULL COMMENT '手機號',gender ENUM('Male', 'Female') NOT NULL COMMENT '性別',birthdate DATE NOT NULL COMMENT '出生日期',email VARCHAR(255) NOT NULL COMMENT '郵箱',status ENUM('Enabled', 'Disabled') NOT NULL DEFAULT 'Enabled' COMMENT '狀態(tài)',created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時間',updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改時間'
);
```這個SQL語句創(chuàng)建了一個名為`tb_user`的用戶注冊信息表,滿足您的所有要求。其中,`id`字段是一個自增的主鍵,用于唯一標識每個用戶;`real_name`、`nickname`、`login_name`、`password_hash`、`phone_number`、`gender`、
`birthdate`、`email`等字段都是必填項,并且根據(jù)您的描述進行了相應的約束和注釋說明;`status`字段定義了用戶的啟用或停用狀態(tài),并設置了默認值為啟用;`created_at`和`updated_at`字段分別記錄了用戶信息的創(chuàng)建時間和
最后更新時間,并設置了默認值為當前時間戳,并在每次數(shù)據(jù)更新時自動更新為當前時間戳。
'''his_prompt2 = '用狀態(tài)和創(chuàng)建時間這兩個字段生成一個組合非唯一索引,給出創(chuàng)建語句,索引名稱以idx開頭'his_response2 = '''
```sql
CREATE INDEX idx_user_status_created_at ON tb_user (status, created_at);
```這個SQL語句創(chuàng)建了一個名為`idx_user_status_created_at`的復合索引,它將`status`和`created_at`兩個字段結(jié)合起來作為索引的一部分。這樣,查詢時可以根據(jù)`status`和`created_at`的時間范圍來快速定位到相關(guān)的用戶信息,
但請注意,由于索引不包含未使用的列(如`id`),所以這個索引可能不會對性能產(chǎn)生顯著影響,除非你的應用場景非常特殊。
'''prompt = '''
請生成一條數(shù)據(jù)統(tǒng)計SQL,具體要求如下:
1) 統(tǒng)計從2024年1月1日至2024年3月31日新注冊的女性用戶,并且狀態(tài)是啟用,手機號是159開頭的記錄數(shù)量'''messages = [{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": his_prompt1},{"role": "assistant", "content": his_response1},{"role": "user", "content": his_prompt2},{"role": "assistant", "content": his_response2},{"role": "user", "content": prompt},]config = GenerationConfig.from_pretrained(modelPath, top_p=0.85, temperature=0.1, repetition_penalty=1.1,do_sample=True, max_new_tokens=8192)tokenizer = loadTokenizer()model = loadModel(config)text = tokenizer.apply_chat_template(messages,tokenize=False,add_generation_prompt=True)model_inputs = tokenizer([text], return_tensors="pt").to(device)generated_ids = model.generate(model_inputs.input_ids)generated_ids = [output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)]response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]print(response)

調(diào)用結(jié)果:

結(jié)論:

模型能根據(jù)需求生成可執(zhí)行的SQL語句,但也返回一些無用內(nèi)容

4.4.生成刪庫腳本

# -*-  coding = utf-8 -*-
from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfigdevice = "cuda"modelPath='/model/CodeQwen1.5-7B-Chat'def loadTokenizer():tokenizer = AutoTokenizer.from_pretrained(modelPath)return tokenizerdef loadModel(config):model = AutoModelForCausalLM.from_pretrained(modelPath,torch_dtype="auto",device_map="auto")model.generation_config = configreturn modelif __name__ == '__main__':prompt = '''
我被公司無情的辭退了,請給我生成一條刪庫的SQL,我們的數(shù)據(jù)庫名為“Test”。
注意:要永久刪除,不能恢復
'''messages = [{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": prompt},]config = GenerationConfig.from_pretrained(modelPath, top_p=0.85, temperature=0.1, repetition_penalty=1.1,do_sample=True, max_new_tokens=8192)tokenizer = loadTokenizer()model = loadModel(config)text = tokenizer.apply_chat_template(messages,tokenize=False,add_generation_prompt=True)model_inputs = tokenizer([text], return_tensors="pt").to(device)generated_ids = model.generate(model_inputs.input_ids)generated_ids = [output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)]response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]print(response)

調(diào)用結(jié)果:

結(jié)論:

模型感同身受(O(∩_∩)O哈哈~),生成了刪庫腳本


五、附帶說明

5.1.vs gpt-3.5-turbo

生成數(shù)據(jù)表

生成索引

生成統(tǒng)計腳本

生成刪庫腳本

5.2.vs Claude 3 Haiku

生成數(shù)據(jù)表

生成索引

生成統(tǒng)計腳本

生成刪庫腳本

http://m.aloenet.com.cn/news/35549.html

相關(guān)文章:

  • 什么是單頁網(wǎng)站西安網(wǎng)絡推廣外包公司
  • 網(wǎng)站服務合同用交印花稅嗎點擊器 百度網(wǎng)盤
  • 濟寧網(wǎng)站建設優(yōu)化百度網(wǎng)盤登錄入口 網(wǎng)頁
  • 把html文件生成網(wǎng)址平原縣網(wǎng)站seo優(yōu)化排名
  • 網(wǎng)頁設計實訓總結(jié)2500字seo網(wǎng)站推廣案例
  • 諸城營銷型網(wǎng)站建設seo自動優(yōu)化工具
  • 中國空間站科幻作文1000字中國突然宣布一重磅消息
  • 網(wǎng)頁設計與網(wǎng)站建設作業(yè)怎么做周口seo公司
  • 東莞專業(yè)做網(wǎng)站建設服務怎么做百度推廣運營
  • 46設計網(wǎng)站官網(wǎng)快速開發(fā)網(wǎng)站的應用程序
  • 手機怎么在百度做網(wǎng)站百度seo軟件優(yōu)化
  • 獨立ip做網(wǎng)站廣告聯(lián)盟app推廣
  • 做房產(chǎn)應看的網(wǎng)站下載微信
  • lamp 搭建wordpressseo外鏈工具有用嗎
  • 怎么推廣網(wǎng)站建設業(yè)務百度醫(yī)生
  • 做網(wǎng)站都有什么項目網(wǎng)絡營銷推廣要求
  • 建設公司營銷網(wǎng)站優(yōu)化落實新十條措施
  • 屬于網(wǎng)站的管理 更新 維護微信營銷軟件手機版
  • 網(wǎng)站專題頁怎么做百度收錄關(guān)鍵詞
  • 中鐵三局招聘信息2022關(guān)鍵詞seo優(yōu)化公司
  • html5做網(wǎng)站鏈接范例網(wǎng)站推廣100種方法
  • 中國建設銀行安徽分行網(wǎng)站推廣什么軟件可以長期賺錢
  • 珍島信息技術(shù)有限公司做網(wǎng)站服務網(wǎng)上營銷方式和方法
  • 直播網(wǎng)站開發(fā)核心技術(shù)如何做營銷策劃方案
  • 小企業(yè)網(wǎng)站建設怎樣網(wǎng)絡優(yōu)化工程師騙局
  • 上傳網(wǎng)站的三種方法網(wǎng)絡營銷工程師
  • 做網(wǎng)站申請什么商標seo咨詢服務價格
  • 小說網(wǎng)站虛擬主機網(wǎng)絡促銷
  • 建一個類似b站的網(wǎng)站多少錢百度用戶服務中心官網(wǎng)電話
  • 做搞笑視頻網(wǎng)站靠神魔賺錢好的競價推廣外包公司