![](/img/trans.png)
[英]Using Token to get authorized for VSTS API, but status.code = 203
[英]How to get token or code embedding using Codex API?
對於給定的代碼片段,如何使用 Codex API 進行嵌入?
import os import openai import config openai.api_key = config.OPENAI_API_KEY def runSomeCode(): response = openai.Completion.create( engine="code-davinci-001", prompt="\"\"\"\n1. Get a reputable free news api\n2. Make a request to the api for the latest news stories\n\"\"\"", temperature=0, max_tokens=1500, top_p=1, frequency_penalty=0, presence_penalty=0) if 'choices' in response: x = response['choices'] if len(x) > 0: return x[0]['text'] else: return '' else: return '' answer = runSomeCode() print(answer)
但我想弄清楚給定一個 python 代碼塊,如下所示,我可以從 codex 獲得嵌入嗎?
輸入:
import Random a = random.randint(1,12) b = random.randint(1,12) for i in range(10): question = "What is "+a+" x "+b+"? " answer = input(question) if answer = a*b print (Well done:) else. print("No ")
Output:
是的,OpenAI 可以為任何輸入文本創建嵌入——即使它是代碼。 試試這個代碼:
# Standard library imports
from typing import List
# Third-party imports
import openai
def get_embedding(text: str, engine="text-similarity-davinci-001") -> List[float]:
# replace newlines, which can negatively affect performance.
text = text.replace("\n", " ")
return openai.Embedding.create(input=[text], engine=engine)["data"][0]["embedding"]
embedding = get_embedding("Sample query text goes here")
print(len(embedding))
# Output:
# 12288
embedding = get_embedding("""
import Random
a = random.randint(1,12)
b = random.randint(1,12)
for i in range(10):
question = "What is "+a+" x "+b+"? "
answer = input(question)
if answer = a*b
print (Well done!)
else:
print("No.")
""")
print(len(embedding))
# Output:
# 12288
注意:您可以使用get_embedding()
的engine
參數替換模型或引擎。
參考:
function get_embedding
將為我們提供輸入文本的嵌入。
此處來自 OpenAI 的規范代碼: https://github.com/openai/openai-python/blob/main/examples/embeddings/Get_embeddings.ipynb
import openai from tenacity import retry, wait_random_exponential, stop_after_attempt @retry(wait=wait_random_exponential(min=1, max=20), stop=stop_after_attempt(6)) def get_embedding(text: str, engine="text-similarity-davinci-001") -> List[float]: # replace newlines, which can negatively affect performance. text = text.replace("\n", " ") return openai.Embedding.create(input=[text], engine=engine)["data"][0]["embedding"] embedding = get_embedding("Sample query text goes here", engine="text-search-ada-query-001") print(len(embedding))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.