-
Notifications
You must be signed in to change notification settings - Fork 416
/
setup.py
108 lines (97 loc) · 2.95 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
import re
from setuptools import find_packages, setup
def get_version() -> str:
with open('qwen_agent/__init__.py', encoding='utf-8') as f:
version = re.search(
r'^__version__\s*=\s*[\'"]([^\'"]*)[\'"]',
f.read(),
re.MULTILINE,
).group(1)
return version
def read_description() -> str:
with open('README.md', 'r', encoding='UTF-8') as f:
long_description = f.read()
return long_description
# To update the package at PyPI:
# ```bash
# python setup.py sdist bdist_wheel
# twine upload dist/*
# ```
setup(
name='qwen-agent',
version=get_version(),
author='Qwen Team',
author_email='[email protected]',
description='Qwen-Agent: Enhancing LLMs with Agent Workflows, RAG, Function Calling, and Code Interpreter.',
long_description=read_description(),
long_description_content_type='text/markdown',
keywords=['LLM', 'Agent', 'Function Calling', 'RAG', 'Code Interpreter'],
packages=find_packages(exclude=['examples', 'examples.*', 'qwen_server', 'qwen_server.*']),
package_data={
'qwen_agent': [
'utils/qwen.tiktoken', 'tools/resource/*.ttf', 'tools/resource/*.py', 'gui/assets/*.css',
'gui/assets/*.jpeg'
],
},
# Minimal dependencies for Function Calling:
install_requires=[
'dashscope>=1.11.0',
'eval_type_backport',
'json5',
'jsonlines',
'jsonschema',
'openai',
'pydantic>=2.3.0',
'requests',
'tiktoken',
],
extras_require={
# Extra dependencies for RAG:
'rag': [
'charset-normalizer',
'rank_bm25',
'jieba',
'snowballstemmer',
'beautifulsoup4',
'pdfminer.six',
'pdfplumber',
'python-docx',
'python-pptx',
'pandas',
'tabulate',
],
# Extra dependencies for Python Executor, which is primarily for solving math problems:
'python_executor': [
'pebble',
'multiprocess',
'timeout_decorator',
'python-dateutil',
'sympy',
'numpy',
'scipy',
],
# Extra dependencies for Code Interpreter:
'code_interpreter': [
'anyio>=3.7.1',
'fastapi>=0.103.1',
'jupyter>=1.0.0',
'matplotlib',
'numpy',
'pandas',
'pillow',
'seaborn',
'sympy',
'uvicorn>=0.23.2',
],
# Extra dependencies for Gradio-based GUI:
'gui': [
# Gradio has bad version compatibility. Therefore, we use `==` instead of `>=`.
'pydantic==2.9.2',
'pydantic-core==2.23.4',
'gradio>=5.0.0',
'gradio-client==1.4.0',
'modelscope_studio==1.0.0-beta.8',
],
},
url='https://github.com/QwenLM/Qwen-Agent',
)