API KEY
export OPENAI_API_KEY=sk-(...)
export OPENAI_ORG_ID=org-(...)
Console Command
List Models
curl -s https://api.openai.com/v1/models -H "OpenAI-Organization: $OPENAI_ORG_ID" -H "Authorization: Bearer $OPENAI_API_KEY" | tee model.txt | jq '.data[] | .id' | sort
Show Model Info
curl -s https://api.openai.com/v1/models/gpt-3.5-turbo -H "OpenAI-Organization: $OPENAI_ORG_ID" -H "Authorization: Bearer $OPENAI_API_KEY"
chat
curl https://api.openai.com/v1/chat/completions -H "Content-Type: application/json" -H "OpenAI-Organization: $OPENAI_ORG_ID" -H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Hello! Who are you?"}],
"temperature": 0.7
}'
openai-python
pip3 install openai==1.14.3
openai api chat.completions.create -m gpt-3.5-turbo -g user "Hello! Who are you?"
list models
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ.get("OPENAI_API_KEY"),
)
print(client.models.list())
chat
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ.get("OPENAI_API_KEY"),
)
chat_completion = client.chat.completions.create(
messages=[
{
"role": "user",
"content": "Hello! Who are you?",
}
],
model="gpt-3.5-turbo",
)
print(chat_completion)
print(chat_completion.choices[0].message.content)
ChatCompletion(id='chatcmpl-98SCAWyi6Tr2UNxvEHle9zYtzJPCa', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content='Hello! I am a virtual assistant here to help answer your questions and provide assistance. How can I help you today?', role='assistant', function_call=None, tool_calls=None))], created=1711802034, model='gpt-3.5-turbo-0125', object='chat.completion', system_fingerprint='fp_b28b39ffa8', usage=CompletionUsage(completion_tokens=24, prompt_tokens=13, total_tokens=37))
附录
models - 2024-03-30
"babbage-002"
"dall-e-2"
"dall-e-3"
"davinci-002"
"gpt-3.5-turbo"
"gpt-3.5-turbo-0125"
"gpt-3.5-turbo-0301"
"gpt-3.5-turbo-0613"
"gpt-3.5-turbo-1106"
"gpt-3.5-turbo-16k"
"gpt-3.5-turbo-16k-0613"
"gpt-3.5-turbo-instruct"
"gpt-3.5-turbo-instruct-0914"
"gpt-4"
"gpt-4-0125-preview"
"gpt-4-0613"
"gpt-4-1106-preview"
"gpt-4-1106-vision-preview"
"gpt-4-turbo-preview"
"gpt-4-vision-preview"
"text-embedding-3-large"
"text-embedding-3-small"
"text-embedding-ada-002"
"tts-1"
"tts-1-1106"
"tts-1-hd"
"tts-1-hd-1106"
"whisper-1"
openai==0.28
list models
import os
import openai
openai.organization = os.getenv('OPENAI_ORG_ID')
openai.api_key = os.getenv('OPENAI_API_KEY')
print(openai.Model.list())
chat
import openai
import os
openai.api_key = os.getenv("OPENAI_API_KEY")
response = openai.ChatCompletion.create(
model = "gpt-3.5-turbo",
messages = [
{
"role": "user",
"content": "Hello! Who are you?"
}
]
)
print(response)
print(response["choices"][0]["message"]["content"])
>>> print(response)
{
"choices": [
{
"finish_reason": "stop",
"index": 0,
"logprobs": null,
"message": {
"content": "Hello, I am an AI assistant created to provide information and assistance. How can I help you today?",
"role": "assistant"
}
}
],
"created": 1711552640,
"id": "chatcmpl-97PJgtjY3s6tSYeZRVvLhpd3zLDh2",
"model": "gpt-3.5-turbo-0125",
"object": "chat.completion",
"system_fingerprint": "fp_3bc1b5746c",
"usage": {
"completion_tokens": 21,
"prompt_tokens": 13,
"total_tokens": 34
}
}
>>> print(response["choices"][0]["message"]["content"])
Hello, I am an AI assistant created to provide information and assistance. How can I help you today?
文本补齐
import openai
import os
openai.api_key = os.getenv("OPENAI_API_KEY")
response = openai.Completion.create(
model = "davinci-002",
prompt = "As Descartes said, I think therefore",
temperature = 0.7,
max_tokens = 30,
top_p = 1,
)
print(response)
<OpenAIObject text_completion id=cmpl-97PDv98Egenkp2umKAmvd0xEFCRX5 at 0x7ff3d6984650> JSON: {
"choices": [
{
"finish_reason": "length",
"index": 0,
"logprobs": null,
"text": " I am. So you don't have what you think you have because you're not conscious of it. So how can you tell me you're conscious"
}
],
"created": 1711552283,
"id": "cmpl-97PDv98Egenkp2umKAmvd0xEFCRX5",
"model": "davinci-002",
"object": "text_completion",
"usage": {
"completion_tokens": 30,
"prompt_tokens": 9,
"total_tokens": 39
}
}