大模型封装在库里,库放在服务器上,服务器放在微软的云上。我们能做的,仅仅是通过API这个小小的缝隙,窥探ai的奥妙。从程序员的角度而言,水平的高低,就体现在对openai的这几个api的理解程度上。
先去https://platform.openai.com/signup
申请一个免费的api key。
再把key写入os环境变量:
echo "export OPENAI_API_KEY='sk-cf32FF7b8238a8Ea8eoickf2E3523B3c9V830d3dk9yk3o79'" >> ~/.bash_profile
source ~/.bash_profile
echo $OPENAI_API_KEY
POST https://api.openai.com/v1/chat/completions
from openai import OpenAI
client = OpenAI()
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "中国的首都是?"}
]
)
print(response.choices[0].message)
结果:
ChatCompletionMessage(content='中国的首都是北京。', role='assistant', function_call=None, tool_calls=None)
chat api的输出,是一个chat completion object,就是本例中的response。
这个response object中的choices[]是array,其中又包含message object。
print(response.choices[0].message.content)
#输出:中国的首都是北京。
print(response.choices[0].message.role)
#输出:assistant