Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Support making raw requests

Abierto
#678 0 comentarios 0 reacciones 0 asignados Ver en GitHub

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
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
java, python
Área
api

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

enhancement sdk

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

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de openai/openai-java

Todos los issues de openai/openai-java

Issues similares

Más issues de Kotlin

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.