使用多家平台发现,硅基流动是我发现的第一家同时提供免费的大模型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}}}