大模型 API 调用
open开发的官方库,SDK,方便与编程调用其产品,许多模型服务商兼容
千问API调用
调用阿里百炼大模型平台。
- 获取客户端对象 配置api_key,以及base_url。
client = OpenAI(
# 若没有配置环境变量,请用百炼API Key将下行替换为:api_key="sk-xxx"
# api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="http://203.0.113.10:11434/v1",
)- 调用模型 model:选择所用模型 messages:提供给模型的信息,可以多个字典,每个字典包含两个key role:角色 content:内容 system:整体行为、角色和规则 “你是一个python专家” assistant:AI助手的回答,手动设定,实际并没有回答。 user:代表用户,发送问题、指令或需求
completion = client.chat.completions.create(
# 模型列表:https://help.aliyun.com/zh/model-studio/getting-started/models
model="gpt-oss:20b",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "你是谁?"},
],
stream=False
)- 处理结果 通过response提取模型回复的东西。
历史功能,messages里面可以包含很多内容
completion = client.chat.completions.create(
model = "qwen-plus",
messages = [
{"role": "system", "content": "你是AI助理"},
{"role": "user", "content": "小红有 1 只狗"},
{"role": "system", "content": "好的"},
{"role": "user", "content": "小红又买了 1 只狗"},
{"role": "system", "content": "好的"},
{"role": "user", "content": "小红又买了 2 只猫"},
{"role": "system", "content": "好的"},
{"role": "user", "content": "小红现在有几只宠物"}
],
stream = False
)文本输入输出
Section titled “文本输入输出”import os
from openai import OpenAI
os.environ["DASHSCOPE_API_KEY"] = "sk-REDACTED" # 替换为你的百炼API Key
client = OpenAI(
# 若没有配置环境变量,请用百炼API Key将下行替换为:api_key="sk-xxx"
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
# 模型列表:https://help.aliyun.com/zh/model-studio/getting-started/models
model="qwen-plus",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "你是谁?"},
]
)
print(completion.model_dump_json())import os
from openai import OpenAI
os.environ["DASHSCOPE_API_KEY"] = "sk-REDACTED" # 替换为你的百炼API Key
client = OpenAI(
# 若没有配置环境变量,请用百炼API Key将下行替换为:api_key="sk-xxx"
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
model="qwen-plus", # 此处以qwen-plus为例,可按需更换模型名称。模型列表:https://help.aliyun.com/zh/model-studio/getting-started/models
messages=[{'role': 'system', 'content': 'You are a helpful assistant.'},
{'role': 'user', 'content': '你是谁?'}],
stream=True,
stream_options={"include_usage": True}
)
for chunk in completion:
print(chunk.model_dump_json())ollama模型库
Section titled “ollama模型库”本地快速跑开源的大模型,并对外提供API接口
常见端口:11434
进阶:可通过反向代理等实现token认证。
ollama run model_nameopenai调用
Section titled “openai调用”completion = client.chat.completions.create(
model="qwen-plus", # 此处以qwen-plus为例,可按需更换模型名称。模型列表:https://help.aliyun.com/zh/model-studio/getting-started/models
messages=[{'role': 'system', 'content': 'You are a helpful assistant.'},
{'role': 'user', 'content': '我是谁?'}],
stream=True,
stream_options={"include_usage": True}
)
for chunk in completion:
print(chunk.model_dump_json())APIKEY 隐藏
Section titled “APIKEY 隐藏”通过环境变量隐藏APIKEY,避免APIKEY暴露在代码中
OPENAI_API_KEY:openai的key
DASHSCOPE_API_KEY:langchain所需
export xx="sk-sxxxx"