对于给定的代码片段,如何使用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.")
输出:
- 输入代码的嵌入
2条答案
按热度按时间pqwbnv8z1#
是的,OpenAI可以为任何输入文本创建嵌入--即使是代码。你只需要在它的
get_embedding()
函数调用中传递正确的引擎或模型。get_embedding()
的engine
参数更换型号或发动机。上面给出的代码可以让你嵌入任何代码。还有一个名为
code-search-ada-code-001
的代码搜索引擎/模型,但它不如code-search-babbage-code-001
强大,我在回答这个问题时使用了code-search-babbage-code-001
。如果你也想做代码搜索,请阅读下面的参考文献。1qczuiv02#
函数
get_embedding
将为我们提供一个输入文本的嵌入。OpenAI的规范代码如下:https://github.com/openai/openai-python/blob/main/examples/embeddings/Get_embeddings.ipynb