Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Feature Request: Add async support for Generative AI Inference client

Aperta
#836 0 commenti 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
python
Ambito
api, cloud

Direzione di ricerca

Inizia esaminando la PR #835 e il client sincrono esistente di Generative AI Inference che usa requests. Confronta il client async proposto, i suoi 15 test unitari e 7 test di integrazione con il supporto richiesto per chat, streaming, embeddings, autenticazione e context manager. Il lavoro è completato quando le operazioni asincrone richieste sono coperte e le versioni di Python e i modelli indicati rimangono supportati.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

SDK

Feature Request

Description

Add native async/await support for the OCI Generative AI Inference client to enable non-blocking concurrent requests in async applications.

Problem Statement

The current SDK uses synchronous HTTP requests via the requests library. This causes issues in async applications:

  1. Event loop blocking: Sync calls block the event loop in FastAPI, async agents, and other async frameworks
  2. Limited concurrency: Cannot efficiently make concurrent API calls
  3. Performance bottleneck: Sequential requests are significantly slower than concurrent alternatives
Proposed Solution

Add an AsyncGenerativeAiInferenceClient class that:

  • Uses aiohttp for true async HTTP requests
  • Reuses the existing OCI Signer for authentication
  • Provides async versions of all GenAI operations (chat, streaming, embeddings, etc.)
  • Supports async context manager pattern
Example Usage
import asyncio
from oci.generative_ai_inference import AsyncGenerativeAiInferenceClient

async def main():
    async with AsyncGenerativeAiInferenceClient(config) as client:
        # Concurrent requests - 3x faster than sequential
        results = await asyncio.gather(
            client.chat(details1),
            client.chat(details2),
            client.chat(details3),
        )

asyncio.run(main())
Performance Impact

Testing shows 2-3.5x throughput improvement for concurrent workloads:

Scenario Sequential Concurrent Speedup
3 requests (Llama 3.3) 1.30s 0.64s 2.01x
3 requests (Llama 3.2) 1.40s 0.44s 3.18x
3 requests (Cohere) 0.50s 0.14s 3.54x
Use Cases
  1. FastAPI/async web frameworks: Non-blocking GenAI calls in async endpoints
  2. LangChain agents: Concurrent tool calls and chain execution
  3. Batch processing: Parallel processing of multiple prompts
  4. Real-time applications: Low-latency streaming responses
Implementation

A reference implementation is provided in PR #835 with:

  • Full async client implementation
  • 15 unit tests
  • 7 integration tests
  • Tested on Python 3.9, 3.12, 3.13, 3.14
  • Tested with 6 different models
Related
  • PR: #835
Lingua principale
Python
Stelle
474
Fork
321
Merge medio
23m
PR unite (30g)
4

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di oracle/oci-python-sdk

Tutte le issue di oracle/oci-python-sdk

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.