OpenAI API 初探 - 01

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
list models

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"
model info

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
   }'
chat

openai-python

pip3 install openai==1.14.3

openai api chat.completions.create -m gpt-3.5-turbo -g user "Hello! Who are you?"
chat

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)
  • output
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))

附录

openai-python

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"])
  • output
>>> 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)
  • output
<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
  }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容