フィボナッチ関数について、途中まで書いていて、その続きのコードをレスポンスとして返します。
ソースコードを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など非同期で実行していると思われる。
入力中の続きのコード生成も同様
コメントを書き終えた時や、コードを打ち終えた時などにトリガーが発動される。