当前位置: 首页>Python>正文

python轉中文,NLP實戰一 利用OpenAI Codex實現中文轉python代碼

python轉中文,NLP實戰一 利用OpenAI Codex實現中文轉python代碼

OpenAI Codex 是 GPT-3 的后代;它的訓練數據包含自然語言和來自公開來源的數十億行源代碼,包括公共 GitHub 存儲庫中的代碼。OpenAI Codex 最擅長 Python,但它也精通十多種語言,包括 JavaScript、Go、Perl、PHP、Ruby、Swift 和 TypeScript,甚至是 Shell。它有 14KB 的 Python 代碼內存,而 GPT-3 只有 4KB——因此它在執行任何任務時可以考慮超過 3 倍的上下文信息。

GPT-3 的主要技能是生成自然語言以響應自然語言提示,這意味著它影響世界的唯一方式是通過讀者的思想。OpenAI Codex 具有對 GPT-3 的大部分自然語言理解,但它會生成工作代碼——這意味著您可以使用 API 向任何軟件發出英語命令。OpenAI Codex 使計算機能夠更好地理解人們的意圖,這可以使每個人都能用計算機做更多的事情。

一旦程序員知道要構建什么,編寫代碼的行為就可以被認為是 (1) 將問題分解為更簡單的問題,以及 (2) 將這些簡單問題映射到已經存在的代碼(庫、API 或函數)存在。后一項活動可能是編程中最不有趣的部分(也是進入門檻最高的部分),也是 OpenAI Codex 最擅長的地方。OpenAI Codex 是一種通用編程模型,這意味著它基本上可以應用于任何編程任務(盡管結果可能會有所不同)。我們已經成功地將它用于編譯、解釋代碼和重構代碼。但我們知道,我們只觸及了可以做的事情的皮毛。

先調用有道翻譯的API接口,將漢語翻譯為英語,再用GTP3的codex生成代碼

import requests
from hashlib import md5
import time
import random
#請求地址
url = "http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule"appVersion = "5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36"headers = {"Accept": "application/json, text/javascript, */*; q=0.01","Accept-Encoding": "gzip, deflate","Accept-Language": "zh-CN,zh;q=0.9","Connection": "keep-alive","Content-Length": "244","Content-Type": "application/x-www-form-urlencoded; charset=UTF-8","Cookie": "OUTFOX_SEARCH_USER_ID=-1506602845@10.169.0.82; JSESSIONID=aaaUggpd8kfhja1AIJYpx; OUTFOX_SEARCH_USER_ID_NCOO=108436537.92676207; ___rl__test__cookies=1597502296408","Host": "fanyi.youdao.com","Origin": "http://fanyi.youdao.com","Referer": "http://fanyi.youdao.com/","user-agent": appVersion,"X-Requested-With": "XMLHttpRequest",
}
#模擬js
def r(e):# bvt = md5(appVersion.encode()).hexdigest()# ltsr = str(int(time.time() * 1000))# ii = r + str(random.randint(0,9))return {"ts": r,"bv": t,"salt": i,"sign": md5(("fanyideskweb" + e + i + "]BjuETDhU)zqSxf-=B#7m").encode()).hexdigest()}
def fanyi(word):data = r(word)params = {"i": word,"from": "UTO","to": "AUTO","smartresult": "dict","client": "fanyideskweb","salt": data["salt"],"sign": data["sign"],"lts": data["ts"],"bv": data["bv"],"doctype": "json","version": "2.1","keyfrom": "fanyi.web","action": "FY_BY_REALTlME",}response = requests.post(url=url,headers=headers,data=params)return response.json()text="""計算一組點之間的平均距離"""
result = fanyi(text)
r_data = result["translateResult"]
for data in r_data:print(data[0]["tgt"])print(data[0]["src"])
import os
import openai
import json
openai.api_key_path = "C:\ProgramData\Anaconda3\Lib\site-packages\openai\openaikey.txt"# openai.api_key = os.getenv("OPENAI_API_KEY")response = openai.Completion.create(model="text-davinci-002",prompt="# Python 3\n# "+data[0]["tgt"],#"Generates an arithmetic sequence of 1-100 in the list",temperature=0.7,max_tokens=256,top_p=1,frequency_penalty=0,presence_penalty=0
)
print(json.loads(str(response))['choices'][0]['text'])

生成的結果

# in (x,y) coordinate space
#
def average(points):sumx = 0sumy = 0for i in range(len(points)):sumx = sumx + points[i][0]sumy = sumy + points[i][1]return sumx / len(points), sumy / len(points)#
# Python 3
# Calculate the Euclidean distance between two points
# in (x,y) coordinate space
#
def euclideanDistance(point1, point2):sum = 0for i in range(len(point1)):sum = sum + math.pow(point1[i] - point2[i], 2)return math.sqrt(sum)#
# Python 3
# Calculate the average distance between a set of points
# in (x,y) coordinate space
#
def averageDistance(points):sum = 0for i in range(len(points)):for j in range(i + 1, len(points)):

實現的方法

拿到OPENAI的key

解決 OpenAI’s API is not available in your country.(不支持中國)

https://beta.openai.com/overview購買了OPENAI賬號

在這里插入圖片描述

import os
import openai
openai.api_key_path = "C:\ProgramData\Anaconda3\Lib\site-packages\openai\openaikey.txt"
# openai.api_key = os.getenv("") 
response = openai.Completion.create(model="text-davinci-002",prompt="Convert this text to a programmatic command:\n\nExample: Ask Constance if we need some bread\nOutput: send-msg `find constance` Do we need some bread?\n\nContact the ski store and figure out if I can get my skis fixed before I leave on Thursday",temperature=0,max_tokens=100,top_p=1.0,frequency_penalty=0.2,presence_penalty=0.0,stop=["\n"]
)
response

安裝jupyter_codex

python轉中文。參考 https://mnb.macnica.co.jp/2022/04/ai/gpt-3codex.html

$ pip install jupyterlab-codex

此插件允許您從 Jupyter Notebook 無縫調用 Codex API。
命令行中輸入jupyter lab啟動 jupyter lab

C:\WINDOWS\system32>jupyter lab

參考
https://www.theverge.com/2021/8/10/22618128/openai-codex-natural-language-into-code-api-beta-access?scrolla=5eb6d68b7fedc32c19ef33b4

https://www.youtube.com/watch?v=SGUCcjHTmGY

https://www.nshth.com/python/313074.html
>

相关文章:

  • python轉中文
  • python在線編譯器
  • python怎么變成中文版
  • pythonunicode轉中文
  • python語言翻譯
  • Python語音轉文字
  • Python自然語言處理
  • python nlp
  • magic2前置攝像頭,物體移出鏡頭外出現ui提示
  • w兩個世界第二季,TwoC#第二季
  • bgp router id作用,超詳細解讀OSPF Router-ID
  • nintendo賬號登錄,Nintendo帳戶,用戶ID和網絡ID:Nintendo所有令人困惑的帳戶,說明
  • 學習網絡ID的計算
  • 不怕事,網站上線要做的事和不該做的事,你知道嗎?
  • wordpress默認主題,wordpress主題_40個免費和高質量的WordPress主題(2017)
  • 鼠標滑過顯示圖片大圖效果
  • docker配置文件,Docker常用命令使用詳解(docker help、version、info、images)(一)
  • 攝像頭成像原理示意圖,圖像成像模型
  • 《Python編程從入門到實踐》袁國忠 譯 P1~P200學習筆記
  • 6ra80優化步驟,阿木p200四旋翼配置經驗筆記
  • 廣告制作合同模板免費,合約廣告
  • 360瀏覽器開發者工具,體驗 Chrome 開發者工具的 12個騷操作!
  • 開發者工具下載,Chrome 開發者工具各種騷技巧
  • ftp傳輸文件命令,在linux系統,用FTP工具下載文件
  • pomxml標紅,idea的pom.xml文件圖標是黃色而不是藍色
  • docker 基礎鏡像,詳解docker鏡像管理命令
  • docker鏡像列表,【docker專欄5】詳解docker鏡像管理命令
  • qt表格控件,Qt 表格導出數據為 excel html csv
  • 應用程序右下角有個盾牌,如何去除任務欄右下角的紅色盾牌圖表
  • 杯中酒空醉古今,酒至數杯 天空軟件下載
  • python導入數據集,python獲取Q群的信息數據100%用得到【已開源】
  • the apple pie,As American as apple pie 美國特色
  • 輸入學生人數和學生成績計算,統計學生平均成績與及格人數(PTA)
  • 查詢計算機系學生的總人數,統計專業人數。本題要求實現一個函數,統計學生學號鏈表中專業為計算機的學生人數。
  • 數學與統計專業就業前景,6-3 統計專業人數 (15 分)
  • C語言統計各年齡段人數,PTA: 統計專業人數 (15分)(C語言)
  • 幼兒教育理論筆記,Android屏幕適配 - 屏幕基礎理論知識筆記;res資源文件命名與匹配規則
  • 量子化學公社,量子化學計算(Gausssian)圖形工作站硬件方案