如何使用Codex API获取令牌或代码嵌入?

对于给定的代码片段,如何使用Codex API获取嵌入?

import osimport openaiimport configopenai.api_key = config.OPENAI_API_KEYdef 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 Randoma = 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.")

输出:

  • 输入代码的嵌入

回答:

函数 get_embedding 将为我们提供输入文本的嵌入。

OpenAI的标准代码在这里: https://github.com/openai/openai-python/blob/main/examples/embeddings/Get_embeddings.ipynb

import openaifrom 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]:    # 替换换行符,这可能会对性能产生负面影响。    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))

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注