| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- """
- coding : utf-8
- @Date : 2024/7/11
- @Author : Shaobo
- @Describe:
- """
- import time
- from typing import Literal
- import shortuuid
- from pydantic import BaseModel
- class ChatMessage(BaseModel):
- role: str
- content: str
- class ChatCompletionRequest(BaseModel):
- model: str = "codegeex4"
- messages: list[ChatMessage]
- temperature: float = 0.2
- top_p: float = 1.0
- max_tokens: int = 1024
- stop: list[str] = ['<|user|>', '<|assistant|>', '<|observation|>', '<|endoftext|>']
- stream: bool = True
- presence_penalty: float = None
- class DeltaMessage(BaseModel):
- role: str
- content: str
- class ChatCompletionResponseStreamChoice(BaseModel):
- index: int = 0
- delta: DeltaMessage = DeltaMessage(role='assistant', content='')
- finish_reason: Literal["stop", "length"] = None
- class ChatCompletionStreamResponse(BaseModel):
- id: str = f"chatcmpl-{shortuuid.random()}"
- object: str = "chat.completion.chunk"
- created: int = int(time.time())
- model: str = "codegeex4"
- choices: list[ChatCompletionResponseStreamChoice] = [ChatCompletionResponseStreamChoice()]
- class ChatCompletionResponseChoice(BaseModel):
- index: int = 0
- message: ChatMessage = ChatMessage(role="assistant", content="")
- finish_reason: Literal["stop", "length"] = None
- class ChatCompletionResponse(BaseModel):
- id: str = f"chatcmpl-{shortuuid.random()}"
- object: str = "chat.completion"
- created: int = int(time.time())
- model: str = "codegeex4"
- choices: list[ChatCompletionResponseChoice] = [ChatCompletionResponseChoice()]
- # usage: UsageInfo
|