Sun Tao commited on
Commit
d2c0614
·
2 Parent(s): 9d6a9c8 8fb8de8

Merge pull request #1 from fengju0213/fengju0213-patch-1

Browse files
Files changed (1) hide show
  1. owl/run_qwen_mini_zh.py +96 -0
owl/run_qwen_mini_zh.py ADDED
@@ -0,0 +1,96 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from dotenv import load_dotenv
2
+ load_dotenv()
3
+
4
+ from camel.models import ModelFactory
5
+ from camel.toolkits import WebToolkit,SearchToolkit,FunctionTool
6
+ from camel.types import ModelPlatformType,ModelType
7
+
8
+ from loguru import logger
9
+
10
+ from utils import OwlRolePlaying, run_society
11
+ import os
12
+
13
+
14
+ model_scope_api_key = os.getenv("MODELSCOPE_API_KEY")
15
+
16
+ def construct_society(question: str) -> OwlRolePlaying:
17
+ r"""Construct the society based on the question."""
18
+
19
+ user_role_name = "user"
20
+ assistant_role_name = "assistant"
21
+
22
+ user_model = ModelFactory.create(
23
+ model_platform=ModelPlatformType.QWEN,
24
+ model_type="qwen-max",
25
+ model_config_dict={"temperature": 0},
26
+ )
27
+
28
+ assistant_model = ModelFactory.create(
29
+ model_platform=ModelPlatformType.QWEN,
30
+ model_type="qwen-max",
31
+ model_config_dict={"temperature": 0},
32
+ )
33
+
34
+ search_model = ModelFactory.create(
35
+ model_platform=ModelPlatformType.QWEN,
36
+ model_type="qwen-max",
37
+ model_config_dict={"temperature": 0},
38
+ )
39
+
40
+ planning_model = ModelFactory.create(
41
+ model_platform=ModelPlatformType.QWEN,
42
+ model_type="qwen-max",
43
+ model_config_dict={"temperature": 0},
44
+ )
45
+
46
+ web_model = ModelFactory.create(
47
+ model_platform=ModelPlatformType.QWEN,
48
+ model_type="qwen-vl-plus-latest",
49
+ model_config_dict={"temperature": 0},
50
+ )
51
+
52
+ tools_list = [
53
+ *WebToolkit(
54
+ headless=False,
55
+ web_agent_model=web_model,
56
+ planning_agent_model=planning_model,
57
+ output_language='中文'
58
+ ).get_tools(),
59
+ FunctionTool(SearchToolkit(model=search_model).search_duckduckgo),
60
+ ]
61
+
62
+ user_role_name = 'user'
63
+ user_agent_kwargs = dict(model=user_model)
64
+ assistant_role_name = 'assistant'
65
+ assistant_agent_kwargs = dict(model=assistant_model,
66
+ tools=tools_list)
67
+
68
+ task_kwargs = {
69
+ 'task_prompt': question,
70
+ 'with_task_specify': False,
71
+ 'output_language': '中文',
72
+ }
73
+
74
+ society = OwlRolePlaying(
75
+ **task_kwargs,
76
+ user_role_name=user_role_name,
77
+ user_agent_kwargs=user_agent_kwargs,
78
+ assistant_role_name=assistant_role_name,
79
+ assistant_agent_kwargs=assistant_agent_kwargs,
80
+ )
81
+
82
+ return society
83
+
84
+
85
+ # Example case
86
+ question = "打开小红书上浏览推荐栏目下的前三个笔记内容,不要登陆,之后给我一个总结报告"
87
+
88
+ society = construct_society(question)
89
+ answer, chat_history, token_count = run_society(society)
90
+
91
+ logger.success(f"Answer: {answer}")
92
+
93
+
94
+
95
+
96
+