LLM API 交互(OpenAI、Anthropic)
了解如何使用领先 LLM 提供商(如 OpenAI 和 Anthropic)的官方 API,以编程方式与其交互。
LLM API 交互(OpenAI、Anthropic) 是 CoddyKit 上的免费 Prompt Engineering & LLM Optimization for Developers 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Prompt Engineering & LLM Optimization for Developers 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Prompt Engineering & LLM Optimization for Developers 课程共包含 4 节课。
本课时的部分内容尚未翻译,以英文显示。
Why Use LLM APIs?
Large Language Models (LLMs) like those from OpenAI and Anthropic are incredibly powerful. To use them in your own apps, you need to interact with their Application Programming Interfaces (APIs).
An API acts like a messenger, allowing your code to send requests to the LLM and receive its responses. This enables you to build dynamic, AI-powered features into your applications.
API Keys: Your Access Pass
To use an LLM API, you need an API key. Think of it as a password that authenticates your requests and links them to your account for billing.
- Get your key: Sign up on OpenAI or Anthropic's platform and generate an API key.
- Keep it secret: Never hardcode your API key directly in your code. Store it securely, ideally as an environment variable.
- Environment variables: These are system-wide variables that your program can access without the key being visible in the code itself.
OpenAI API: Initial Setup
Let's start with OpenAI. First, you'll need to install their official Python client library. Then, set up your API key for authentication.
Run this in your terminal:
pip install openaiThen, in your Python script, you'll typically set the API key like this (before making calls):
import os
# It's best practice to load from an environment variable
# e.g., export OPENAI_API_KEY='sk-your-key-here'
# This line is usually enough if OPENAI_API_KEY is set
# The client automatically picks it up.
# If you need to set it manually in code (NOT recommended for production):
# from openai import OpenAI
# client = OpenAI(api_key="YOUR_ACTUAL_API_KEY")
print("OpenAI client library installed and ready!")
print("Ensure OPENAI_API_KEY is set as an environment variable.")OpenAI API: First Chat Completion
The core of OpenAI's API for conversation is the Chat Completions endpoint. You send a list of 'messages' and the model responds with the next message in the conversation.
Try running this simple example:
from openai import OpenAI
import os
# Initialize the client. It will automatically pick up OPENAI_API_KEY
# from your environment variables if it's set.
client = OpenAI()
def get_completion(prompt_text):
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{"role": "user", "content": prompt_text}
],
temperature=0.7,
max_tokens=50
)
return response.choices[0].message.content
if __name__ == "__main__":
# Make sure you have your OPENAI_API_KEY set as an environment variable
# before running this code.
if "OPENAI_API_KEY" not in os.environ:
print("Error: OPENAI_API_KEY environment variable not set.")
print("Please set it before running this script.")
else:
user_prompt = "What is the capital of France?"
print(f"User: {user_prompt}")
llm_response = get_completion(user_prompt)
print(f"LLM: {llm_response}")OpenAI: Key Parameters
When making an OpenAI API call, these parameters are crucial:
model: Specifies which LLM to use (e.g.,"gpt-3.5-turbo","gpt-4"). Different models have different capabilities and costs.messages: A list of message objects defining the conversation history. Each object has a"role"and"content".temperature: Controls the randomness of the output. Higher values (e.g., 0.8) make the output more creative; lower values (e.g., 0.2) make it more focused and deterministic.max_tokens: The maximum number of tokens (words/pieces of words) the model should generate in its response.
OpenAI: Understanding Message Roles
The messages parameter in OpenAI's API uses specific roles to guide the conversation flow:
system: Sets the overall behavior or persona of the assistant.user: Represents the user's input to the assistant.assistant: Represents the assistant's previous responses.
Including past assistant messages helps the model maintain context.
from openai import OpenAI
import os
client = OpenAI()
def get_contextual_completion(messages_list):
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=messages_list,
temperature=0.7,
max_tokens=70
)
return response.choices[0].message.content
if __name__ == "__main__":
if "OPENAI_API_KEY" not in os.environ:
print("Error: OPENAI_API_KEY environment variable not set.")
print("Please set it before running this script.")
else:
conversation_history = [
{"role": "system", "content": "You are a helpful assistant that provides short, factual answers."},
{"role": "user", "content": "What is the capital of Japan?"},
{"role": "assistant", "content": "The capital of Japan is Tokyo."},
{"role": "user", "content": "And of Germany?"}
]
print("Current conversation:")
for msg in conversation_history:
print(f"{msg['role'].capitalize()}: {msg['content']}")
llm_response = get_contextual_completion(conversation_history)
print(f"Assistant: {llm_response}")Anthropic API: Initial Setup
Now let's look at Anthropic's Claude models. Similar to OpenAI, you'll install their client library and set your API key.
Run this in your terminal:
pip install anthropicThen, prepare your Python script:
import os
# It's best practice to load from an environment variable
# e.g., export ANTHROPIC_API_KEY='sk-ant-your-key-here'
# The client automatically picks it up if ANTHROPIC_API_KEY is set.
# If you need to set it manually in code (NOT recommended for production):
# from anthropic import Anthropic
# client = Anthropic(api_key="YOUR_ACTUAL_ANTHROPIC_API_KEY")
print("Anthropic client library installed and ready!")
print("Ensure ANTHROPIC_API_KEY is set as an environment variable.")Anthropic API: First Messages Call
Anthropic's main API for conversational models is called the Messages API. It also uses a list of messages, but with slightly different role names and structure compared to OpenAI.
Run this example to see it in action:
from anthropic import Anthropic
import os
# Initialize the client. It will automatically pick up ANTHROPIC_API_KEY
# from your environment variables if it's set.
client = Anthropic()
def get_claude_completion(prompt_text):
response = client.messages.create(
model="claude-3-haiku-20240307", # A fast, cheaper Claude model
max_tokens=50,
temperature=0.7,
messages=[
{"role": "user", "content": prompt_text}
]
)
return response.content[0].text
if __name__ == "__main__":
# Make sure you have your ANTHROPIC_API_KEY set as an environment variable
# before running this code.
if "ANTHROPIC_API_KEY" not in os.environ:
print("Error: ANTHROPIC_API_KEY environment variable not set.")
print("Please set it before running this script.")
else:
user_prompt = "Tell me a very short fun fact about space."
print(f"User: {user_prompt}")
claude_response = get_claude_completion(user_prompt)
print(f"Claude: {claude_response}")Anthropic: Key Parameters & Roles
Anthropic's Messages API shares similarities with OpenAI but has some distinctions:
model: Specifies the Claude model (e.g.,"claude-3-haiku-20240307","claude-3-opus-20240229").messages: A list of message objects. Each message must alternate between"user"and"assistant"roles. Unlike OpenAI, Anthropic does not have a distinct"system"role; system instructions are included in the first"user"message or a dedicated"system"parameter.max_tokens: The maximum number of tokens Claude should generate.temperature: Controls creativity, similar to OpenAI.
API Interaction Check
You've learned the basics of interacting with both OpenAI and Anthropic APIs. Let's test your understanding!
Recap: Connecting to LLMs
In this lesson, you've taken your first steps into programmatic interaction with LLMs!
- We understood the importance of LLM APIs for building AI-powered applications.
- You learned how to securely handle API keys using environment variables.
- We explored setting up and making basic chat completion calls with both OpenAI's and Anthropic's Python client libraries.
- You now understand key parameters like
model,messages,temperature, andmax_tokensfor both platforms.
This knowledge is foundational for integrating powerful LLMs into your developer workflows!
常见问题解答
「LLM API 交互(OpenAI、Anthropic)」课时是免费的吗?
是的 — 「LLM API 交互(OpenAI、Anthropic)」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Prompt Engineering & LLM Optimization for Developers 课程的其余内容,请升级到 CoddyKit PRO。 Prompt Engineering & LLM Optimization for Developers 课程共包含 4 节课。
「LLM API 交互(OpenAI、Anthropic)」这节课中我会学到什么?
了解如何使用领先 LLM 提供商(如 OpenAI 和 Anthropic)的官方 API,以编程方式与其交互。 你通过在浏览器中直接运行的动手代码来练习 Prompt Engineering & LLM Optimization for Developers,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Prompt Engineering & LLM Optimization for Developers 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Prompt Engineering & LLM Optimization for Developers 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「LLM API 交互(OpenAI、Anthropic)」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Prompt Engineering & LLM Optimization for Developers 课中编写并运行代码吗?
能。每节 Prompt Engineering & LLM Optimization for Developers 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- LLM API 交互(OpenAI、Anthropic)
- LangChain 与 LlamaIndex 基础
- 提示词管理与版本控制
- 检索增强生成(RAG)基础