当前位置: 首页>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
  • 國二python難嗎,python字符串(二)
  • 電腦軟件下載app,在電腦上體驗了 16 款手機 App 后,我很失望
  • elasticsearch中文文檔,Elastic安全分析新利器 —— Event Query Language (EQL) 介紹
  • 數據結構與算法python,[FreeCodeCamp筆記] Python 數據結構和算法1 二分搜索 Binary Search
  • 黑蘋果macOS系統鏡像工具,MacOS Monterey 12.2.1 (21D62) OC 0.7.8 / Cl 5144 / PE 三分區原版黑蘋果鏡像
  • 51單片機畢業設計論文,【畢業設計】基于單片機無線充電的4軸飛行器 -物聯網 嵌入式 stm32
  • 數據庫基礎知識整理,數據庫筆記整理
  • python運行不報錯又無任何結果輸出,linux 正確錯誤輸出_報告錯誤的正確方法
  • 計算機組成原理第六版課后答案,杭電計算機組成原理實驗九R-I,杭電計組實驗9-實現R-I型指令的CPU設計實驗.doc
  • python面向對象,Python零基礎速成班-第10講-Python面向對象編程(下),Property屬性、特殊方法、設計模式、鏈表應用
  • 數據庫視圖是什么,【SpringMVC】SpringMVC模型數據+視圖解析器
  • mp3格式轉換器,FFmpeg支持的音頻和視頻編解碼格式
  • 音樂學校招生要求,學校的音樂樓
  • c語言輸入兩個數輸出較大數,C語言求兩個數的較大值
  • 定義一個函數求三個數的最大值,輸入兩個整數,要求輸出其中值較大者。要求用函數求出最大值
  • MySQL學習 DAY1
  • 一個眼神一個微笑就讓人滿足,看得到的微笑
  • centos7安裝MySQL,centos7下載spark連接mysql數據庫提取數據(pyspark,Scala,python獨立執行)
  • node.js開發,從零開始nodejs系列文章-nodejs到底能干什么
  • python控制軟件自動化,Python實現網站自動登錄---傻瓜教程
  • get all of,resent = msg.get_all('Resent-Date') AttributeError: 'str' object h
  • opencv人體動作識別,torchvision使用keypoint rcnn 進行人體關鍵點定位
  • 深度卷積神經網絡原理與實踐,卷積神經網絡resent網絡實踐
  • 服務器,win服務器系統路由器,Windows server 2012 之路由功能
  • 小青蛙走迷宮的問題
  • 漢諾塔-小青蛙
  • 小青蛙oracle跟蹤,在小青蛙TOAD中用oracle語句寫
  • 音頻頻譜分析儀安卓版,[Android]自定義繪制一個簡易的音頻條形圖,附上對MP3音頻波形數據的采集與展現
  • 連乘符號∏的運算法則,∏這個是什么符號?
  • 用例失敗jenkins卻構建成功,jenkins 構建異常_jenkins構建失敗的原因是什么?