LLM免费api平台
平时使用AI模型进行学习和尝试开发一些简单的agent,会消耗大量token,这里介绍两个提供免费API的平台,自用下来感觉回复速度和服务器稳定性很不错:
硅基流动
官网介绍:专为大模型微调与托管打造的一站式服务平台。通过该平台,用户可以快速、无缝地将自定义模型部署为服务,并根据自己上传的数据进行模型微调。
- 登录官网后,先申请apikey,然后进入模型广场选择模型 https://cloud.siliconflow.cn/models
可用的免费模型还是很多的,这里演示一下推理模型的使用,先看一下参数:
使用OpenAI SDK进行流式输出的简单demo:
from openai import OpenAI
import os
client = OpenAI(
api_key=os.getenv("SILICONFLOW_API_KEY"), #这里使用你自己的api key
base_url="https://api.siliconflow.cn/v1"
)
completion = client.chat.completions.create(
model="deepseek-ai/DeepSeek-R1-Distill-Qwen-7B", #这个是推理模型,推理内容在reasoning_content里
# model="Qwen/Qwen2-7B-Instruct", # 自行切换非推理模型对比效果
messages=[{
"role": "user",
"content": "9.9和9.11谁大?"
}],
stream=True
)
reasoning = ""
content = ""
for chunk in completion:
# print('chunk.choices[0]:', chunk.choices[0])
delta = chunk.choices[0].delta
delta_reasoning = getattr(delta, 'reasoning_content', '')
delta_content = getattr(delta, 'content', '')
if delta_reasoning:
reasoning += delta_reasoning
print(delta_reasoning, end="", flush=True)
if delta_content:
content += delta_content
print(delta_content, end="", flush=True)
# print('\n'*2)
# if reasoning:
# print("-"*50)
# print("完整推理:", reasoning)
# print("-"*50)
# print("完整回答:", content)
运行演示
OpenRouter平台
官网介绍:一个支持LLM统一接口的平台
和硅基流动一样,注册、创建apikey、选择模型;
模型列表 :
其中也有昨天刚发布的deepseek最新版V3,也有Qwen: QwQ 32B 和 DeepSeek: R1,这些在硅基流动上都是收费的,不确定openrouter后续会不会收费,至少可以试用的情况下可以优先使用这个平台进行测试
同样使用OpenAI SDK进行流式输出的简单demo:
这里需要注意的是,思考的字段是reasoning,以下是完整代码,基本和上面一致:
from openai import OpenAI
import os
client = OpenAI(
api_key=os.getenv("OPEN_ROUTER_API_KEY"), #这里使用你自己的api key
base_url="https://openrouter.ai/api/v1"
)
# 自行切换非推理模型对比效果
completion = client.chat.completions.create(
# model="deepseek/deepseek-chat-v3-0324:free",
# model="qwen/qwq-32b:free",
# model="qwen/qwen-2.5-72b-instruct:free",
model="deepseek/deepseek-r1:free", #这个是推理模型,推理内容在reasoning里
messages=[
{
"role": "user",
"content": "9.9和9.11谁大?"
}
],
stream=True
)
reasoning = ""
content = ""
for chunk in completion:
# print('chunk.choices[0]:', chunk.choices[0])
delta = chunk.choices[0].delta
# 使用 getattr 安全地获取属性,如果不存在则返回空字符串
delta_reasoning = getattr(delta, 'reasoning', '')
delta_content = getattr(delta, 'content', '')
# 如果delta_reasoning存在,则将它添加到reasoning中,并打印出来
if delta_reasoning:
reasoning += delta_reasoning
print(delta_reasoning, end="", flush=True)
# 如果delta_content存在,则将它添加到content中,并打印出来
if delta_content:
content += delta_content
print(delta_content, end="", flush=True)
# print('\n'*2)
# if reasoning:
# print("-"*50)
# print("完整推理:", reasoning)
# print("-"*50)
# print("完整回答:", content)
就不放视频了,基本效果和上面视频里是差不多的:
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!