Add LLM for Alibaba's Damo Academy's Tongyi Qwen API (#7477)

- Add langchain.llms.Tonyi for text completion, in examples into the
Tonyi Text API,
- Add system tests.

Note async completion for the Text API is not yet supported and will be
included in a future PR.

Dependencies: dashscope. It will be installed manually cause it is not
need by everyone.

Happy for feedback on any aspect of this PR @hwchase17 @baskaryan.
This commit is contained in:
Richy Wang
2023-07-14 13:58:22 +08:00
committed by GitHub
parent 6325a3517c
commit 45bb414be2
4 changed files with 461 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
"""Test Tongyi API wrapper."""
from langchain.llms.tongyi import Tongyi
from langchain.schema import LLMResult
def test_tongyi_call() -> None:
"""Test valid call to tongyi."""
llm = Tongyi()
output = llm("who are you")
assert isinstance(output, str)
def test_tongyi_generate() -> None:
"""Test valid call to tongyi."""
llm = Tongyi()
output = llm.generate(["who are you"])
assert isinstance(output, LLMResult)
assert isinstance(output.generations, list)
def test_tongyi_generate_stream() -> None:
"""Test valid call to tongyi."""
llm = Tongyi(streaming=True)
output = llm.generate(["who are you"])
print(output)
assert isinstance(output, LLMResult)
assert isinstance(output.generations, list)