Support making raw requests
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 45/100
Línea de trabajo
Empieza comparando los puntos de entrada de las solicitudes del cliente Java con src/openai/_base_client.py y src/openai/_client.py en las ubicaciones enlazadas de Python. Sigue cómo las solicitudes síncronas y asíncronas gestionan las rutas, los cuerpos, los archivos, el streaming y los tipos de respuesta; el trabajo estará terminado cuando haya compatibilidad equivalente con raw requests en ambos modos del cliente Java, con pruebas correspondientes.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
The official Python OpenAI client implements a "post()" method: in the SyncAPIClient class, with the OpenAI class being a subclass of SyncAPIClient.
This method is also implemented for the AsyncAPIClient and thus for the AsyncOpenAI class.
This post method is mainly a wrapper around httpx (as self.request is a direct call to httpx), which is a general-purpose HTTP client. It is very convenient to create fine-grained custom requests, port requests to other automated tested tools such as Postman and curl, and overall understand the HTTP requests being made.
def post(
self,
path: str,
*,
cast_to: Type[ResponseT],
body: Body | None = None,
options: RequestOptions = {},
files: RequestFiles | None = None,
stream: bool = False,
stream_cls: type[_StreamT] | None = None,
) -> ResponseT | _StreamT:
opts = FinalRequestOptions.construct(
method="post", url=path, json_data=body, files=to_httpx_files(files), **options
)
return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
To reach feature-parity with the Python client, it would be very convenient to port this method to the Java client. This request is for example used in the vLLM documentation
- Lenguaje dominante
- Kotlin
- Estrellas
- 1.5k
- Forks
- 266
- Merge medio
- 10 h 11 min
- PR fusionados (30 d)
- 141
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de openai/openai-java
-
HttpRequest.url() logs spaces in path segments as literal plus signsPosiblemente ocupada @sylvesterkaczmarek la tomó hace 54 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
openai/openai-java#886 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Make diarized transcription duration and task optionalPosiblemente ocupada @wskr00 la tomó hace 84 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
openai/openai-java#802 · 2 comentarios · 3 reacciones ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 Medio día Aptitud para principiantes 42/100
openai/openai-java#1160 ·
Los mantenedores suelen responder en 1 día
-
AsyncStreamResponse can hang when the subscriber executor rejects workPosiblemente ocupada @sylvesterkaczmarek la tomó hace 37 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 74/100
openai/openai-java#973 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
openai/openai-java#956 ·
Los mantenedores suelen responder en 1 día
Todos los issues de openai/openai-java
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
supabase-community/supabase-kt#1413 ·
Los mantenedores suelen responder en 5 días
-
[Submission] 抖音火山版Abiertosubmit-adaption submit-adaption-pre
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
BetterAndroid/android-notification-icon-project#744 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
utopia-rise/godot-jvm#1004 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
pedroSG94/RootEncoder#2213 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
elm-tooling/intellij-elm#85 · 1 comentario ·