大模型免费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}}}
相关推荐
Artech14 分钟前
[对比学习LangChain和MAF-03]完全不同的Agent设计哲学
python·ai·langchain·c#·agent·maf
诸葛老刘21 分钟前
国密python调java服务
java·python·国密·sm2
WL_Aurora23 分钟前
Python 算法基础篇之排序算法(二):希尔、快速、归并
python·算法·排序算法
RSCompany33 分钟前
Frida 17 以后 Python API 跑旧版 JS 报 Java is not defined ?一行 import 直接恢复 Frida 16 体验
开发语言·python·逆向·hook·frida·android逆向·frida17
张道宁36 分钟前
从零开始训练YOLO手机检测模型:完整实战教程
python·yolo
快乐的哈士奇36 分钟前
对话框打字机效果:Vur + Java/Python 实现
java·开发语言·python
malog_43 分钟前
PyTorch图像数据加载实战指南
图像处理·人工智能·pytorch·python
博.闻广见44 分钟前
AI_Python基础-4.标准库与IO
开发语言·python
程序猿编码44 分钟前
大模型的“文字障眼法“:FlipAttack 文本反转越狱技术全解析
linux·python·ai·大模型
晚烛1 小时前
CANN 数据流与内存优化:L1/L2 缓存机制与计算重叠深度解析
人工智能·python·缓存