Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Feature Request: Add async support for Generative AI Inference client

Đang mở
#836 0 bình luận 1 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
25/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
python
Lĩnh vực
api, cloud

Hướng nghiên cứu

Bắt đầu bằng việc xem xét PR #835 và client Generative AI Inference đồng bộ hiện có sử dụng requests. So sánh client async được đề xuất, 15 unit test và 7 integration test của client này với các yêu cầu hỗ trợ chat, streaming, embeddings, xác thực và context manager. Được xem là hoàn tất khi các thao tác bất đồng bộ được yêu cầu đã được bao phủ và các phiên bản Python cùng các model được nêu vẫn được hỗ trợ.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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
Ngôn ngữ chính
Python
Star
473
Fork
322
Merge trung bình
13 phút
Pull request đã merge (30 ngày)
4

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của oracle/oci-python-sdk

Tất cả issue của oracle/oci-python-sdk

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.