Ele suporta saída de streaming de alta velocidade, múltiplas rodadas de diálogo, pesquisa on-line, interpretação de documentos longos, análise de imagens, implantação de configuração zero, suporte a token multicanal e limpeza automática de rastreamentos de sessão.
Totalmente compatível com interface ChatGPT.
Há também as seguintes oito APIs gratuitas às quais você deve prestar atenção:
Interface Moonshot AI (Kimi.ai) para API kimi-free-api
Interface Alibaba Tongyi (Qwen) para API qwen-free-api
Interface Zhipu AI (Zhipu Qingyan) para API glm-free-api
Interface Metaso AI (Metaso) para API metaso-free-api
Interface Iflytek Spark para API spark-free-api
Interface MiniMax (Conch AI) para API hailuo-free-api
Interface DeepSeek para API deepseek-free-api
Interface de Listening Intelligence (Emohaa) para API emohaa-free-api
A API reversa é instável. Recomenda-se acessar Step Star Official https://platform.stepfun.com/ para pagar para usar a API e evitar o risco de ser banido.
Esta organização e indivíduos não aceitam quaisquer doações ou transações financeiras. Este projeto é puramente para pesquisa, intercâmbio e aprendizagem!
É apenas para uso pessoal, sendo proibida a prestação de serviços externos ou uso comercial para evitar pressão sobre o serviço oficial, caso contrário é por sua conta e risco!
É apenas para uso pessoal, sendo proibida a prestação de serviços externos ou uso comercial para evitar pressão sobre o serviço oficial, caso contrário é por sua conta e risco!
É apenas para uso pessoal, sendo proibida a prestação de serviços externos ou uso comercial para evitar pressão sobre o serviço oficial, caso contrário é por sua conta e risco!
Este link é apenas uma função de teste temporária e não pode ser usado por muito tempo. Implante-o você mesmo para uso a longo prazo.
https://udify.app/chat/RGqDVPHspgQgGSgf
Obtenha deviceId e Oasis-Token em yuewen.cn
Entre no StepChat e inicie uma conversa, depois F12 para abrir as ferramentas do desenvolvedor.
deviceId
em Application > LocalStorage (remova as aspas duplas), como: 267bcc81a01c2032a11a3fc6ec3e372c380eb9d1
Oasis-Token
em Aplicativo > Cookies, como: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
@
para unir deviceId
e Oasis-Token
em Token, que será usado como o valor do Bearer Token de Autorização: Authorization: Bearer 267bcc81a01c2032a11a3fc6ec3e372c380eb9d1@eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Você pode fornecer refresh_tokens para várias contas ,
usá-los juntos para fornecer:
Authorization: Bearer TOKEN1,TOKEN2,TOKEN3
Um deles será selecionado cada vez que o serviço for solicitado.
Prepare um servidor com IP público e porta aberta 8000.
Extraia a imagem e inicie o serviço
docker run -it -d --init --name step-free-api -p 8000:8000 -e TZ=Asia/Shanghai vinlic/step-free-api:latest
Visualize logs de serviço em tempo real
docker logs -f step-free-api
Reiniciar serviço
docker restart step-free-api
Interromper serviço
docker stop step-free-api
version : ' 3 '
services :
step-free-api :
container_name : step-free-api
image : vinlic/step-free-api:latest
restart : always
ports :
- " 8000:8000 "
environment :
- TZ=Asia/Shanghai
Observação: algumas áreas de implantação podem não conseguir se conectar à etapa. Se a solicitação expirar ou não puder ser conectada no log do contêiner, mude para outras áreas para implantação! Nota: A instância do contêiner da conta gratuita irá parar automaticamente de funcionar após um período de inatividade, o que causará um atraso de 50 segundos ou mais na próxima solicitação. É recomendado marcar Render container keep alive.
Bifurque este projeto para sua conta do github.
Visite Render e faça login em sua conta do github.
Crie seu serviço Web (Novo+ -> Construa e implante a partir de um repositório Git -> Conecte seu projeto bifurcado -> Selecione a área de implantação -> Selecione o tipo de instância como Gratuito -> Criar serviço Web).
Após a conclusão da construção, copie o nome de domínio atribuído e divida o URL para acesso.
Nota: O tempo limite de resposta da solicitação para contas gratuitas Vercel é de 10 segundos, mas a resposta da interface geralmente leva mais tempo e você pode encontrar um erro de tempo limite 504 retornado pelo Vercel!
Certifique-se de ter instalado o ambiente Node.js primeiro.
npm i -g vercel --registry http://registry.npmmirror.com
vercel login
git clone https://github.com/LLM-Red-Team/step-free-api
cd step-free-api
vercel --prod
Prepare um servidor com IP público e porta aberta 8000.
Instale o ambiente Node.js e configure as variáveis de ambiente primeiro e confirme se o comando node está disponível.
Instalar dependências
npm i
Instale PM2 para proteção de processo
npm i -g pm2
Compile e construa. Quando você vir o diretório dist, a compilação estará concluída.
npm run build
Iniciar serviço
pm2 start dist/index.js --name " step-free-api "
Visualize logs de serviço em tempo real
pm2 logs step-free-api
Reiniciar serviço
pm2 reload step-free-api
Interromper serviço
pm2 stop step-free-api
É mais rápido e fácil usar o seguinte cliente de desenvolvimento secundário para acessar os projetos da série free-api e suporta upload de documentos/imagens!
LobeChat desenvolvido por Clivia https://github.com/Yanyutin753/lobe-chat
ChatGPT Web https://github.com/SuYxh/chatgpt-web-sea desenvolvido por Guangguang@
Atualmente, ele suporta a interface /v1/chat/completions
compatível com openai. Você pode usar a interface de acesso do cliente compatível com openai ou outros clientes, ou usar serviços online como dify para acessá-la.
Interface de conclusão de conversa, compatível com chat-completions-api do openai.
POST /v1/chat/completions
header precisa definir o cabeçalho de autorização:
Authorization: Bearer [refresh_token]
Dados da solicitação:
{
// 模型名称随意填写
"model" : " step " ,
"messages" : [
{
"role" : " user " ,
"content" : "你是谁? "
}
],
// 如果使用SSE流请设置为true,默认false
"stream" : false
}
Dados de resposta:
{
"id" : " 85466015488159744 " ,
"model" : " step " ,
"object" : " chat.completion " ,
"choices" : [
{
"index" : 0 ,
"message" : {
"role" : " assistant " ,
"content" : "我是跃问(StepChat),一个由阶跃星辰(StepFun)开发的多模态大模型。我可以回答您的问题,提供信息和帮助,同时支持多种模态的交互,如文字、图像等。如果您有任何问题或需要帮助,请随时向我提问。 "
},
"finish_reason" : " stop "
}
],
"usage" : {
"prompt_tokens" : 1 ,
"completion_tokens" : 1 ,
"total_tokens" : 2
},
"created" : 1711829974
}
Forneça um URL de arquivo acessível ou BASE64_URL para analisar.
POST /v1/chat/completions
header precisa definir o cabeçalho de autorização:
Authorization: Bearer [refresh_token]
Dados da solicitação:
{
// 模型名称随意填写
"model" : " step " ,
"messages" : [
{
"role" : " user " ,
"content" : [
{
"type" : " file " ,
"file_url" : {
"url" : " https://mj101-1317487292.cos.ap-shanghai.myqcloud.com/ai/test.pdf "
}
},
{
"type" : " text " ,
"text" : "文档里说了什么? "
}
]
}
]
}
Dados de resposta:
{
"id" : " 85774360661086208 " ,
"model" : " step " ,
"object" : " chat.completion " ,
"choices" : [
{
"index" : 0 ,
"message" : {
"role" : " assistant " ,
"content" : "这是一个关于爱情魔法的文档。它包含了四个部分: nn 1. **PMG 4.1390 – 1495**:这是一个使用面包和咒语来吸引心仪女性的仪式。仪式中需要将面包分成七个小块,并在特定地点进行咒语的念诵和投掷。 n 2. **PMG 4.1342 – 57**:这是一个召唤恶魔来使一个名叫Tereous的女性受到折磨,直到她与一个名叫Didymos的人相爱并结合的咒语。 n 3. **PGM 4.1265 – 74**:这是关于如何赢得一个美丽的女人的咒语。它涉及到连续三天保持纯洁,向女神阿佛洛狄特(Aphrodite)供奉乳香,并在心中默念她的神秘名字。 n 4. **PGM 4.1496 – 1**:这是一个使用没药来吸引一个特定女性的咒语。这个咒语需要在煤上焚烧没药的同时念诵,目的是让这个女性心中只想着施咒者,并最终与施咒者相爱。 "
},
"finish_reason" : " stop "
}
],
"usage" : {
"prompt_tokens" : 1 ,
"completion_tokens" : 1 ,
"total_tokens" : 2
},
"created" : 1711903489
}
Forneça um URL de imagem acessível ou BASE64_URL para analisar.
Este formato é compatível com o formato API gpt-4-vision-preview e você também pode usar esse formato para transmitir documentos para análise.
POST /v1/chat/completions
header precisa definir o cabeçalho de autorização:
Authorization: Bearer [refresh_token]
Dados da solicitação:
{
// 模型名称随意填写
"model" : " step " ,
"messages" : [
{
"role" : " user " ,
"content" : [
{
"type" : " image_url " ,
"image_url" : {
"url" : " https://k.sinaimg.cn/n/sinakd20111/106/w1024h682/20240327/babd-2ce15fdcfbd6ddbdc5ab588c29b3d3d9.jpg/w700d1q75cms.jpg "
}
},
{
"type" : " text " ,
"text" : "图像描述了什么? "
}
]
}
]
}
Dados de resposta:
{
"id" : " 85773574417829888 " ,
"model" : " step " ,
"object" : " chat.completion " ,
"choices" : [
{
"index" : 0 ,
"message" : {
"role" : " assistant " ,
"content" : "这张图片展示了一个活动现场,似乎是某种新产品或技术的发布会。图片中央有一个大屏幕,上面写着“创新技术及产品首发”,屏幕上还展示了一些公司的标志或名称,如“RWKV”、“财跃星辰”、“阶跃星辰”、“商汤”和“零方科技”。在屏幕下方的舞台上,有几位穿着正装的人士正在进行互动,可能是在进行产品发布或演示。整个场景给人一种正式且科技感十足的印象。 "
},
"finish_reason" : " stop "
}
],
"usage" : {
"prompt_tokens" : 1 ,
"completion_tokens" : 1 ,
"total_tokens" : 2
},
"created" : 1711903302
}
Verifique se update_token está ativo. Se live não for verdadeiro, caso contrário, é falso. Por favor, não chame esta interface com frequência (menos de 10 minutos).
POST /token/cheque
Dados da solicitação:
{
"token" : " 267bcc81a01c2032a11a3fc6ec3e372c380eb9d1@eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... "
}
Dados de resposta:
{
"live" : true
}
Se você estiver usando o proxy reverso Nginx step-free-api, adicione os seguintes itens de configuração para otimizar o efeito de saída do fluxo e otimizar a experiência.
# 关闭代理缓冲。当设置为off时,Nginx会立即将客户端请求发送到后端服务器,并立即将从后端服务器接收到的响应发送回客户端。
proxy_buffering off ;
# 启用分块传输编码。分块传输编码允许服务器为动态生成的内容分块发送数据,而不需要预先知道内容的大小。
chunked_transfer_encoding on ;
# 开启TCP_NOPUSH,这告诉Nginx在数据包发送到客户端之前,尽可能地发送数据。这通常在sendfile使用时配合使用,可以提高网络效率。
tcp_nopush on ;
# 开启TCP_NODELAY,这告诉Nginx不延迟发送数据,立即发送小数据包。在某些情况下,这可以减少网络的延迟。
tcp_nodelay on ;
# 设置保持连接的超时时间,这里设置为120秒。如果在这段时间内,客户端和服务器之间没有进一步的通信,连接将被关闭。
keepalive_timeout 120 ;
Como o lado da inferência não está na API step-free, o token não pode ser contado e será retornado como um número fixo!!!!!