alayaflow 0.1.2__py3-none-any.whl → 0.1.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- alayaflow/__init__.py +1 -1
- alayaflow/component/llm_node.py +4 -5
- alayaflow/component/retrieve_node.py +68 -2
- {alayaflow-0.1.2.dist-info → alayaflow-0.1.3.dist-info}/METADATA +1 -1
- {alayaflow-0.1.2.dist-info → alayaflow-0.1.3.dist-info}/RECORD +7 -7
- {alayaflow-0.1.2.dist-info → alayaflow-0.1.3.dist-info}/WHEEL +0 -0
- {alayaflow-0.1.2.dist-info → alayaflow-0.1.3.dist-info}/licenses/LICENSE +0 -0
alayaflow/__init__.py
CHANGED
alayaflow/component/llm_node.py
CHANGED
|
@@ -18,17 +18,14 @@ class LLMComponent:
|
|
|
18
18
|
def __init__(
|
|
19
19
|
self,
|
|
20
20
|
*,
|
|
21
|
-
# ===== 模型 & prompt =====
|
|
22
21
|
model_id: str,
|
|
23
22
|
system_prompt: str,
|
|
24
23
|
prompt: str,
|
|
25
24
|
|
|
26
|
-
# ===== 采样参数 =====
|
|
27
25
|
temperature: Optional[float] = None,
|
|
28
26
|
top_p: Optional[float] = None,
|
|
29
27
|
max_tokens: Optional[int] = None,
|
|
30
28
|
|
|
31
|
-
# ===== 输出控制 =====
|
|
32
29
|
response_format: ResponseFormat = ResponseFormat.TEXT,
|
|
33
30
|
json_schema: Optional[Dict[str, Any]] = None,
|
|
34
31
|
outputs: Optional[Dict[str, str]] = None,
|
|
@@ -47,6 +44,9 @@ class LLMComponent:
|
|
|
47
44
|
self.json_schema = json_schema
|
|
48
45
|
self.outputs = outputs or {}
|
|
49
46
|
self.retry_json_once = retry_json_once
|
|
47
|
+
|
|
48
|
+
# —— 依赖注入(获取全局单例 ModelManager)——
|
|
49
|
+
self._model_manager = ModelManager()
|
|
50
50
|
|
|
51
51
|
def _get_llm(self) -> Runnable:
|
|
52
52
|
bind_kwargs: Dict[str, Any] = {}
|
|
@@ -58,8 +58,7 @@ class LLMComponent:
|
|
|
58
58
|
if self.max_tokens is not None:
|
|
59
59
|
bind_kwargs["max_tokens"] = self.max_tokens
|
|
60
60
|
|
|
61
|
-
|
|
62
|
-
llm = model_manager.get_model(self.model_id, runtime_config=bind_kwargs)
|
|
61
|
+
llm = self._model_manager.get_model(self.model_id, runtime_config=bind_kwargs)
|
|
63
62
|
|
|
64
63
|
return llm
|
|
65
64
|
|
|
@@ -7,5 +7,71 @@ class RetrieveComponent:
|
|
|
7
7
|
self.client = client
|
|
8
8
|
|
|
9
9
|
def __call__(self, query: str, collection_name: str, limit: int = 3) -> list[str]:
|
|
10
|
-
result = self.client.vdb_query([query], limit, collection_name)
|
|
11
|
-
return result.get('documents', [[]])[0] if result.get('documents') else []
|
|
10
|
+
# result = self.client.vdb_query([query], limit, collection_name)
|
|
11
|
+
# return result.get('documents', [[]])[0] if result.get('documents') else []
|
|
12
|
+
docs: list[str] = []
|
|
13
|
+
|
|
14
|
+
# -------- 基础个人信息 --------
|
|
15
|
+
if "姓名" in query:
|
|
16
|
+
docs.extend([
|
|
17
|
+
"用户姓名是张三。",
|
|
18
|
+
"张三,男,1989年出生。",
|
|
19
|
+
])
|
|
20
|
+
|
|
21
|
+
if "性别" in query:
|
|
22
|
+
docs.append("张三,男,工程师。")
|
|
23
|
+
|
|
24
|
+
if "年龄" in query:
|
|
25
|
+
docs.append("张三,1989年出生,今年34岁。")
|
|
26
|
+
|
|
27
|
+
# -------- 联系方式 --------
|
|
28
|
+
if "电话" in query:
|
|
29
|
+
docs.extend([
|
|
30
|
+
"联系电话:15643431212。",
|
|
31
|
+
"手机号为15643431212,可随时联系。",
|
|
32
|
+
])
|
|
33
|
+
|
|
34
|
+
if "邮箱" in query or "Email" in query:
|
|
35
|
+
docs.extend([
|
|
36
|
+
"电子邮箱:273230101@qq.com。",
|
|
37
|
+
"邮箱地址为 27223221@qq.com。",
|
|
38
|
+
])
|
|
39
|
+
|
|
40
|
+
# -------- 工作单位 / 职务 --------
|
|
41
|
+
if "工作单位" in query or "公司" in query:
|
|
42
|
+
docs.extend([
|
|
43
|
+
"现就职于 Google 中国。",
|
|
44
|
+
"工作单位为 Google。",
|
|
45
|
+
])
|
|
46
|
+
|
|
47
|
+
if "职务" in query or "职位" in query:
|
|
48
|
+
docs.append("现任高级软件工程师。")
|
|
49
|
+
|
|
50
|
+
# -------- 教育背景 --------
|
|
51
|
+
if "学历" in query or "教育" in query:
|
|
52
|
+
docs.extend([
|
|
53
|
+
"2016年本科毕业于清华大学计算机科学与技术专业。",
|
|
54
|
+
"2020年博士毕业于北京大学。",
|
|
55
|
+
])
|
|
56
|
+
|
|
57
|
+
# -------- 工作 / 学习经历 --------
|
|
58
|
+
if "学习工作经历" in query or "经历" in query:
|
|
59
|
+
docs.extend([
|
|
60
|
+
"2010.09-2014.07 就读于清华大学计算机科学与技术专业。",
|
|
61
|
+
"2014.07-2016.08 在百度公司担任软件开发工程师。",
|
|
62
|
+
"2016.09 至今在 Google 担任高级软件工程师。",
|
|
63
|
+
])
|
|
64
|
+
|
|
65
|
+
# -------- 路径/父字段增强(模拟更真实检索)--------
|
|
66
|
+
if "个人信息" in query and not docs:
|
|
67
|
+
docs.append("张三,男,1989年出生,工程师,现居北京。")
|
|
68
|
+
|
|
69
|
+
if "联系方式" in query and not docs:
|
|
70
|
+
docs.append("联系方式:电话 15643431212,邮箱 272040101@qq.com。")
|
|
71
|
+
|
|
72
|
+
# -------- 兜底:模拟找不到 --------
|
|
73
|
+
if not docs:
|
|
74
|
+
return []
|
|
75
|
+
|
|
76
|
+
# limit 截断
|
|
77
|
+
return docs[:limit]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
alayaflow/__init__.py,sha256=
|
|
1
|
+
alayaflow/__init__.py,sha256=ZQGg3KVDYQcq_LK1TLcFuRtc1KFKYva_AoumPeVlOMM,121
|
|
2
2
|
alayaflow/api/__init__.py,sha256=y6nWgqC3jhOffTqixKlv3OU_NEAFxbzHSvwJrE5bHNs,187
|
|
3
3
|
alayaflow/api/api_singleton.py,sha256=SvWeLHPYHT1ABACwmoNj2dWrFjpqLCpSMz1-KW3hsZQ,11640
|
|
4
4
|
alayaflow/clients/alayamem/base_client.py,sha256=pyU2WF2jqNEgBEe8JOZSg13gHQ2pJcBgJ_6YP-5mWkw,540
|
|
@@ -7,9 +7,9 @@ alayaflow/common/config.py,sha256=pi4zH_Pi0u6Fb8ZIs4u3qFOUOUeqxxUqqksoUp-hynM,38
|
|
|
7
7
|
alayaflow/component/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
8
|
alayaflow/component/chat_model.py,sha256=GH2xcOhtvh3YqN2LMITmu1j-0_-t9d4hiMuRFctF2og,402
|
|
9
9
|
alayaflow/component/intent_classifier.py,sha256=5KH52LIqIDpw2hlX4gi3Ff7SFVhenCFdFV-fXag0sDM,3765
|
|
10
|
-
alayaflow/component/llm_node.py,sha256=
|
|
10
|
+
alayaflow/component/llm_node.py,sha256=2QfiWew99EVQ05UpA7IkepefpOFHqb4Wxo_tYOipekc,3496
|
|
11
11
|
alayaflow/component/memory.py,sha256=Xl5ABW89dswC9oMwkeS6NFAZniKFw8BuGuLAAHddRRA,1448
|
|
12
|
-
alayaflow/component/retrieve_node.py,sha256=
|
|
12
|
+
alayaflow/component/retrieve_node.py,sha256=FlKyGH767ZbS4ss5SGcprp-sRsY4jA0YdlNP4OFzgQU,2842
|
|
13
13
|
alayaflow/component/search_node.py,sha256=JNFD6qXDd2_NPpXQf7z8xklJFZs7UrFhWet43nrs25Y,4950
|
|
14
14
|
alayaflow/component/web_search.py,sha256=HZp9j0X0YMBC_mhGqzi0g0pbvmlWiLiNdRxzbEFzl6s,3403
|
|
15
15
|
alayaflow/component/langflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -35,7 +35,7 @@ alayaflow/workflow/workflow_manager.py,sha256=dUFS6B5V64mdsopxrM6f3LvJn497eTBqMJ
|
|
|
35
35
|
alayaflow/workflow/runnable/__init__.py,sha256=sNybFeRxLwbDLHiZxlVFXsn3w2n1Jn0Mtun2W6fvjFU,257
|
|
36
36
|
alayaflow/workflow/runnable/base_runnable_workflow.py,sha256=ap53fOeC5iUh2zm45LpEDjLJ4uqfO2C6FCN6WGm13kw,776
|
|
37
37
|
alayaflow/workflow/runnable/state_graph_runnable_workflow.py,sha256=PMSHks46kmNM2uDVmf5TNcLW7AR6dgfJFohxs8Dcfm4,972
|
|
38
|
-
alayaflow-0.1.
|
|
39
|
-
alayaflow-0.1.
|
|
40
|
-
alayaflow-0.1.
|
|
41
|
-
alayaflow-0.1.
|
|
38
|
+
alayaflow-0.1.3.dist-info/METADATA,sha256=aMfRyIwPukXW80Am5h8ApPNiBbL4mRZcfaOtMQflVL4,1925
|
|
39
|
+
alayaflow-0.1.3.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
40
|
+
alayaflow-0.1.3.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
|
|
41
|
+
alayaflow-0.1.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|