Problem with proxy and streaming
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 45/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- python
- Ambito
- networking
Direzione di ricerca
Inizia con la configurazione AsyncClient fornita ed esegui l’esempio con e senza proxy="http://localhost:8080" e verify=False. Confronta quando i chunk trasmessi diventano disponibili, quindi traccia i punti di ingresso di proxy e streaming coinvolti. Il lavoro è terminato quando la configurazione indicata conserva lo streaming incrementale e il comportamento è stato verificato rispetto al caso senza proxy.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Originally opened by
@markowangaon 2024-02-13 01:54:52 in encode/httpx
I try to process streaming (return customer in chat). I need to use proxy. I have problem that response does not streaming when using proxy (all responses returned after all processed, no effect of writing text)
import asyncio
from typing import Optional
from httpx import AsyncClient
from openai import AsyncStream, AsyncOpenAI
from openai.types.chat import ChatCompletionChunk
async def get_openai_stream_agenerator() -> AsyncStream[ChatCompletionChunk]:
client = AsyncOpenAI(
http_client=AsyncClient(
# when I comment these two lines streaming is ok
proxy="http://localhost:8080", # I'm using mitmproxy with basic configuration
verify=False,
)
)
messages = [
{"role": "system", "content": "Return details about asking person"},
{"role": "user", "content": "Iga Świątek"},
]
response: AsyncStream[ChatCompletionChunk] = await client.chat.completions.create(
model='gpt-4-0613',
messages=messages,
stream=True,
) # type: ignore
return response
def get_delta_argument(chunk: ChatCompletionChunk) -> Optional[str]:
if len(chunk.choices) > 0:
return chunk.dict()['choices'][0]['delta']['content']
else:
return None
async def get_response_generator() -> None:
async for it in await get_openai_stream_agenerator():
value = get_delta_argument(it)
if value:
print(value, end="")
print()
if __name__ == '__main__':
asyncio.run(get_response_generator())
OS: macOS
Python version: Python v3.11.7
Library version: openai 1.12.0, httpx 0.26.0
- Lingua principale
- Python
- Stelle
- 1.6k
- Fork
- 103
- Merge medio
- 1g 19h
- PR unite (30g)
- 25
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di pydantic/httpx2
-
Please revert aiter_bytes signature to AsyncIteratorForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
pydantic/httpx2#1158 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Export AutoBackendForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
pydantic/httpx2#1131 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
-
Mention header name error message for invalid header encodingsForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
pydantic/httpx2#864 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Support DigestAuth with "x-www-authenticate" in first response headerForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di pydantic/httpx2
Issue simili
-
Email validation accepts a trailing newlineForse già presa @marcello-pichini l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
Contributing instructionsAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
dbt-labs/spark-utils#51 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
bug frontend
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
vendrabuck/HERD#1419 ·
I maintainer di solito rispondono entro 1 giorno