大模型免费api调用系列:硅基流动

使用多家平台发现,硅基流动是我发现的第一家同时提供免费的大模型api、嵌入模型api和重排序模型api的平台,很高兴跟大家分享这个消息,注册烦请填写邀请码:1qZVBGKZ,会赠送14元的额度用于付费的模型使用。这里分享通过python代码调用api输出内容的示例,其他代码也可参考官方给的示例哦。需要注意的是代码中的api key需要换成自己注册后创建的api key,例如`api_key="your_key`换成`api_key="xxx"`,`"Authorization": Bearer <token>"`换成`"Authorization": Bearer xxx"`,其中xxx表示自己的api key。

`

大模型

大模型调用有两种方式,一种通过openai库进行调用,一种通过requests库进行调用。

openai

python 复制代码
from openai import OpenAI

client = OpenAI(
    api_key="your_key",
    base_url="https://api.siliconflow.cn/v1",
)
response = client.chat.completions.create(
    model="deepseek-ai/DeepSeek-R1-Distill-Qwen-7B",
    messages=[
        {
            "role": "user",
            "content": "你好",
        }
    ],
    stream=False,
)

print(response.text)

requests

python 复制代码
import requests

url = "https://api.siliconflow.cn/v1/chat/completions"

payload = {
    "model": "deepseek-ai/DeepSeek-R1-Distill-Qwen-7B",
    "messages": [
        {
            "role": "user",
            "content": "中国大模型行业2025年将会迎来哪些机遇和挑战",
        }
    ],
    "stream": False,
    "max_tokens": 2048,
    "stop": ["null"],
    "temperature": 0.7,
    "top_p": 0.7,
    "top_k": 50,
    "frequency_penalty": 0.5,
    "n": 1,
    "response_format": {"type": "text"},
    # 部分模型不支持tools功能
    # "tools": [
    #     {
    #         "type": "function",
    #         "function": {
    #             "description": "<string>",
    #             "name": "<string>",
    #             "parameters": {},
    #             "strict": False
    #         }
    #     }
    # ]
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json",
}

response = requests.request("POST", url, json=payload, headers=headers)
# 输出完整响应内容
# print(response.text)
try:
    response = requests.post(url, json=payload, headers=headers)
    data = response.json()  # 解析为字典
    if "code" not in data:
        # 根据 API 响应结构调整提取逻辑
        answer = data["choices"][0]["message"]["content"]
        print(answer)
    else:
        print(f"错误:{data.get('message')}")
except Exception as e:
    print(f"请求失败:{e}")

嵌入模型

python 复制代码
from pprint import pprint
import requests


url = "https://api.siliconflow.cn/v1/embeddings"

payload = {
    "model": "BAAI/bge-m3",
    "input": "硅基流动embedding上线,多快好省的 embedding 服务,快来试试吧",
    "encoding_format": "float"
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.request("POST", url, json=payload, headers=headers)

# 输出完整响应信息
# pprint(response.text)
# '{"object":"list","data":[{"embedding":[-0.054859884,0.001276734,...-0.03185533,-0.04044469,0.025002513],"index":0,"object":"embedding"}],"model":"BAAI/bge-m3","usage":{"prompt_tokens":25,"completion_tokens":0,"total_tokens":25}}'
# 仅输出embedding信息
pprint(response.json()["data"][0]["embedding"])
# [-0.054859884,0.001276734,...-0.03185533,-0.04044469,0.025002513]

重排模型

python 复制代码
import requests

url = "https://api.siliconflow.cn/v1/rerank"

payload = {
    "model": "BAAI/bge-reranker-v2-m3",
    "query": "Apple",
    "documents": ["苹果", "香蕉", "水果", "蔬菜"],
    "top_n": 4,
    "return_documents": False,
    "max_chunks_per_doc": 1024,
    "overlap_tokens": 80
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.request("POST", url, json=payload, headers=headers)

print(response.text)
# query = "Apple", documents = ["苹果", "香蕉", "水果", "蔬菜"]
# 从结果可以看到,苹果和Apple的相似度最高,其次是水果和Fruit,香蕉和Banana,蔬菜和Vegetable。
# {"id":"01951d66416e7e9f8ff7699d966a5d78","results":[{"index":0,"relevance_score":0.9953725},{"index":2,"relevance_score":0.002157342},{"index":1,"relevance_score":0.00046371284},{"index":3,"relevance_score":0.000017502925}],"meta":{"billed_units":{"input_tokens":28,"output_tokens":0,"search_units":0,"classifications":0},"tokens":{"input_tokens":28,"output_tokens":0}}}
相关推荐
Y3174291 小时前
Python Day 22 学习
python·学习
正在走向自律2 小时前
Python 自动化脚本开发秘籍:从入门到实战进阶(6/10)
开发语言·python
白熊1882 小时前
【计算机视觉】基于Python的相机标定项目Camera-Calibration深度解析
python·数码相机·计算机视觉
仙人掌_lz2 小时前
深入理解深度Q网络DQN:基于python从零实现
python·算法·强化学习·dqn·rl
Jamence2 小时前
多模态大语言模型arxiv论文略读(六十二)
人工智能·语言模型·自然语言处理
小雅痞2 小时前
[Java][Leetcode middle] 80. 删除有序数组中的重复项 II
java·python·leetcode
大叔_爱编程2 小时前
p020基于Django的4S店客户管理系统
vue.js·python·django·毕业设计·源码·课程设计·4s店客户管理系统
yorushika_3 小时前
python打卡训练营打卡记录day22
开发语言·python·机器学习
代码的乐趣3 小时前
支持selenium的chrome driver更新到136.0.7103.92
chrome·python·selenium
带鱼工作室3 小时前
通义读光系列文字检测+识别模型端到端OCR应用
python·opencv·计算机视觉·ocr