forked from phoenix/litellm-mirror
feat(proxy_server.py): working /v1/messages
endpoint
Works with claude engineer
This commit is contained in:
parent
5d6e172d5c
commit
2f8dbbeb97
9 changed files with 272 additions and 152 deletions
|
@ -166,7 +166,7 @@ class FunctionCall(OpenAIObject):
|
|||
|
||||
class Function(OpenAIObject):
|
||||
arguments: str
|
||||
name: Optional[str] = None
|
||||
name: str
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
|
@ -280,29 +280,43 @@ class ChatCompletionMessageToolCall(OpenAIObject):
|
|||
setattr(self, key, value)
|
||||
|
||||
|
||||
"""
|
||||
Reference:
|
||||
ChatCompletionMessage(content='This is a test', role='assistant', function_call=None, tool_calls=None))
|
||||
"""
|
||||
|
||||
|
||||
class Message(OpenAIObject):
|
||||
|
||||
content: Optional[str]
|
||||
role: Literal["assistant"]
|
||||
tool_calls: Optional[List[ChatCompletionMessageToolCall]]
|
||||
function_call: Optional[FunctionCall]
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
content: Optional[str] = "default",
|
||||
role="assistant",
|
||||
logprobs=None,
|
||||
content: Optional[str] = None,
|
||||
role: Literal["assistant"] = "assistant",
|
||||
function_call=None,
|
||||
tool_calls=None,
|
||||
**params,
|
||||
):
|
||||
super(Message, self).__init__(**params)
|
||||
self.content = content
|
||||
self.role = role
|
||||
if function_call is not None:
|
||||
self.function_call = FunctionCall(**function_call)
|
||||
|
||||
if tool_calls is not None:
|
||||
self.tool_calls = []
|
||||
for tool_call in tool_calls:
|
||||
self.tool_calls.append(ChatCompletionMessageToolCall(**tool_call))
|
||||
|
||||
if logprobs is not None:
|
||||
self._logprobs = ChoiceLogprobs(**logprobs)
|
||||
init_values = {
|
||||
"content": content,
|
||||
"role": role,
|
||||
"function_call": (
|
||||
FunctionCall(**function_call) if function_call is not None else None
|
||||
),
|
||||
"tool_calls": (
|
||||
[ChatCompletionMessageToolCall(**tool_call) for tool_call in tool_calls]
|
||||
if tool_calls is not None
|
||||
else None
|
||||
),
|
||||
}
|
||||
super(Message, self).__init__(
|
||||
**init_values,
|
||||
**params,
|
||||
)
|
||||
|
||||
def get(self, key, default=None):
|
||||
# Custom .get() method to access attributes with a default value if the attribute doesn't exist
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue