forked from Archives/langchain
bc7e56e8df
Supporting asyncio in langchain primitives allows for users to run them concurrently and creates more seamless integration with asyncio-supported frameworks (FastAPI, etc.) Summary of changes: **LLM** * Add `agenerate` and `_agenerate` * Implement in OpenAI by leveraging `client.Completions.acreate` **Chain** * Add `arun`, `acall`, `_acall` * Implement them in `LLMChain` and `LLMMathChain` for now **Agent** * Refactor and leverage async chain and llm methods * Add ability for `Tools` to contain async coroutine * Implement async SerpaPI `arun` Create demo notebook. Open questions: * Should all the async stuff go in separate classes? I've seen both patterns (keeping the same class and having async and sync methods vs. having class separation) |
||
---|---|---|
.. | ||
__init__.py | ||
test_api.py | ||
test_base.py | ||
test_combine_documents.py | ||
test_conversation.py | ||
test_hyde.py | ||
test_llm_bash.py | ||
test_llm_checker.py | ||
test_llm_math.py | ||
test_llm.py | ||
test_natbot.py | ||
test_sequential.py | ||
test_transform.py |