XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet
公开
关注 0 Fork 0 Star 1
返回提交历史

XFEstudio/gpt4free

Add gpt-4.5 model

963e0104
hlohaus <983577+hlohaus@users.noreply.github.com>
提交于

代码差异

3 个文件 +2 -43
Modified g4f/Provider/openai/models.py +1 -1
@@ -1,6 +1,6 @@
1 1 default_model = "auto"
2 2 default_image_model = "dall-e-3"
3 3 image_models = [default_image_model]
4 text_models = [default_model, "gpt-4", "gpt-4o", "gpt-4o-mini", "o1", "o1-preview", "o1-mini", "o3-mini", "o3-mini-high"]
4 text_models = [default_model, "gpt-4", "gpt-4.5", "gpt-4o", "gpt-4o-mini", "o1", "o1-preview", "o1-mini", "o3-mini", "o3-mini-high"]
5 5 vision_models = text_models
6 6 models = text_models + image_models
Modified g4f/providers/base_provider.py +1 -1
@@ -377,7 +377,7 @@ class RaiseErrorMixin():
377 377 raise ResponseError(data["error"])
378 378 elif "code" in data["error"]:
379 379 raise ResponseError("\n".join(
380 [e for e in [f'Error {data["error"]["code"]}:{data["error"]["message"]}', data["error"].get("failed_generation")] if e is not None]
380 [e for e in [f'Error {data["error"]["code"]}: {data["error"]["message"]}', data["error"].get("failed_generation")] if e is not None]
381 381 ))
382 382 elif "message" in data["error"]:
383 383 raise ResponseError(data["error"]["message"])
Deleted g4f/tools/langchain.py +0 -41
@@ -1,41 +0,0 @@
1 from __future__ import annotations
2
3 from typing import Any, Dict
4 from langchain_community.chat_models import openai
5 from langchain_community.chat_models.openai import ChatOpenAI, BaseMessage, convert_message_to_dict
6 from pydantic import Field
7 from g4f.client import AsyncClient, Client
8 from g4f.client.stubs import ChatCompletionMessage
9
10 def new_convert_message_to_dict(message: BaseMessage) -> dict:
11 message_dict: Dict[str, Any]
12 if isinstance(message, ChatCompletionMessage):
13 message_dict = {"role": message.role, "content": message.content}
14 if message.tool_calls is not None:
15 message_dict["tool_calls"] = [{
16 "id": tool_call.id,
17 "type": tool_call.type,
18 "function": tool_call.function
19 } for tool_call in message.tool_calls]
20 if message_dict["content"] == "":
21 message_dict["content"] = None
22 else:
23 message_dict = convert_message_to_dict(message)
24 return message_dict
25
26 openai.convert_message_to_dict = new_convert_message_to_dict
27
28 class ChatAI(ChatOpenAI):
29 model_name: str = Field(default="gpt-4o", alias="model")
30
31 @classmethod
32 def validate_environment(cls, values: dict) -> dict:
33 client_params = {
34 "api_key": values["g4f_api_key"] if "g4f_api_key" in values else None,
35 "provider": values["g4f_provider"] if "g4f_provider" in values else None,
36 }
37 values["client"] = Client(**client_params).chat.completions
38 values["async_client"] = AsyncClient(
39 **client_params
40 ).chat.completions
41 return values