- doc:https://platform.openai.com/docs/guides/text-generation/completions-api
- 迁移code:https://github.com/openai/openai-python/discussions/742
- completions:老版,不支持gpt4,openai=0.28
- chat completions:新版,支持gpt3、4,pip install --upgrade openai
openai.Completion.create、gpt3
# 老版 调用gpt3 openai版本低
import openai
api_version="2022-12-01"
azure_endpoint="xxxxxxxxxx"
api_key='xxxxxxxxxx'
deployment_name='xxxxxxxxxx'
openai.api_type = "azure"
openai.api_base = azure_endpoint
openai.api_version =api_version
openai.api_key =api_key
response_1 = openai.Completion.create(
engine=deployment_name,
prompt="海底捞好吃吗?",
temperature=0,
max_tokens=400,
stop=["\"\"\""]
)
response=response_1["choices"][0]["text"]
print(response)
AzureOpenAI.chat.completions.create、gpt4
completion.model_dump(),输出内容类型为字典
from openai import AzureOpenAI
api_version="2024-02-15-preview"
azure_endpoint="xxxxxxxxxxxxxx"
api_key="xxxxxxxxxxxxxx"
deployment_name="xxxxxxxxxxxxxx"
client = AzureOpenAI(
# https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#rest-api-versioning
api_version=api_version,
# https://learn.microsoft.com/en-us/azure/cognitive-services/openai/how-to/create-resource?pivots=web-portal#create-a-resource
azure_endpoint=azure_endpoint,
api_key=api_key
)
completion = client.chat.completions.create(
model=deployment_name, # e.g. gpt-35-instant
messages=[
{
"role": "user",
"content": "海底捞好吃吗?",
},
]
)
response=completion.model_dump()['choices'][0]['message']['content']
print(response)
AzureOpenAI.chat.completions.create、gpt3
注意api_version 需要更改为新的版本号
# 新版 调用gpt3 openai版本升级
from openai import AzureOpenAI
api_version="2023-07-01-preview"
azure_endpoint="xxxxxxxxxxxxxxx"
api_key='xxxxxxxxxxxxxxx'
deployment_name='xxxxxxxxxxxxxxx'
client = AzureOpenAI(
# https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#rest-api-versioning
api_version=api_version,
# https://learn.microsoft.com/en-us/azure/cognitive-services/openai/how-to/create-resource?pivots=web-portal#create-a-resource
azure_endpoint=azure_endpoint,
api_key=api_key
)
completion = client.chat.completions.create(
model=deployment_name, # e.g. gpt-35-instant
messages=[
{
"role": "user",
"content": "海底捞好吃吗?",
},
]
)
response=completion.model_dump()['choices'][0]['message']['content']
print(response)
openai.chat.completions.create、gpt3
注意api_version 需要更改为新的版本号
import openai
openai.api_key = 'xxxxxxxxxxxxxxxxx'
openai.api_type = "azure"
openai.azure_endpoint = "xxxxxxxxxxxxxxxxx"
openai.api_version ="2024-02-15-preview"
# all client options can be configured just like the `OpenAI` instantiation counterpart
# openai.base_url = "https://..."
openai.default_headers = {"x-foo": "true"}
completion = openai.chat.completions.create(
model="xxxxxxxxxxx", ##deployment_name
messages=[
{
"role": "user",
"content": "海底捞好吃吗",
},
],
)
print(completion.choices[0].message.content)