フィボナッチ関数について、途中まで書いていて、その続きのコードをレスポンスとして返します。
ソースコードをapiに私、”complete this code”と指示を出しています。
from openai import OpenAI
client = OpenAI(api_key="sk-hoge****")
partial_code = """
def fibonacci(n):
\"\"\"n番目までのフィボナッチ数列を返す関数.\"\"\"
sequence = [0, 1]
"""
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "You are an expert Python programmer. Complete the given code without explanations, only code."},
{"role": "user", "content": f"Complete this Python code:\n\n{partial_code}"}
],
temperature=0.2,
)
print(response.choices[0].message.content)
$ python3 codegen_input.py
“`python
if n <= 0:
return []
elif n == 1:
return [0]
elif n == 2:
return sequence
for i in range(2, n):
next_value = sequence[-1] + sequence[-2]
sequence.append(next_value)
return sequence
```
Github Copilotではコメントからコード生成はグレーアウトされたコードで即時表示している。
これは特定の実行ボタンなどを押下しなくても表示しているので、Ajaxなど非同期で実行していると思われる。
入力中の続きのコード生成も同様
コメントを書き終えた時や、コードを打ち終えた時などにトリガーが発動される。