add support for StepFun (#1611)

### What problem does this PR solve?

#1561 

### Type of change
- [x] New Feature (non-breaking change which adds functionality)

---------

Co-authored-by: Zhedong Cen <cenzhedong2@126.com>
This commit is contained in:
黄腾 2024-07-19 16:26:12 +08:00 committed by GitHub
parent 264303ba98
commit 347cb61f26
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 12611 additions and 0 deletions

View File

@ -1886,6 +1886,38 @@
"model_type": "chat"
}
]
},
{
"name": "StepFun",
"logo": "",
"tags": "LLM",
"status": "1",
"llm": [
{
"llm_name": "step-1-8k",
"tags": "LLM,CHAT,15k",
"max_tokens": 8192,
"model_type": "chat"
},
{
"llm_name": "step-1-32k",
"tags": "LLM,CHAT,32k",
"max_tokens": 32768,
"model_type": "chat"
},
{
"llm_name": "step-1-128k",
"tags": "LLM,CHAT,128k",
"max_tokens": 131072,
"model_type": "chat"
},
{
"llm_name": "step-1-256k",
"tags": "LLM,CHAT,256k",
"max_tokens": 262144,
"model_type": "chat"
}
]
}
]
}

View File

@ -71,6 +71,7 @@ ChatModel = {
"Bedrock": BedrockChat,
"Groq": GroqChat,
'OpenRouter':OpenRouterChat,
"StepFun":StepFunChat
}

View File

@ -897,3 +897,9 @@ class OpenRouterChat(Base):
self.base_url = "https://openrouter.ai/api/v1"
self.client = OpenAI(base_url=self.base_url, api_key=key)
self.model_name = model_name
class StepFunChat(Base):
def __init__(self, key, model_name, base_url="https://api.stepfun.com/v1/chat/completions"):
if not base_url:
base_url = "https://api.stepfun.com/v1/chat/completions"
super().__init__(key, model_name, base_url)

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 943 KiB

View File

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="52px" height="52px" viewBox="0 0 52 52" enable-background="new 0 0 52 52" xml:space="preserve"> <image id="image0" width="52" height="52" x="0" y="0"
href="data:image/png;base64,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
ODoxODowOSswMDowMHtUK80AAAAASUVORK5CYII=" />
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -65,6 +65,8 @@ const IconMap = {
Gemini: 'gemini',
Groq: 'groq-next',
OpenRouter: 'open-router',
LocalAI:'local-ai',
StepFun:'stepfun'
};
const LlmIcon = ({ name }: { name: string }) => {