-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path1.txt
598 lines (591 loc) · 103 KB
/
1.txt
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
==================================================
📝 查询问题: 嵌入模型在里面干了什么,涉及哪些文件
==================================================
🔍 查询结果:
------------------------------
回答内容:
📊 上下文信息:
------------------------------
实体列表:
- (TEntity(name='TEMPLATES', type='COMPONENT', description='模版响应对象.'), np.float32(0.060989782))
- (TEntity(name='OUTPUT_FILE', type='MODULE', description='输出文件'), np.float32(0.058004513))
- (TEntity(name='QMRAIN', type='MODULE', description='A module related to embedding service configuration.'), np.float32(0.030086614))
- (TEntity(name='LOGGER', type='COMPONENT', description='日志记录器实例\nA component handling logging operations.\nThe logger used for logging.\n日志记录器\nLogger component for logging information and errors.\n用于记录日志的组件\nLogger is a logging utility for recording events and errors.\n日志记录器.\nLogger is used for logging messages in the server.'), np.float32(0.02726548))
- (TEntity(name='GRAPHRAG', type='MODULE', description='GraphRAG is a system module for creating a knowledge graph from documents.\nA component of the system for processing and managing documents.'), np.float32(0.024441766))
- (TEntity(name='QUERIES', type='MODULE', description='A list of queries to be processed by the system.'), np.float32(0.022733193))
- (TEntity(name='STREAMINGRESPONSE', type='API', description='StreamingResponse in FastAPI allows the server to send responses to the client in chunks, loading only the data the client needs at a given time.'), np.float32(0.021562725))
- (TEntity(name='API_CONFIG', type='API', description='The configuration for API services, including models and URLs.'), np.float32(0.020384798))
- (TEntity(name='BASE_DIR', type='STATE', description='BASE_DIR is the working directory of the system.\nThe base directory of the script.\nThe base directory of the script.'), np.float32(0.019530294))
- (TEntity(name='FASTAPI', type='API', description='FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.7+ based on standard Python type hints.'), np.float32(0.018560447))
- (TEntity(name='FILE_PATH', type='UNKNOWN', description='The file path.\nThe path to a file within the component directory.'), np.float32(0.015829466))
- (TEntity(name='ZHIPU_API_KEY', type='API', description='An API key configuration for embeddings and LLM.\nThe Zhipu AI API key used for accessing the API services.'), np.float32(0.013565907))
- (TEntity(name='PATH_OBJ', type='COMPONENT', description='路径对象'), np.float32(0.013533428))
- (TEntity(name='WORKING_DIR', type='STATE', description='The working directory for the system, which is created if it does not exist.'), np.float32(0.013246392))
- (TEntity(name='EXPORT_JSON', type='FUNCTION', description='将路由信息导出为JSON文件'), np.float32(0.012913899))
- (TEntity(name='ALL_FILES', type='COMPONENT', description='List of all files in the component directory.'), np.float32(0.011724817))
- (TEntity(name='PATH_OBJ.NAME', type='COMPONENT', description='路径对象的名字'), np.float32(0.011559415))
- (TEntity(name='API_KEY', type='STATE', description='API_KEY is the API key for accessing the LLM and embedding services.\nThe API key used for accessing the API services.'), np.float32(0.011519524))
- (TEntity(name='VECTORSTORE', type='MODULE', description='A class for vector store management.\nVectorStore is a component for storing processed documents in a vector form.\nVectorStore is a component of the system for storing and searching vector data.'), np.float32(0.011356388))
- (TEntity(name='LLMFACTORY', type='MODULE', description='LLM工厂类,用于管理所有的语言模型实例\nLLM工厂类\nLLM工厂对象.'), np.float32(0.011304128))
- (TEntity(name='SUMMARY', type='UNKNOWN', description='Summary of the file content.\nThe summary object containing information such as title, module, main features, business logic, components, API endpoints, dependencies, and search keywords.\n路由摘要对象的实例化结果'), np.float32(0.011187591))
- (TEntity(name='ENTITY_TYPES', type='MODULE', description='A list of entity types to be identified in the system.'), np.float32(0.010608073))
- (TEntity(name='METADATA', type='UNKNOWN', description='Metadata of the document.\nMetadata component of a document in the Chroma client.\n包含technical_info和component_path的信息.\n技术信息对象包含component_path和technical_info.'), np.float32(0.010070719))
- (TEntity(name='DOMAIN', type='MODULE', description='The domain for the GraphRAG system.'), np.float32(0.009511851))
- (TEntity(name='FILE_CONTENT', type='STATE', description='文件内容,用于提示词模板生成\nThe content of the file.\nContent of a file.\n文件内容字符串'), np.float32(0.008922528))
- (TEntity(name='TOKEN_COUNT', type='STATE', description='估算的token数量.'), np.float32(0.008048057))
- (TEntity(name='COMPONENT_PATH', type='MODULE', description='路径组件\nThe path to the component file.\n文件路径信息.'), np.float32(0.007990163))
- (TEntity(name='MAIN_FILE', type='COMPONENT', description='The main component file in the component directory.'), np.float32(0.007925552))
- (TEntity(name='COMBINED_CONTEXT', type='STATE', description='合并后的所有文档内容.\n合并后的所有文档内容 (重复项, 仅保留一个).'), np.float32(0.007692832))
- (TEntity(name='STATICFILES', type='COMPONENT', description='StaticFiles is a static file server for serving static files in a FastAPI application.'), np.float32(0.007460205))
- (TEntity(name='JINJA2TEMPLATES', type='COMPONENT', description='Jinja2Templates provides an interface to the Jinja2 templating engine, which is used to render templates.'), np.float32(0.0073097316))
- (TEntity(name='REQUEST', type='COMPONENT', description='HTTP 请求对象.\nRequest in FastAPI represents an incoming HTTP request.'), np.float32(0.007132749))
- (TEntity(name='RESULTS', type='STATE', description='The result of the vector search.\nA variable holding the results from the vector search.'), np.float32(0.006970213))
- (TEntity(name='ROUTE', type='MODULE', description='路由模块\nThe module that generates semantic paths and compiles various information for route analysis.\n路由信息字典'), np.float32(0.0068836417))
- (TEntity(name='FILE_NAME', type='COMPONENT', description='路径对象的名字'), np.float32(0.0068382747))
- (TEntity(name='导量开服配置', type='PAGE', description='这是一个用于配置开服时间、设置开服策略、管理服务器列表的页面。'), np.float32(0.0068173767))
- (TEntity(name='EMBEDDINGS', type='API', description='An API for generating embeddings of text queries.'), np.float32(0.0065207137))
- (TEntity(name='DBMANAGER', type='COMPONENT', description='A database manager component.\n数据库管理器模块'), np.float32(0.006440361))
- (TEntity(name='SEARCH_RESULTS', type='UNKNOWN', description='A list of search results.'), np.float32(0.0064141788))
- (TEntity(name='CREATE_SSE_MESSAGE', type='FUNCTION', description='创建标准服务器发送事件的消息.'), np.float32(0.00617029))
- (TEntity(name='BAAI/BGE-M3', type='API', description='The model configuration for embeddings.'), np.float32(0.0061304104))
- (TEntity(name='YIELDS', type='STATE', description='异步生成器生成的消息对象.'), np.float32(0.006058385))
- (TEntity(name='ROUTE_DATA', type='MODULE', description='Dictionary containing routing information.\nA dictionary containing data of a route, including technical information, component path, function ID, file paths, etc.'), np.float32(0.005861365))
- (TEntity(name='CONTEXT', type='STATE', description='上下文信息,用于查询提示词模板生成\n当前文档的内容.'), np.float32(0.005853526))
- (TEntity(name='SSE', type='COMPONENT', description='Flask中的可以提供流式的SSE输出的功能对象.'), np.float32(0.0057904343))
- (TEntity(name='FILE_ROUTE_DATA', type='MODULE', description='A dictionary to store route data for file processing.'), np.float32(0.005786978))
- (TEntity(name='FILES', type='STATE', description='代码文件的列表'), np.float32(0.0056470493))
- (TEntity(name='APP', type='API', description='Flask应用对象.'), np.float32(0.0054760003))
- (TEntity(name='DOCUMENTS', type='UNKNOWN', description='List of documents to be created and returned.\nList of documents generated by analyzing routes and routes.\nList of documents to be stored in the vector database.\nA list of documents in a specific collection in the Chroma client.'), np.float32(0.005344113))
- (TEntity(name='FILTERED_DOCS', type='UNKNOWN', description='A list of filtered documents.\nFiltered list of documents with scores following the similarity threshold.'), np.float32(0.005134277))
- (TEntity(name='_GENERATE_FILE_SUMMARY', type='FUNCTION', description='A function to generate a summary of the file content.\n使用LLM生成文件内容的结构化摘要'), np.float32(0.0050183465))
关系列表:
- (TRelation(source='QMRAIN', target='TEMPLATES', description='is', chunks=[]), np.float64(0.09107639640569687))
- (TRelation(source='LOGGER', target='TEMPLATES', description='is', chunks=[]), np.float64(0.0882552620023489))
- (TRelation(source='QUERIES', target='OUTPUT_FILE', description='is', chunks=[]), np.float64(0.08073770627379417))
- (TRelation(source='STREAMINGRESPONSE', target='OUTPUT_FILE', description='is', chunks=[]), np.float64(0.07956723868846893))
- (TRelation(source='API_CONFIG', target='OUTPUT_FILE', description='is', chunks=[]), np.float64(0.07838931120932102))
- (TRelation(source='TEMPLATES', target='FILE_PATH', description='is', chunks=[]), np.float64(0.07681924849748611))
- (TRelation(source='FASTAPI', target='OUTPUT_FILE', description='is', chunks=[]), np.float64(0.0765649601817131))
- (TRelation(source='TEMPLATES', target='PATH_OBJ', description='is', chunks=[]), np.float64(0.0745232105255127))
- (TRelation(source='TEMPLATES', target='ALL_FILES', description='is', chunks=[]), np.float64(0.07271459884941578))
- (TRelation(source='TEMPLATES', target='PATH_OBJ.NAME', description='is', chunks=[]), np.float64(0.07254919689148664))
- (TRelation(source='OUTPUT_FILE', target='EXPORT_JSON', description='使用output_file参数调用export_json函数', chunks=[np.uint64(1383599953349357853)]), np.float64(0.07091841194778681))
- (TRelation(source='GRAPHRAG', target='QMRAIN', description='The GraphRAG system uses the QMRAIN module for embedding service configuration.', chunks=[np.uint64(2669658249275416839)]), np.float64(0.05452837981283665))
- (TRelation(source='QMRAIN', target='QUERIES', description='is', chunks=[]), np.float64(0.05281980708241463))
- (TRelation(source='QMRAIN', target='API_CONFIG', description='The API_CONFIG is used by the QMRAIN module for API service configuration.', chunks=[np.uint64(2669658249275416839)]), np.float64(0.050471412017941475))
- (TRelation(source='BASE_DIR', target='QMRAIN', description='The BASE_DIR is a state that the QMRAIN module relies on for its operations.', chunks=[np.uint64(2669658249275416839)]), np.float64(0.04961690865457058))
- (TRelation(source='GRAPHRAG', target='QUERIES', description='The GraphRAG system processes the queries in the QUERIES list.', chunks=[np.uint64(2669658249275416839)]), np.float64(0.047174958512187004))
- (TRelation(source='GRAPHRAG', target='STREAMINGRESPONSE', description='is', chunks=[]), np.float64(0.04600449092686176))
- (TRelation(source='FASTAPI', target='LOGGER', description='FastAPI uses Logger for logging messages.', chunks=[np.uint64(13932454043987402365)]), np.float64(0.04582592658698559))
- (TRelation(source='GRAPHRAG', target='BASE_DIR', description='The BASE_DIR state is used to specify the base directory for the script and other operations.', chunks=[np.uint64(2669658249275416839)]), np.float64(0.04397206008434296))
- (TRelation(source='QMRAIN', target='ZHIPU_API_KEY', description='The QMRAIN module uses the ZHIPU_API_KEY for accessing the API services.', chunks=[np.uint64(2669658249275416839)]), np.float64(0.04365252144634724))
- (TRelation(source='QUERIES', target='API_CONFIG', description='is', chunks=[]), np.float64(0.04311799071729183))
- (TRelation(source='LOGGER', target='FILE_PATH', description='Logger info logs the processing of file_path.', chunks=[np.uint64(17989244567396702808)]), np.float64(0.04309494607150555))
- (TRelation(source='QMRAIN', target='EXPORT_JSON', description='is', chunks=[]), np.float64(0.04300051275640726))
- (TRelation(source='BASE_DIR', target='QUERIES', description='is', chunks=[]), np.float64(0.04226348735392094))
- (TRelation(source='QMRAIN', target='API_KEY', description='The QMRAIN module needs an API key for its operations.', chunks=[np.uint64(2669658249275416839)]), np.float64(0.041606138460338116))
- (TRelation(source='ZHIPU_API_KEY', target='LOGGER', description='is', chunks=[]), np.float64(0.04083138704299927))
- (TRelation(source='FASTAPI', target='STREAMINGRESPONSE', description='FastAPI can use StreamingResponse to generate responses in chunks.', chunks=[np.uint64(13932454043987402365)]), np.float64(0.04012317210435867))
- (TRelation(source='QMRAIN', target='FILE_CONTENT', description='is', chunks=[]), np.float64(0.039009141735732555))
- (TRelation(source='GRAPHRAG', target='WORKING_DIR', description='The working directory is a state that GraphRAG uses for its operations.', chunks=[np.uint64(2669658249275416839)]), np.float64(0.03768815752118826))
- (TRelation(source='LOGGER', target='METADATA', description='通过Metadata.info()记录合并文档的信息.', chunks=[np.uint64(484696456006658743)]), np.float64(0.0373361986130476))
- (TRelation(source='QMRAIN', target='DBMANAGER', description='is', chunks=[]), np.float64(0.036526975221931934))
- (TRelation(source='QMRAIN', target='YIELDS', description='is', chunks=[]), np.float64(0.03614499932155013))
- (TRelation(source='WORKING_DIR', target='QUERIES', description='is', chunks=[]), np.float64(0.03597958479076624))
- (TRelation(source='QMRAIN', target='FILES', description='is', chunks=[]), np.float64(0.035733663477003574))
- (TRelation(source='BASE_DIR', target='FILE_PATH', description='is', chunks=[]), np.float64(0.035359760746359825))
- (TRelation(source='GRAPHRAG', target='ENTITY_TYPES', description='The GraphRAG system identifies entities based on the provided entity types.', chunks=[np.uint64(2669658249275416839)]), np.float64(0.035049838945269585))
- (TRelation(source='LOGGER', target='COMBINED_CONTEXT', description='在合并完成时,通过总token数记录合并完成的信息.', chunks=[np.uint64(484696456006658743)]), np.float64(0.03495831182226539))
- (TRelation(source='WORKING_DIR', target='STREAMINGRESPONSE', description='is', chunks=[]), np.float64(0.034809117205441))
- (TRelation(source='API_KEY', target='QUERIES', description='is', chunks=[]), np.float64(0.03425271715968847))
- (TRelation(source='LOGGER', target='RESULTS', description='is', chunks=[]), np.float64(0.0342356925830245))
- (TRelation(source='GRAPHRAG', target='DOMAIN', description='The DOMAIN is used by the GraphRAG system to define its processing domain.', chunks=[np.uint64(2669658249275416839)]), np.float64(0.03395361639559269))
- (TRelation(source='ZHIPU_API_KEY', target='API_CONFIG', description='is', chunks=[]), np.float64(0.03395070508122444))
- (TRelation(source='LOGGER', target='DBMANAGER', description='DBManager使用Logger进行日志记录', chunks=[np.uint64(10351451438559042459)]), np.float64(0.033705840818583965))
- (TRelation(source='WORKING_DIR', target='API_CONFIG', description='The working directory is the location where configurations are processed or stored.', chunks=[np.uint64(2669658249275416839)]), np.float64(0.03363118972629309))
- (TRelation(source='LOGGER', target='CREATE_SSE_MESSAGE', description='调用create_sse_message用于创建并记录信息到logger中', chunks=[np.uint64(484696456006658743)]), np.float64(0.033435769844800234))
- (TRelation(source='QUERIES', target='ENTITY_TYPES', description='is', chunks=[]), np.float64(0.033341266214847565))
- (TRelation(source='LOGGER', target='ROUTE_DATA', description='is', chunks=[]), np.float64(0.03312684455886483))
- (TRelation(source='LOGGER', target='SSE', description='is', chunks=[]), np.float64(0.03305591410025954))
- (TRelation(source='LOGGER', target='FILE_ROUTE_DATA', description='is', chunks=[]), np.float64(0.033052457962185144))
- (TRelation(source='WORKING_DIR', target='BASE_DIR', description='is', chunks=[]), np.float64(0.03277668636292219))
- (TRelation(source='STREAMINGRESPONSE', target='SUMMARY', description='is', chunks=[]), np.float64(0.032750315964221954))
- (TRelation(source='LOGGER', target='FILTERED_DOCS', description='is', chunks=[]), np.float64(0.03239975683391094))
- (TRelation(source='API_KEY', target='API_CONFIG', description='is', chunks=[]), np.float64(0.03190432209521532))
- (TRelation(source='GRAPHRAG', target='STATICFILES', description='is', chunks=[]), np.float64(0.031901970505714417))
- (TRelation(source='GRAPHRAG', target='REQUEST', description='is', chunks=[]), np.float64(0.03157451469451189))
- (TRelation(source='GRAPHRAG', target='ROUTE', description='is', chunks=[]), np.float64(0.031325407326221466))
- (TRelation(source='BASE_DIR', target='ALL_FILES', description='is', chunks=[]), np.float64(0.03125511109828949))
- (TRelation(source='ENTITY_TYPES', target='API_CONFIG', description='is', chunks=[]), np.float64(0.030992871150374413))
- (TRelation(source='GRAPHRAG', target='DBMANAGER', description='is', chunks=[]), np.float64(0.03088212665170431))
- (TRelation(source='QUERIES', target='COMPONENT_PATH', description='is', chunks=[]), np.float64(0.03072335571050644))
- (TRelation(source='STREAMINGRESPONSE', target='FILE_CONTENT', description='is', chunks=[]), np.float64(0.03048525284975767))
- (TRelation(source='QUERIES', target='COMBINED_CONTEXT', description='is', chunks=[]), np.float64(0.030426024924963713))
- (TRelation(source='QMRAIN', target='STR', description='is', chunks=[]), np.float64(0.030086614191532135))
- (TRelation(source='QMRAIN', target='ENUMERATE', description='is', chunks=[]), np.float64(0.030086614191532135))
- (TRelation(source='QMRAIN', target='SCORED_DOCS', description='is', chunks=[]), np.float64(0.030086614191532135))
- (TRelation(source='QMRAIN', target='TEXT', description='is', chunks=[]), np.float64(0.030086614191532135))
- (TRelation(source='QMRAIN', target='CLIENT', description='is', chunks=[]), np.float64(0.030086614191532135))
- (TRelation(source='QMRAIN', target='PROMPTTEMPLATES', description='is', chunks=[]), np.float64(0.030086614191532135))
- (TRelation(source='QMRAIN', target='ROUTEANALYZER', description='is', chunks=[]), np.float64(0.030086614191532135))
- (TRelation(source='QMRAIN', target='CHROMADB.CLIENT', description='is', chunks=[]), np.float64(0.030086614191532135))
- (TRelation(source='QMRAIN', target='QWEN/QWEN2.5-7B-INSTRUCT', description='is', chunks=[]), np.float64(0.030086614191532135))
- (TRelation(source='QMRAIN', target='COLLECTION', description='is', chunks=[]), np.float64(0.030086614191532135))
- (TRelation(source='QMRAIN', target='TEMPLATES.TEMPLATERESPONSE', description='is', chunks=[]), np.float64(0.030086614191532135))
- (TRelation(source='QMRAIN', target='PROCESS_ROUTE_NODE', description='is', chunks=[]), np.float64(0.030086614191532135))
- (TRelation(source='QMRAIN', target='/API/SERVER/LIST', description='is', chunks=[]), np.float64(0.030086614191532135))
- (TRelation(source='QMRAIN', target='PROMTTEMPLATE', description='is', chunks=[]), np.float64(0.030086614191532135))
- (TRelation(source='QMRAIN', target='/API/SERVER/CONFIG', description='is', chunks=[]), np.float64(0.030086614191532135))
- (TRelation(source='QMRAIN', target='CHATPROMPTTEMPLATE', description='is', chunks=[]), np.float64(0.030086614191532135))
- (TRelation(source='QMRAIN', target='LOGGING', description='is', chunks=[]), np.float64(0.030086614191532135))
- (TRelation(source='FASTAPI', target='VECTORSTORE', description='FastAPI has a VectorStore for storing and searching vector data.', chunks=[np.uint64(13932454043987402365)]), np.float64(0.029916835017502308))
- (TRelation(source='GRAPHRAG', target='DOCUMENTS', description='is', chunks=[]), np.float64(0.029785878490656614))
- (TRelation(source='QUERIES', target='RESULTS', description='is', chunks=[]), np.float64(0.029703405685722828))
- (TRelation(source='QUERIES', target='ROUTE', description='is', chunks=[]), np.float64(0.029616834595799446))
- (TRelation(source='QUERIES', target='SEARCH_RESULTS', description='is', chunks=[]), np.float64(0.029147371649742126))
- (TRelation(source='STREAMINGRESPONSE', target='FILE_NAME', description='is', chunks=[]), np.float64(0.02840099995955825))
- (TRelation(source='API_CONFIG', target='MAIN_FILE', description='is', chunks=[]), np.float64(0.028310350142419338))
- (TRelation(source='STREAMINGRESPONSE', target='EMBEDDINGS', description='is', chunks=[]), np.float64(0.028083438985049725))
- (TRelation(source='STREAMINGRESPONSE', target='SEARCH_RESULTS', description='is', chunks=[]), np.float64(0.027976904064416885))
- (TRelation(source='STREAMINGRESPONSE', target='YIELDS', description='is', chunks=[]), np.float64(0.027621110435575247))
- (TRelation(source='FASTAPI', target='FILE_CONTENT', description='is', chunks=[]), np.float64(0.027482974343001842))
- (TRelation(source='STREAMINGRESPONSE', target='SSE', description='is', chunks=[]), np.float64(0.027353159617632627))
- (TRelation(source='API_CONFIG', target='ROUTE', description='is', chunks=[]), np.float64(0.027268439531326294))
- (TRelation(source='LOGGER', target='DISTANCE', description='is', chunks=[]), np.float64(0.027265479788184166))
- (TRelation(source='LOGGER', target='E', description='logger is used to log errors.', chunks=[np.uint64(5226307071961895696)]), np.float64(0.027265479788184166))
- (TRelation(source='LOGGER', target='SCORE', description='is', chunks=[]), np.float64(0.027265479788184166))
- (TRelation(source='LOGGER', target="FILE_TECHNICAL_INFO['PATH']", description='Logger info logs the path from file_technical_info.', chunks=[np.uint64(17989244567396702808)]), np.float64(0.027265479788184166))
- (TRelation(source='LOGGER', target='POSTHOG', description='PostHog is used for logging errors.', chunks=[np.uint64(5226307071961895696)]), np.float64(0.027265479788184166))
- (TRelation(source='LOGGER', target="FILE_TECHNICAL_INFO['FILE_NAME']", description='Logger info logs the file name from file_technical_info.', chunks=[np.uint64(17989244567396702808)]), np.float64(0.027265479788184166))
- (TRelation(source='LOGGER', target="FILE_TECHNICAL_INFO['COMPONENT_PATH']", description='Logger info logs the component path from file_technical_info.', chunks=[np.uint64(17989244567396702808)]), np.float64(0.027265479788184166))
- (TRelation(source='LOGGER', target='LOGGING', description='Logger class uses logging for logging operations.', chunks=[np.uint64(2280252275968897785)]), np.float64(0.027265479788184166))
- (TRelation(source='LOGGER', target='PROCESS_ROUTES', description='使用logger记录处理过程的信息', chunks=[np.uint64(1383599953349357853)]), np.float64(0.027265479788184166))
- (TRelation(source='LOGGER', target='RAW_OUTPUT', description='is', chunks=[]), np.float64(0.027265479788184166))
- (TRelation(source='LOGGER', target='DATETIME', description='Logger class uses datetime to format log messages.', chunks=[np.uint64(2280252275968897785)]), np.float64(0.027265479788184166))
- (TRelation(source='LOGGER', target='PATH', description='Logger class uses Path to create log directory.', chunks=[np.uint64(2280252275968897785)]), np.float64(0.027265479788184166))
- (TRelation(source='LOGGER', target='SYS', description='Logger class uses sys to create console handler.', chunks=[np.uint64(2280252275968897785)]), np.float64(0.027265479788184166))
- (TRelation(source='LOGGER', target='QUERY', description='is', chunks=[]), np.float64(0.027265479788184166))
- (TRelation(source='LOGGER', target='ROUTEPROCESSOR', description='Logger records events and errors of RouteProcessor process.', chunks=[np.uint64(8013518596100600426)]), np.float64(0.027265479788184166))
- (TRelation(source='LOGGER', target='_NORMALIZE_DISTANCE_TO_SIMILARITY', description='is', chunks=[]), np.float64(0.027265479788184166))
- (TRelation(source='LOGGER', target='DIRECTORY', description='目录路径对象在不存在时会触发日志记录器的错误日志', chunks=[np.uint64(13109458912320306840)]), np.float64(0.027265479788184166))
- (TRelation(source='LOGGER', target='TOP_DOCS', description='is', chunks=[]), np.float64(0.027265479788184166))
- (TRelation(source='ZHIPU_API_KEY', target='ZHIPU_API_KEY', description='is', chunks=[]), np.float64(0.027131814509630203))
- (TRelation(source='BASE_DIR', target='STATICFILES', description='is', chunks=[]), np.float64(0.02699049934744835))
- (TRelation(source='BASE_DIR', target='RESULTS', description='is', chunks=[]), np.float64(0.02650050725787878))
- (TRelation(source='BASE_DIR', target='ROUTE', description='is', chunks=[]), np.float64(0.0264139361679554))
- (TRelation(source='API_CONFIG', target='ROUTE_DATA', description='is', chunks=[]), np.float64(0.026246162597090006))
- (TRelation(source='API_CONFIG', target='CONTEXT', description='is', chunks=[]), np.float64(0.026238323654979467))
- (TRelation(source='API_CONFIG', target='FILE_ROUTE_DATA', description='is', chunks=[]), np.float64(0.02617177600041032))
- (TRelation(source='FASTAPI', target='STATICFILES', description='FastAPI uses StaticFiles for serving static files.', chunks=[np.uint64(13932454043987402365)]), np.float64(0.026020651683211327))
- (TRelation(source='FASTAPI', target='JINJA2TEMPLATES', description='FastAPI integrates with Jinja2Templates for rendering templates.', chunks=[np.uint64(13932454043987402365)]), np.float64(0.02587017836049199))
- (TRelation(source='FASTAPI', target='REQUEST', description='FastAPI has a dependency on Request to handle incoming HTTP requests.', chunks=[np.uint64(13932454043987402365)]), np.float64(0.0256931958720088))
- (TRelation(source='API_CONFIG', target='FILTERED_DOCS', description='is', chunks=[]), np.float64(0.025519074872136116))
- (TRelation(source='DOMAIN', target='FILE_PATH', description='is', chunks=[]), np.float64(0.025341317057609558))
- (TRelation(source='BASE_DIR', target='FILES', description='is', chunks=[]), np.float64(0.025177343748509884))
- (TRelation(source='API_KEY', target='ZHIPU_API_KEY', description='is', chunks=[]), np.float64(0.025085431523621082))
- (TRelation(source='FASTAPI', target='EMBEDDINGS', description='is', chunks=[]), np.float64(0.025081160478293896))
- (TRelation(source='LLMFACTORY', target='PATH_OBJ', description='is', chunks=[]), np.float64(0.024837556295096874))
- (TRelation(source='ZHIPU_API_KEY', target='SUMMARY', description='is', chunks=[]), np.float64(0.024753497913479805))
- (TRelation(source='FILE_CONTENT', target='FILE_PATH', description='The file path is used to get the file content.', chunks=[np.uint64(9122161254101765545)]), np.float64(0.0247519938275218))
- (TRelation(source='GRAPHRAG', target='LEN', description='is', chunks=[]), np.float64(0.024441765621304512))
- (TRelation(source='GRAPHRAG', target='CHATPROMPTTEMPLATE', description='is', chunks=[]), np.float64(0.024441765621304512))
- (TRelation(source='GRAPHRAG', target='ROUTESUMMARY', description='is', chunks=[]), np.float64(0.024441765621304512))
- (TRelation(source='GRAPHRAG', target='PROMTTEMPLATE', description='is', chunks=[]), np.float64(0.024441765621304512))
- (TRelation(source='GRAPHRAG', target='PROMPTTEMPLATE', description='is', chunks=[]), np.float64(0.024441765621304512))
- (TRelation(source='GRAPHRAG', target='LOGGING', description='is', chunks=[]), np.float64(0.024441765621304512))
- (TRelation(source='GRAPHRAG', target='导量/导量开服配置', description='is', chunks=[]), np.float64(0.024441765621304512))
- (TRelation(source='GRAPHRAG', target='/API/SERVER/CONFIG', description='is', chunks=[]), np.float64(0.024441765621304512))
- (TRelation(source='GRAPHRAG', target='STR', description='is', chunks=[]), np.float64(0.024441765621304512))
- (TRelation(source='GRAPHRAG', target='COLLECTIONS', description='is', chunks=[]), np.float64(0.024441765621304512))
- (TRelation(source='GRAPHRAG', target='COLLECTION', description='is', chunks=[]), np.float64(0.024441765621304512))
- (TRelation(source='GRAPHRAG', target='SELF.VECTOR_STORE', description='is', chunks=[]), np.float64(0.024441765621304512))
- (TRelation(source='GRAPHRAG', target='CONTENT', description='is', chunks=[]), np.float64(0.024441765621304512))
- (TRelation(source='GRAPHRAG', target='导量系统', description='is', chunks=[]), np.float64(0.024441765621304512))
- (TRelation(source='GRAPHRAG', target='导量/其他配置', description='is', chunks=[]), np.float64(0.024441765621304512))
- (TRelation(source='GRAPHRAG', target='OPENAILLMSERVICE', description='GraphRAG uses OpenAILLMService for language model service.', chunks=[np.uint64(3796938065219911795)]), np.float64(0.024441765621304512))
- (TRelation(source='GRAPHRAG', target='START_LINE', description='is', chunks=[]), np.float64(0.024441765621304512))
- (TRelation(source='GRAPHRAG', target='LLMFACTORY.GET_RERANKER_MODEL', description='is', chunks=[]), np.float64(0.024441765621304512))
- (TRelation(source='GRAPHRAG', target='VIEW_COLLECTION', description='is', chunks=[]), np.float64(0.024441765621304512))
- (TRelation(source='GRAPHRAG', target='OPENAIEMBEDDINGSERVICE', description='GraphRAG uses OpenAIEmbeddingService for embedding service.', chunks=[np.uint64(3796938065219911795)]), np.float64(0.024441765621304512))
- (TRelation(source='GRAPHRAG', target='PROCESS_FILE', description='is', chunks=[]), np.float64(0.024441765621304512))
- (TRelation(source='GRAPHRAG', target='INSERT_FILES', description='is', chunks=[]), np.float64(0.024441765621304512))
- (TRelation(source='GRAPHRAG', target='PROCESS_ROUTE_NODE', description='is', chunks=[]), np.float64(0.024441765621304512))
- (TRelation(source='GRAPHRAG', target='CIRCLEMIND', description='GraphRAG uses Circlemind to initialize the client.', chunks=[np.uint64(3796938065219911795)]), np.float64(0.024441765621304512))
- (TRelation(source='GRAPHRAG', target='GRAG', description='is', chunks=[]), np.float64(0.024441765621304512))
- (TRelation(source='GRAPHRAG', target='ROUTEANALYZER', description='is', chunks=[]), np.float64(0.024441765621304512))
- (TRelation(source='GRAPHRAG', target='ROUTES', description='is', chunks=[]), np.float64(0.024441765621304512))
- (TRelation(source='GRAPHRAG', target='QUERY', description='is', chunks=[]), np.float64(0.024441765621304512))
- (TRelation(source='GRAPHRAG', target='VECTOR_DB', description='is', chunks=[]), np.float64(0.024441765621304512))
- (TRelation(source='GRAPHRAG', target='ROUTE_FILE', description='is', chunks=[]), np.float64(0.024441765621304512))
- (TRelation(source='FASTAPI', target='CONTEXT', description='is', chunks=[]), np.float64(0.02441397262737155))
- (TRelation(source='COMPONENT_PATH', target='FILE_PATH', description='is', chunks=[]), np.float64(0.023819629102945328))
- (TRelation(source='JINJA2TEMPLATES', target='FILE_PATH', description='is', chunks=[]), np.float64(0.02313919784501195))
- (TRelation(source='LLMFACTORY', target='PATH_OBJ.NAME', description='is', chunks=[]), np.float64(0.022863542661070824))
- (TRelation(source='QUERIES', target='SHUTIL', description='is', chunks=[]), np.float64(0.022733192890882492))
- (TRelation(source='QUERIES', target='PATH', description='is', chunks=[]), np.float64(0.022733192890882492))
- (TRelation(source='QUERIES', target='EXPORTDEFAULTDECLARATION', description='is', chunks=[]), np.float64(0.022733192890882492))
- (TRelation(source='QUERIES', target='TITLE_PATH', description='is', chunks=[]), np.float64(0.022733192890882492))
- (TRelation(source='QUERIES', target='CONTEXTS', description='is', chunks=[]), np.float64(0.022733192890882492))
- (TRelation(source='QUERIES', target='EXPORTALLDECLARATION', description='is', chunks=[]), np.float64(0.022733192890882492))
- (TRelation(source='QUERIES', target='TEXT', description='is', chunks=[]), np.float64(0.022733192890882492))
- (TRelation(source='QUERIES', target='VUEX', description='is', chunks=[]), np.float64(0.022733192890882492))
- (TRelation(source='QUERIES', target='SELF.VECTOR_STORE', description='is', chunks=[]), np.float64(0.022733192890882492))
- (TRelation(source='QUERIES', target='DOCUMENT', description='is', chunks=[]), np.float64(0.022733192890882492))
- (TRelation(source='QUERIES', target='ID', description='is', chunks=[]), np.float64(0.022733192890882492))
- (TRelation(source='VECTORSTORE', target='SUMMARY', description='is', chunks=[]), np.float64(0.02254397887736559))
- (TRelation(source='SSE', target='FILE_PATH', description='is', chunks=[]), np.float64(0.021619900595396757))
- (TRelation(source='TOKEN_COUNT', target='PATH_OBJ', description='is', chunks=[]), np.float64(0.02158148493617773))
- (TRelation(source='STREAMINGRESPONSE', target='_GENERATE_EMBEDDING_TEXT', description='is', chunks=[]), np.float64(0.02156272530555725))
- (TRelation(source='STREAMINGRESPONSE', target='E', description='is', chunks=[]), np.float64(0.02156272530555725))
- (TRelation(source='STREAMINGRESPONSE', target='DISTANCE', description='is', chunks=[]), np.float64(0.02156272530555725))
- (TRelation(source='STREAMINGRESPONSE', target='TEST_QUERY', description='is', chunks=[]), np.float64(0.02156272530555725))
- (TRelation(source='STREAMINGRESPONSE', target='TITLE', description='is', chunks=[]), np.float64(0.02156272530555725))
- (TRelation(source='STREAMINGRESPONSE', target='CODE', description='is', chunks=[]), np.float64(0.02156272530555725))
- (TRelation(source='STREAMINGRESPONSE', target='GET_QUERY_PROMPT', description='is', chunks=[]), np.float64(0.02156272530555725))
- (TRelation(source='STREAMINGRESPONSE', target='MESSAGES', description='is', chunks=[]), np.float64(0.02156272530555725))
- (TRelation(source='STREAMINGRESPONSE', target='SSE_EVENTS', description='is', chunks=[]), np.float64(0.02156272530555725))
- (TRelation(source='APP', target='FILE_PATH', description='is', chunks=[]), np.float64(0.021305466536432505))
- (TRelation(source='WORKING_DIR', target='STATICFILES', description='is', chunks=[]), np.float64(0.02070659678429365))
- (TRelation(source='API_CONFIG', target='IDX', description='is', chunks=[]), np.float64(0.02038479782640934))
- (TRelation(source='API_CONFIG', target='PARTS', description='is', chunks=[]), np.float64(0.02038479782640934))
- (TRelation(source='API_CONFIG', target='CLIENT', description='is', chunks=[]), np.float64(0.02038479782640934))
- (TRelation(source='API_CONFIG', target='TEXT', description='is', chunks=[]), np.float64(0.02038479782640934))
- (TRelation(source='API_CONFIG', target='FUNCTIONS', description='is', chunks=[]), np.float64(0.02038479782640934))
- (TRelation(source='API_CONFIG', target='EXPORTALLDECLARATION', description='is', chunks=[]), np.float64(0.02038479782640934))
- (TRelation(source='FILE_CONTENT', target='SUMMARY', description='file_content is from summary.', chunks=[np.uint64(17989244567396702808)]), np.float64(0.020110118202865124))
- (TRelation(source='ZHIPU_API_KEY', target='EMBEDDINGS', description='is', chunks=[]), np.float64(0.020086620934307575))
- (TRelation(source='ZHIPU_API_KEY', target='BAAI/BGE-M3', description='is', chunks=[]), np.float64(0.019696317613124847))
- (TRelation(source='MAIN_FILE', target='ALL_FILES', description='The main file is one of the files in the directory.', chunks=[np.uint64(9122161254101765545)]), np.float64(0.019650368951261044))
- (TRelation(source='TOKEN_COUNT', target='PATH_OBJ.NAME', description='is', chunks=[]), np.float64(0.01960747130215168))
- (TRelation(source='BASE_DIR', target='CLIENT', description='is', chunks=[]), np.float64(0.019530294463038445))
- (TRelation(source='BASE_DIR', target='VECTOR_DB', description='is', chunks=[]), np.float64(0.019530294463038445))
- (TRelation(source='BASE_DIR', target='TEMPLATES.TEMPLATERESPONSE', description='is', chunks=[]), np.float64(0.019530294463038445))
- (TRelation(source='BASE_DIR', target='DIRECTORY', description='is', chunks=[]), np.float64(0.019530294463038445))
- (TRelation(source='BASE_DIR', target='FILTERED_ROUTES', description='is', chunks=[]), np.float64(0.019530294463038445))
- (TRelation(source='BASE_DIR', target='DOCS_FOR_RERANK', description='is', chunks=[]), np.float64(0.019530294463038445))
- (TRelation(source='BASE_DIR', target='ELEMENTPLUS', description='is', chunks=[]), np.float64(0.019530294463038445))
- (TRelation(source='BASE_DIR', target='STR', description='is', chunks=[]), np.float64(0.019530294463038445))
- (TRelation(source='BASE_DIR', target='INT', description='is', chunks=[]), np.float64(0.019530294463038445))
- (TRelation(source='BASE_DIR', target='SERVERLIST', description='is', chunks=[]), np.float64(0.019530294463038445))
- (TRelation(source='BASE_DIR', target='RERANK_RESULTS', description='is', chunks=[]), np.float64(0.019530294463038445))
- (TRelation(source='BASE_DIR', target='PROCESS_ROUTE_NODE', description='is', chunks=[]), np.float64(0.019530294463038445))
- (TRelation(source='BASE_DIR', target='ORIGINAL_ROUTES', description='is', chunks=[]), np.float64(0.019530294463038445))
- (TRelation(source='BASE_DIR', target='PROCESS_FILE', description='is', chunks=[]), np.float64(0.019530294463038445))
- (TRelation(source='BASE_DIR', target='PROMPTTEMPLATE', description='is', chunks=[]), np.float64(0.019530294463038445))
- (TRelation(source='BASE_DIR', target='FILE_PATHS', description='is', chunks=[]), np.float64(0.019530294463038445))
- (TRelation(source='BASE_DIR', target='PROMTTEMPLATE', description='is', chunks=[]), np.float64(0.019530294463038445))
- (TRelation(source='BASE_DIR', target='OPENAILLMSERVICE', description='is', chunks=[]), np.float64(0.019530294463038445))
- (TRelation(source='BASE_DIR', target='FILE_PATH.NAME', description='is', chunks=[]), np.float64(0.019530294463038445))
- (TRelation(source='BASE_DIR', target='DISTANCE', description='is', chunks=[]), np.float64(0.019530294463038445))
- (TRelation(source='BASE_DIR', target='VUE_ROUTES', description='is', chunks=[]), np.float64(0.019530294463038445))
- (TRelation(source='BASE_DIR', target='SELF.VECTOR_STORE', description='is', chunks=[]), np.float64(0.019530294463038445))
- (TRelation(source='BASE_DIR', target='COLLECTIONS', description='is', chunks=[]), np.float64(0.019530294463038445))
- (TRelation(source='BASE_DIR', target='ROUTEPROCESSOR', description='is', chunks=[]), np.float64(0.019530294463038445))
- (TRelation(source='BASE_DIR', target='SCORING_DOCS', description='is', chunks=[]), np.float64(0.019530294463038445))
- (TRelation(source='SUMMARY', target='MAIN_FILE', description='Summary information includes the main file which is the component file.', chunks=[np.uint64(9122161254101765545)]), np.float64(0.0191131429746747))
- (TRelation(source='CREATE_SSE_MESSAGE', target='EXPORT_JSON', description='is', chunks=[]), np.float64(0.019084188621491194))
- (TRelation(source='WORKING_DIR', target='FILES', description='is', chunks=[]), np.float64(0.018893441185355186))
- (TRelation(source='COMBINED_CONTEXT', target='SUMMARY', description='is', chunks=[]), np.float64(0.018880422692745924))
- (TRelation(source='ENTITY_TYPES', target='COMPONENT_PATH', description='is', chunks=[]), np.float64(0.01859823614358902))
- (TRelation(source='ZHIPU_API_KEY', target='_GENERATE_FILE_SUMMARY', description='is', chunks=[]), np.float64(0.01858425373211503))
- (TRelation(source='FASTAPI', target='ROUTE_INFO', description='is', chunks=[]), np.float64(0.018560446798801422))
- (TRelation(source='FASTAPI', target="FILE_TECHNICAL_INFO['PATH']", description='is', chunks=[]), np.float64(0.018560446798801422))
- (TRelation(source='FASTAPI', target='导量/其他配置', description='is', chunks=[]), np.float64(0.018560446798801422))
- (TRelation(source='FASTAPI', target='GET_QUERY_PROMPT', description='is', chunks=[]), np.float64(0.018560446798801422))
- (TRelation(source='FASTAPI', target="ROUTE_DATA['TITLE_PATH']", description='is', chunks=[]), np.float64(0.018560446798801422))
- (TRelation(source='VECTORSTORE', target='RESULTS', description='is', chunks=[]), np.float64(0.01832660101354122))
- (TRelation(source='VECTORSTORE', target='ROUTE', description='is', chunks=[]), np.float64(0.01824002992361784))
- (TRelation(source='LLMFACTORY', target='FILE_NAME', description='is', chunks=[]), np.float64(0.01814240263774991))
- (TRelation(source='ROUTE', target='SUMMARY', description='The route module uses summary information to generate enhanced texts.', chunks=[np.uint64(9122161254101765545)]), np.float64(0.018071232363581657))
- (TRelation(source='API_KEY', target='SEARCH_RESULTS', description='is', chunks=[]), np.float64(0.017933703027665615))
- (TRelation(source='VECTORSTORE', target='DBMANAGER', description='VectorStore initializes DBManager in its constructor.', chunks=[np.uint64(10624529056577374826)]), np.float64(0.017796749249100685))
- (TRelation(source='LLMFACTORY', target='DBMANAGER', description='DBManager通过LLMFactory获取embeddings模型', chunks=[np.uint64(10351451438559042459)]), np.float64(0.017744489014148712))
- (TRelation(source='ROUTE_DATA', target='ALL_FILES', description='The all_files list is generated by processing the files related to route data.', chunks=[np.uint64(9122161254101765545)]), np.float64(0.01758618140593171))
- (TRelation(source='ENTITY_TYPES', target='FILE_NAME', description='is', chunks=[]), np.float64(0.01744634797796607))
- (TRelation(source='APP', target='ALL_FILES', description='is', chunks=[]), np.float64(0.01720081688836217))
- (TRelation(source='VECTORSTORE', target='SSE', description='is', chunks=[]), np.float64(0.017146822530776262))
- (TRelation(source='SUMMARY', target='ROUTE_DATA', description='route_data is from the summary.', chunks=[np.uint64(17989244567396702808)]), np.float64(0.01704895542934537))
- (TRelation(source='METADATA', target='RESULTS', description='is', chunks=[]), np.float64(0.01704093161970377))
- (TRelation(source='SUMMARY', target='FILE_ROUTE_DATA', description='file_route_data is used to create the summary.', chunks=[np.uint64(17989244567396702808)]), np.float64(0.016974568832665682))
- (TRelation(source='API_KEY', target='DOCUMENTS', description='is', chunks=[]), np.float64(0.016863637138158083))
- (TRelation(source='VECTORSTORE', target='APP', description='is', chunks=[]), np.float64(0.01683238847181201))
- (TRelation(source='METADATA', target='EMBEDDINGS', description='is', chunks=[]), np.float64(0.016591432504355907))
- (TRelation(source='VECTORSTORE', target='FILTERED_DOCS', description='is', chunks=[]), np.float64(0.016490665264427662))
- (TRelation(source='METADATA', target='SEARCH_RESULTS', description='metadata is part of SearchResult.', chunks=[np.uint64(4803428075609241843)]), np.float64(0.016484897583723068))
- (TRelation(source='METADATA', target='SEARCH_RESULTS', description='metadata is part of SearchResult.', chunks=[np.uint64(4803428075609241843)]), np.float64(0.016484897583723068))
- (TRelation(source='ENTITY_TYPES', target='CONTEXT', description='is', chunks=[]), np.float64(0.0164615991525352))
- (TRelation(source='VECTORSTORE', target='_GENERATE_FILE_SUMMARY', description='is', chunks=[]), np.float64(0.016374734696000814))
- (TRelation(source='_GENERATE_FILE_SUMMARY', target='SUMMARY', description='_generate_file_summary returns summary.', chunks=[np.uint64(17989244567396702808)]), np.float64(0.016205937135964632))
- (TRelation(source='METADATA', target='YIELDS', description='is', chunks=[]), np.float64(0.01612910395488143))
- (TRelation(source='DOMAIN', target='DBMANAGER', description='is', chunks=[]), np.float64(0.015952211804687977))
- (TRelation(source='DOMAIN', target='SEARCH_RESULTS', description='is', chunks=[]), np.float64(0.015926029533147812))
- (TRelation(source='COMPONENT_PATH', target='MAIN_FILE', description='The main file in the component directory is identified by component_path.', chunks=[np.uint64(9122161254101765545)]), np.float64(0.015915715135633945))
- (TRelation(source='CHUNK', target='FILE_PATH', description='is', chunks=[]), np.float64(0.01582946628332138))
- (TRelation(source='MESSAGES', target='FILE_PATH', description='is', chunks=[]), np.float64(0.01582946628332138))
- (TRelation(source='FILE_PATH', target='FILE_TECHNICAL_INFO', description='file_path is used in updating the technical information.', chunks=[np.uint64(17989244567396702808)]), np.float64(0.01582946628332138))
- (TRelation(source='FILE_PATH', target='SELF', description='self uses file_path for creating the document.', chunks=[np.uint64(17989244567396702808)]), np.float64(0.01582946628332138))
- (TRelation(source='ENTITY_TYPES', target='FILTERED_DOCS', description='is', chunks=[]), np.float64(0.01574235036969185))
- (TRelation(source='JINJA2TEMPLATES', target='TOKEN_COUNT', description='is', chunks=[]), np.float64(0.015357788186520338))
- (TRelation(source='SSE', target='FILE_CONTENT', description='is', chunks=[]), np.float64(0.014712961856275797))
- (TRelation(source='COMBINED_CONTEXT', target='RESULTS', description='is', chunks=[]), np.float64(0.014663044828921556))
- (TRelation(source='STATICFILES', target='RESULTS', description='is', chunks=[]), np.float64(0.01443041767925024))
- (TRelation(source='STATICFILES', target='ROUTE', description='is', chunks=[]), np.float64(0.014343846589326859))
- (TRelation(source='JINJA2TEMPLATES', target='RESULTS', description='is', chunks=[]), np.float64(0.014279944356530905))
- (TRelation(source='COMBINED_CONTEXT', target='SEARCH_RESULTS', description='is', chunks=[]), np.float64(0.014107010792940855))
- (TRelation(source='_GENERATE_FILE_SUMMARY', target='FILE_CONTENT', description='使用文件内容生成文件摘要', chunks=[np.uint64(13109458912320306840)]), np.float64(0.013940874021500349))
- (TRelation(source='STATICFILES', target='SEARCH_RESULTS', description='is', chunks=[]), np.float64(0.013874383643269539))
- (TRelation(source='COMPONENT_PATH', target='ROUTE_DATA', description='The route_data contains the technical information with the component path.', chunks=[np.uint64(9122161254101765545)]), np.float64(0.013851527590304613))
- (TRelation(source='COMPONENT_PATH', target='FILE_ROUTE_DATA', description='is', chunks=[]), np.float64(0.013777140993624926))
- (TRelation(source='COMBINED_CONTEXT', target='YIELDS', description='is', chunks=[]), np.float64(0.013751217164099216))
- (TRelation(source='ZHIPU_API_KEY', target='DOC', description='is', chunks=[]), np.float64(0.013565907254815102))
- (TRelation(source='ZHIPU_API_KEY', target='TITLE_PATH', description='is', chunks=[]), np.float64(0.013565907254815102))
- (TRelation(source='ZHIPU_API_KEY', target='/API/SERVER/LIST', description='is', chunks=[]), np.float64(0.013565907254815102))
- (TRelation(source='ZHIPU_API_KEY', target='LEN', description='is', chunks=[]), np.float64(0.013565907254815102))
- (TRelation(source='ZHIPU_API_KEY', target='MODULE_PATH', description='is', chunks=[]), np.float64(0.013565907254815102))
- (TRelation(source='ZHIPU_API_KEY', target='SEARCHRESULT', description='is', chunks=[]), np.float64(0.013565907254815102))
- (TRelation(source='ZHIPU_API_KEY', target='METADATA_SUMMARY', description='is', chunks=[]), np.float64(0.013565907254815102))
- (TRelation(source='ZHIPU_API_KEY', target='ROUTES', description='is', chunks=[]), np.float64(0.013565907254815102))
- (TRelation(source='ZHIPU_API_KEY', target='GET_SUMMARY_PROMPT', description='is', chunks=[]), np.float64(0.013565907254815102))
- (TRelation(source='ZHIPU_API_KEY', target='DASHSCOPE_API_KEY', description='is', chunks=[]), np.float64(0.013565907254815102))
- (TRelation(source='ZHIPU_API_KEY', target='EXPORTDEFAULTDECLARATION', description='is', chunks=[]), np.float64(0.013565907254815102))
- (TRelation(source='ZHIPU_API_KEY', target='EXPORTDECLARATION', description='is', chunks=[]), np.float64(0.013565907254815102))
- (TRelation(source='ZHIPU_API_KEY', target='EXPORTALLDECLARATION', description='is', chunks=[]), np.float64(0.013565907254815102))
- (TRelation(source='ZHIPU_API_KEY', target='VARIABLEDECLARATION', description='is', chunks=[]), np.float64(0.013565907254815102))
- (TRelation(source='ZHIPU_API_KEY', target='HTTPS://API.SILICONFLOW.CN/V1', description='The API key is used with the configured base URL.', chunks=[np.uint64(4020809177892211185)]), np.float64(0.013565907254815102))
- (TRelation(source='PATH_OBJ', target='PATH_OBJ.PARENT', description='路径对象的父级路径生成路径', chunks=[np.uint64(1722210077289060122)]), np.float64(0.013533428311347961))
- (TRelation(source='PATH_OBJ', target="PATH_OBJ.WITH_SUFFIX('.VUE')", description='获取规范化的路径信息', chunks=[np.uint64(1722210077289060122)]), np.float64(0.013533428311347961))
- (TRelation(source='STATICFILES', target='ROUTE_DATA', description='is', chunks=[]), np.float64(0.01332156965509057))
- (TRelation(source='STATICFILES', target='FILE_ROUTE_DATA', description='is', chunks=[]), np.float64(0.013247183058410883))
- (TRelation(source='WORKING_DIR', target='导量/导量开服配置', description='is', chunks=[]), np.float64(0.013246391899883747))
- (TRelation(source='WORKING_DIR', target='MAIN', description='is', chunks=[]), np.float64(0.013246391899883747))
- (TRelation(source='WORKING_DIR', target='INT', description='is', chunks=[]), np.float64(0.013246391899883747))
- (TRelation(source='WORKING_DIR', target='SELF.DB_MANAGER', description='is', chunks=[]), np.float64(0.013246391899883747))
- (TRelation(source='WORKING_DIR', target='ROUTEANALYZER', description='is', chunks=[]), np.float64(0.013246391899883747))
- (TRelation(source='WORKING_DIR', target='LINES', description='is', chunks=[]), np.float64(0.013246391899883747))
- (TRelation(source='WORKING_DIR', target='START_LINE', description='is', chunks=[]), np.float64(0.013246391899883747))
- (TRelation(source='WORKING_DIR', target='导量/其他配置', description='is', chunks=[]), np.float64(0.013246391899883747))
- (TRelation(source='WORKING_DIR', target='DIRECTORY', description='is', chunks=[]), np.float64(0.013246391899883747))
- (TRelation(source='WORKING_DIR', target='GET_QUERY_PROMPT', description='is', chunks=[]), np.float64(0.013246391899883747))
- (TRelation(source='WORKING_DIR', target='PROMTTEMPLATE', description='is', chunks=[]), np.float64(0.013246391899883747))
- (TRelation(source='WORKING_DIR', target='VECTOR_DB', description='is', chunks=[]), np.float64(0.013246391899883747))
- (TRelation(source='WORKING_DIR', target='COLLECTION', description='is', chunks=[]), np.float64(0.013246391899883747))
- (TRelation(source='WORKING_DIR', target='PROCESS_ROUTE_NODE', description='is', chunks=[]), np.float64(0.013246391899883747))
- (TRelation(source='WORKING_DIR', target='COLLECTIONS', description='is', chunks=[]), np.float64(0.013246391899883747))
- (TRelation(source='WORKING_DIR', target='ROUTES', description='is', chunks=[]), np.float64(0.013246391899883747))
- (TRelation(source='WORKING_DIR', target='POSTHOG', description='is', chunks=[]), np.float64(0.013246391899883747))
- (TRelation(source='WORKING_DIR', target='SELF.VECTOR_STORE', description='is', chunks=[]), np.float64(0.013246391899883747))
- (TRelation(source='WORKING_DIR', target='ROUTE_FILE', description='is', chunks=[]), np.float64(0.013246391899883747))
- (TRelation(source='WORKING_DIR', target='PROMPTTEMPLATE', description='is', chunks=[]), np.float64(0.013246391899883747))
- (TRelation(source='CREATE_SSE_MESSAGE', target='FILE_NAME', description='is', chunks=[]), np.float64(0.013008564710617065))
- (TRelation(source='BAAI/BGE-M3', target='FILE_NAME', description='is', chunks=[]), np.float64(0.012968685012310743))
- (TRelation(source='DATA', target='EXPORT_JSON', description='将data参数的数据导出为JSON文件', chunks=[np.uint64(1383599953349357853)]), np.float64(0.012913898564875126))
- (TRelation(source='YIELDS', target='FILE_NAME', description='is', chunks=[]), np.float64(0.012896659784018993))
- (TRelation(source='ROUTE', target='ROUTE_DATA', description='The route module processes route_data to generate documents.', chunks=[np.uint64(9122161254101765545)]), np.float64(0.01274500647559762))
- (TRelation(source='SSE', target='FILE_NAME', description='is', chunks=[]), np.float64(0.012628708966076374))
- (TRelation(source='CONTEXT', target='DBMANAGER', description='is', chunks=[]), np.float64(0.012293886858969927))
- (TRelation(source='DOCUMENTS', target='ROUTE', description='The route module generates documents.', chunks=[np.uint64(9122161254101765545)]), np.float64(0.012227754574269056))
- (TRelation(source='CONTEXT', target='YIELDS', description='is', chunks=[]), np.float64(0.011911910958588123))
- (TRelation(source='UVICORN.RUN', target='PATH_OBJ.NAME', description='is', chunks=[]), np.float64(0.01155941467732191))
- (TRelation(source='API_KEY', target='ORIGINAL_ROUTES', description='is', chunks=[]), np.float64(0.01151952426880598))
- (TRelation(source='API_KEY', target='LEN', description='is', chunks=[]), np.float64(0.01151952426880598))
- (TRelation(source='API_KEY', target='RERANK_RESULTS', description='is', chunks=[]), np.float64(0.01151952426880598))
- (TRelation(source='API_KEY', target='ROUTES', description='is', chunks=[]), np.float64(0.01151952426880598))
- (TRelation(source='API_KEY', target='FILE_PATH.NAME', description='is', chunks=[]), np.float64(0.01151952426880598))
- (TRelation(source='API_KEY', target='FILTERED_ROUTES', description='is', chunks=[]), np.float64(0.01151952426880598))
- (TRelation(source='API_KEY', target='DASHSCOPE_API_KEY', description='is', chunks=[]), np.float64(0.01151952426880598))
- (TRelation(source='API_KEY', target='/API/SERVER/CONFIG', description='is', chunks=[]), np.float64(0.01151952426880598))
- (TRelation(source='API_KEY', target='PROMTTEMPLATE', description='is', chunks=[]), np.float64(0.01151952426880598))
- (TRelation(source='API_KEY', target='SEARCHRESULT', description='is', chunks=[]), np.float64(0.01151952426880598))
- (TRelation(source='API_KEY', target='DIRECTORY', description='is', chunks=[]), np.float64(0.01151952426880598))
- (TRelation(source='API_KEY', target='COMPONENT_DIR', description='is', chunks=[]), np.float64(0.01151952426880598))
- (TRelation(source='API_KEY', target='LOAD_DOTENV', description='load_dotenv uses API_KEY to access the LLM and embedding services.', chunks=[np.uint64(3796938065219911795)]), np.float64(0.01151952426880598))
- (TRelation(source='API_KEY', target='TARGET_DIR', description='is', chunks=[]), np.float64(0.01151952426880598))
- (TRelation(source='API_KEY', target='SELF.ROUTES', description='is', chunks=[]), np.float64(0.01151952426880598))
- (TRelation(source='API_KEY', target='HTTPS://API.SILICONFLOW.CN/V1', description='is', chunks=[]), np.float64(0.01151952426880598))
- (TRelation(source='API_KEY', target='COLLECTION', description='is', chunks=[]), np.float64(0.01151952426880598))
- (TRelation(source='VECTORSTORE', target='ROUTESUMMARY', description='Not explicitly mentioned but could related, inferred based on context.', chunks=[np.uint64(10624529056577374826)]), np.float64(0.011356388218700886))
- (TRelation(source='VECTORSTORE', target='DISTANCE', description='is', chunks=[]), np.float64(0.011356388218700886))
- (TRelation(source='VECTORSTORE', target='ALL_DOCUMENTS', description='VectorStore stores the documents processed by RouteAnalyzer into a vector form.', chunks=[np.uint64(8013518596100600426)]), np.float64(0.011356388218700886))
- (TRelation(source='VECTORSTORE', target='K', description='is', chunks=[]), np.float64(0.011356388218700886))
- (TRelation(source='VECTORSTORE', target='MESSAGES', description='is', chunks=[]), np.float64(0.011356388218700886))
- (TRelation(source='VECTORSTORE', target='SCORED_DOCS', description='is', chunks=[]), np.float64(0.011356388218700886))
- (TRelation(source='VECTORSTORE', target='SCORE', description='is', chunks=[]), np.float64(0.011356388218700886))
- (TRelation(source='VECTORSTORE', target='SEARCHRESULT', description='Not explicitly mentioned but could related, inferred based on context.', chunks=[np.uint64(10624529056577374826)]), np.float64(0.011356388218700886))
- (TRelation(source='VECTORSTORE', target='DOCUMENT', description='VectorStore uses Document instances in the store_documents and search methods.', chunks=[np.uint64(10624529056577374826)]), np.float64(0.011356388218700886))
- (TRelation(source='VECTORSTORE', target='NORMALIZED_RESULTS', description='is', chunks=[]), np.float64(0.011356388218700886))
- (TRelation(source='VECTORSTORE', target='SEARCHRESPONSE', description='The search method of VectorStore returns SearchResponse as its result.', chunks=[np.uint64(10624529056577374826)]), np.float64(0.011356388218700886))
- (TRelation(source='LLMFACTORY', target='CHROMA', description='LLMFactory与Chroma库交互进行embeddings模型的获取', chunks=[np.uint64(10351451438559042459)]), np.float64(0.011304127983748913))
- (TRelation(source='LLMFACTORY', target="FILE_TECHNICAL_INFO['ID']", description='is', chunks=[]), np.float64(0.011304127983748913))
- (TRelation(source='CONTEXTS', target='LLMFACTORY', description='is', chunks=[]), np.float64(0.011304127983748913))
- (TRelation(source='LLMFACTORY', target="FILE_TECHNICAL_INFO['PATH']", description='is', chunks=[]), np.float64(0.011304127983748913))
- (TRelation(source='LLMFACTORY', target="FILE_TECHNICAL_INFO['FILE_NAME']", description='is', chunks=[]), np.float64(0.011304127983748913))
- (TRelation(source='_GENERATE_EMBEDDING_TEXT', target='SUMMARY', description='使用路由摘要生成向量匹配文本', chunks=[np.uint64(13109458912320306840)]), np.float64(0.011187590658664703))
- (TRelation(source='SUMMARY', target='SELF', description='self uses summary for creating the document.', chunks=[np.uint64(17989244567396702808)]), np.float64(0.011187590658664703))
- (TRelation(source='SUMMARY', target='KEYWORDS', description='The summary contains a list of keywords.', chunks=[np.uint64(9122161254101765545)]), np.float64(0.011187590658664703))
- (TRelation(source='ENTITY_TYPES', target='_GET_TITLE_FROM_PATH', description='is', chunks=[]), np.float64(0.010608073323965073))
- (TRelation(source='ENTITY_TYPES', target='FILE_PATH.NAME', description='is', chunks=[]), np.float64(0.010608073323965073))
- (TRelation(source='ENTITY_TYPES', target='CODE', description='is', chunks=[]), np.float64(0.010608073323965073))
- (TRelation(source='ENTITY_TYPES', target='MODULE_PATH', description='is', chunks=[]), np.float64(0.010608073323965073))
- (TRelation(source='ENTITY_TYPES', target='CONTEXTS', description='is', chunks=[]), np.float64(0.010608073323965073))
- (TRelation(source='ENTITY_TYPES', target="ROUTE_DATA['TITLE_PATH']", description='is', chunks=[]), np.float64(0.010608073323965073))
- (TRelation(source='ENTITY_TYPES', target='VUEX', description='is', chunks=[]), np.float64(0.010608073323965073))
- (TRelation(source='ENTITY_TYPES', target='SCORED_DOCS', description='is', chunks=[]), np.float64(0.010608073323965073))
- (TRelation(source='ENTITY_TYPES', target='TOP_DOCS', description='is', chunks=[]), np.float64(0.010608073323965073))
- (TRelation(source='ENTITY_TYPES', target='SHUTIL', description='is', chunks=[]), np.float64(0.010608073323965073))
- (TRelation(source='ENTITY_TYPES', target='TEXT', description='is', chunks=[]), np.float64(0.010608073323965073))
- (TRelation(source='ENTITY_TYPES', target='ID', description='is', chunks=[]), np.float64(0.010608073323965073))
- (TRelation(source='ENTITY_TYPES', target='IDX', description='is', chunks=[]), np.float64(0.010608073323965073))
- (TRelation(source='METADATA', target='SELF.VECTOR_STORE', description='is', chunks=[]), np.float64(0.010070718824863434))
- (TRelation(source='METADATA', target='DOC', description='doc metadata is extracted and stored in metadata.', chunks=[np.uint64(4803428075609241843)]), np.float64(0.010070718824863434))
- (TRelation(source='METADATA', target='TEMPLATES.TEMPLATERESPONSE', description='is', chunks=[]), np.float64(0.010070718824863434))
- (TRelation(source='METADATA', target='PROMPTTEMPLATES', description='is', chunks=[]), np.float64(0.010070718824863434))
- (TRelation(source='METADATA', target='FILE_PATHS', description='metadata is used to get technical_info.', chunks=[np.uint64(4803428075609241843)]), np.float64(0.010070718824863434))
- (TRelation(source='METADATA', target='TOP_DOCS', description='is', chunks=[]), np.float64(0.010070718824863434))
- (TRelation(source='METADATA', target='SUMMARY_PARSER', description='is', chunks=[]), np.float64(0.010070718824863434))
- (TRelation(source='METADATA', target='ORIGINAL_ROUTES', description='is', chunks=[]), np.float64(0.010070718824863434))
- (TRelation(source='METADATA', target='FILTERED_ROUTES', description='is', chunks=[]), np.float64(0.010070718824863434))
- (TRelation(source='METADATA', target='ROUTEINFO', description='is', chunks=[]), np.float64(0.010070718824863434))
- (TRelation(source='METADATA', target='FILE_PATHS', description='metadata is used to get technical_info.', chunks=[np.uint64(4803428075609241843)]), np.float64(0.010070718824863434))
- (TRelation(source='METADATA', target='DOC', description='doc metadata is extracted and stored in metadata.', chunks=[np.uint64(4803428075609241843)]), np.float64(0.010070718824863434))
- (TRelation(source='DOMAIN', target='TARGET_DIR', description='is', chunks=[]), np.float64(0.009511850774288177))
- (TRelation(source='DOMAIN', target='SELF.VECTOR_STORE', description='is', chunks=[]), np.float64(0.009511850774288177))
- (TRelation(source='DOMAIN', target='FUNCTIONDECLARATION', description='is', chunks=[]), np.float64(0.009511850774288177))
- (TRelation(source='DOMAIN', target='EXPORTDECLARATION', description='is', chunks=[]), np.float64(0.009511850774288177))
- (TRelation(source='DOMAIN', target='EXPORTALLDECLARATION', description='is', chunks=[]), np.float64(0.009511850774288177))
- (TRelation(source='DOMAIN', target='IDX', description='is', chunks=[]), np.float64(0.009511850774288177))
- (TRelation(source='DOMAIN', target='DOC', description='is', chunks=[]), np.float64(0.009511850774288177))
- (TRelation(source='DOMAIN', target='SELF.DB_MANAGER', description='is', chunks=[]), np.float64(0.009511850774288177))
- (TRelation(source='DOMAIN', target='ENUMERATE', description='is', chunks=[]), np.float64(0.009511850774288177))
- (TRelation(source='DOMAIN', target='RERANK_RESULTS', description='is', chunks=[]), np.float64(0.009511850774288177))
- (TRelation(source='DOMAIN', target='COMPONENT_DIR', description='is', chunks=[]), np.float64(0.009511850774288177))
- (TRelation(source='DOMAIN', target='PATH', description='is', chunks=[]), np.float64(0.009511850774288177))
- (TRelation(source='DOMAIN', target='ALL_DOCUMENTS', description='is', chunks=[]), np.float64(0.009511850774288177))
- (TRelation(source='DOMAIN', target='SHUTIL', description='is', chunks=[]), np.float64(0.009511850774288177))
- (TRelation(source='FILE_CONTENT', target='GET_SUMMARY_PROMPT', description='get_summary_prompt方法使用file_content作为输入变量之一', chunks=[np.uint64(7869851387977512123)]), np.float64(0.00892252754420042))
- (TRelation(source='TOKEN_COUNT', target='PAD', description='is', chunks=[]), np.float64(0.00804805662482977))
- (TRelation(source='TOKEN_COUNT', target="FILE_TECHNICAL_INFO['FILE_NAME']", description='is', chunks=[]), np.float64(0.00804805662482977))
- (TRelation(source='TOKEN_COUNT', target="FILE_TECHNICAL_INFO['COMPONENT_PATH']", description='is', chunks=[]), np.float64(0.00804805662482977))
- (TRelation(source='TOKEN_COUNT', target="FILE_TECHNICAL_INFO['ID']", description='is', chunks=[]), np.float64(0.00804805662482977))
- (TRelation(source='TOKEN_COUNT', target="FILE_TECHNICAL_INFO['PATH']", description='is', chunks=[]), np.float64(0.00804805662482977))
- (TRelation(source='COMPONENT_PATH', target='ID', description='is', chunks=[]), np.float64(0.007990162819623947))
- (TRelation(source='COMPONENT_PATH', target='DISTANCE', description='is', chunks=[]), np.float64(0.007990162819623947))
- (TRelation(source='COMPONENT_PATH', target='FULL_COMPONENT_PATH', description='is', chunks=[]), np.float64(0.007990162819623947))
- (TRelation(source='COMPONENT_PATH', target='DOCUMENT', description='is', chunks=[]), np.float64(0.007990162819623947))
- (TRelation(source='COMPONENT_PATH', target='COMPONENT_DIR', description='The component directory contains the identified main file and related files.', chunks=[np.uint64(9122161254101765545)]), np.float64(0.007990162819623947))
- (TRelation(source='COMPONENT_PATH', target='FILTERED_ROUTES', description='为过滤后的路由赋值', chunks=[np.uint64(1383599953349357853)]), np.float64(0.007990162819623947))
- (TRelation(source='COMPONENT_PATH', target="FILE_TECHNICAL_INFO['COMPONENT_PATH']", description='is', chunks=[]), np.float64(0.007990162819623947))
- (TRelation(source='CHUNK', target='MAIN_FILE', description='is', chunks=[]), np.float64(0.007925552316009998))
- (TRelation(source='MAIN_FILE', target='COMPONENT_DIR', description='The main_file is located in the parent directory of component_dir.', chunks=[np.uint64(9122161254101765545)]), np.float64(0.007925552316009998))
- (TRelation(source='COMBINED_CONTEXT', target='FILTERED_ROUTES', description='is', chunks=[]), np.float64(0.007692832034081221))
- (TRelation(source='COMBINED_CONTEXT', target='TOTAL_TOKENS', description='total_tokens从combined_context生成(token估算).', chunks=[np.uint64(484696456006658743)]), np.float64(0.007692832034081221))
- (TRelation(source='COMBINED_CONTEXT', target='PROMPTTEMPLATES', description='is', chunks=[]), np.float64(0.007692832034081221))
- (TRelation(source='STATICFILES', target='K', description='is', chunks=[]), np.float64(0.0074602048844099045))
- (TRelation(source='STATICFILES', target='SCORING_DOCS', description='is', chunks=[]), np.float64(0.0074602048844099045))
- (TRelation(source='STATICFILES', target='CODE', description='is', chunks=[]), np.float64(0.0074602048844099045))
- (TRelation(source='STATICFILES', target='ALL_TITLES', description='is', chunks=[]), np.float64(0.0074602048844099045))
- (TRelation(source='STATICFILES', target='PARENT_TITLES', description='is', chunks=[]), np.float64(0.0074602048844099045))
- (TRelation(source='STATICFILES', target='QUERY', description='is', chunks=[]), np.float64(0.0074602048844099045))
- (TRelation(source='JINJA2TEMPLATES', target='TITLE', description='is', chunks=[]), np.float64(0.007309731561690569))
- (TRelation(source='JINJA2TEMPLATES', target='FILE_PATH.NAME', description='is', chunks=[]), np.float64(0.007309731561690569))
- (TRelation(source='JINJA2TEMPLATES', target='SCORING_DOCS', description='is', chunks=[]), np.float64(0.007309731561690569))
- (TRelation(source='JINJA2TEMPLATES', target='CODE', description='is', chunks=[]), np.float64(0.007309731561690569))
- (TRelation(source='JINJA2TEMPLATES', target='SCORED_DOCS', description='is', chunks=[]), np.float64(0.007309731561690569))
- (TRelation(source='JINJA2TEMPLATES', target='SCORE', description='is', chunks=[]), np.float64(0.007309731561690569))
- (TRelation(source='JINJA2TEMPLATES', target='RERANK_RESULTS', description='is', chunks=[]), np.float64(0.007309731561690569))
- (TRelation(source='JINJA2TEMPLATES', target='MAX', description='is', chunks=[]), np.float64(0.007309731561690569))
- (TRelation(source='JINJA2TEMPLATES', target='K', description='is', chunks=[]), np.float64(0.007309731561690569))
- (TRelation(source='JINJA2TEMPLATES', target='EMBEDDING_TEXT', description='is', chunks=[]), np.float64(0.007309731561690569))
- (TRelation(source='REQUEST', target='TEXT', description='is', chunks=[]), np.float64(0.007132749073207378))
- (TRelation(source='REQUEST', target='FUNCTION_ID', description='is', chunks=[]), np.float64(0.007132749073207378))
- (TRelation(source='REQUEST', target='PROMPTTEMPLATE', description='is', chunks=[]), np.float64(0.007132749073207378))
- (TRelation(source='REQUEST', target='DOC', description='is', chunks=[]), np.float64(0.007132749073207378))
- (TRelation(source='REQUEST', target='QUERY', description='通过Request参数的query来获取查询字符串内容.—', chunks=[np.uint64(484696456006658743)]), np.float64(0.007132749073207378))
- (TRelation(source='REQUEST', target='ID', description='is', chunks=[]), np.float64(0.007132749073207378))
- (TRelation(source='REQUEST', target='CLIENT', description='is', chunks=[]), np.float64(0.007132749073207378))
- (TRelation(source='REQUEST', target='SELF.VECTOR_STORE', description='is', chunks=[]), np.float64(0.007132749073207378))
- (TRelation(source='REQUEST', target='CHROMADB.CLIENT', description='is', chunks=[]), np.float64(0.007132749073207378))
- (TRelation(source='REQUEST', target='DOCUMENT', description='is', chunks=[]), np.float64(0.007132749073207378))
- (TRelation(source='REQUEST', target='GET_QUERY_PROMPT', description='is', chunks=[]), np.float64(0.007132749073207378))
- (TRelation(source='REQUEST', target='MESSAGES', description='is', chunks=[]), np.float64(0.007132749073207378))
- (TRelation(source='CONTEXTS', target='RESULTS', description='is', chunks=[]), np.float64(0.006970212794840336))
- (TRelation(source='RESULTS', target='RERANK_RESULTS', description='The reranking results are derived from the search results.', chunks=[np.uint64(10624529056577374826)]), np.float64(0.006970212794840336))
- (TRelation(source='SELF.VECTOR_STORE', target='RESULTS', description='self.vector_store is used to store the search results.', chunks=[np.uint64(5226307071961895696)]), np.float64(0.006970212794840336))
- (TRelation(source='NORMALIZED_RESULTS', target='RESULTS', description='normalized_results are generated from the search results.', chunks=[np.uint64(5226307071961895696)]), np.float64(0.006970212794840336))
- (TRelation(source='RESULTS', target='SEARCHRESPONSE', description='The result of vector search is placed in the results attribute of the SearchResponse object.', chunks=[np.uint64(10624529056577374826)]), np.float64(0.006970212794840336))
- (TRelation(source='K', target='RESULTS', description='k is used to determine the number of search results.', chunks=[np.uint64(5226307071961895696)]), np.float64(0.006970212794840336))
- (TRelation(source='_GENERATE_EMBEDDING_TEXT', target='ROUTE', description='使用路由信息生成向量匹配文本', chunks=[np.uint64(13109458912320306840)]), np.float64(0.006883641704916954))
- (TRelation(source='ROUTE', target='PROCESS_ROUTES', description='处理_routes_路由', chunks=[np.uint64(1383599953349357853)]), np.float64(0.006883641704916954))
- (TRelation(source='UVICORN.RUN', target='FILE_NAME', description='is', chunks=[]), np.float64(0.0068382746540009975))
- (TRelation(source='TEMPLATES.TEMPLATERESPONSE', target='FILE_NAME', description='is', chunks=[]), np.float64(0.0068382746540009975))
- (TRelation(source='导量开服配置', target='导量系统', description='导量系统包含导量开服配置页面。', chunks=[np.uint64(8574496026161082903)]), np.float64(0.006817376706749201))
- (TRelation(source='导量开服配置', target='ELEMENTPLUS', description='此页面依赖ElementPlus。', chunks=[np.uint64(8574496026161082903)]), np.float64(0.006817376706749201))
- (TRelation(source='导量开服配置', target='VUEX', description='此页面依赖Vuex。', chunks=[np.uint64(8574496026161082903)]), np.float64(0.006817376706749201))
- (TRelation(source='导量开服配置', target='VUEROUTER', description='此页面依赖VueRouter。', chunks=[np.uint64(8574496026161082903)]), np.float64(0.006817376706749201))
- (TRelation(source='导量开服配置', target='VUEROUTER', description='导量开服配置依赖VueRouter。', chunks=[np.uint64(8574496026161082903)]), np.float64(0.006817376706749201))
- (TRelation(source='导量开服配置', target='ELEMENTPLUS', description='导量开服配置依赖ElementPlus。', chunks=[np.uint64(8574496026161082903)]), np.float64(0.006817376706749201))
- (TRelation(source='导量开服配置', target='VUEX', description='导量开服配置依赖Vuex。', chunks=[np.uint64(8574496026161082903)]), np.float64(0.006817376706749201))
- (TRelation(source='导量开服配置', target='SERVERLIST', description='此页面包含服务器列表组件。', chunks=[np.uint64(8574496026161082903)]), np.float64(0.006817376706749201))
- (TRelation(source='导量开服配置', target='/API/SERVER/CONFIG', description='此页面调用获取或设置服务器配置的API。', chunks=[np.uint64(8574496026161082903)]), np.float64(0.006817376706749201))
- (TRelation(source='导量开服配置', target='导量系统', description='导量开服配置页属于导量系统。', chunks=[np.uint64(8574496026161082903)]), np.float64(0.006817376706749201))
- (TRelation(source='导量开服配置', target='STRATEGYFORM', description='此页面包含策略配置表单组件。', chunks=[np.uint64(8574496026161082903)]), np.float64(0.006817376706749201))
- (TRelation(source='导量开服配置', target='DATETIMEPICKER', description='此页面包含日期时间选择器组件。', chunks=[np.uint64(8574496026161082903)]), np.float64(0.006817376706749201))
- (TRelation(source='导量开服配置', target='/API/SERVER/LIST', description='此页面调用获取服务器列表的API。', chunks=[np.uint64(8574496026161082903)]), np.float64(0.006817376706749201))
- (TRelation(source='EMBEDDING', target='EMBEDDINGS', description='embeddings is used to generate the embedding API.', chunks=[np.uint64(5226307071961895696)]), np.float64(0.006520713679492474))
- (TRelation(source='TOTAL_TOKENS', target='EMBEDDINGS', description='is', chunks=[]), np.float64(0.006520713679492474))
- (TRelation(source='DBMANAGER', target='CHROMA', description='DBManager使用Chroma库进行向量数据库操作', chunks=[np.uint64(10351451438559042459)]), np.float64(0.006440361030399799))
- (TRelation(source='DBMANAGER', target='UUID', description='DBManager生成文档ID', chunks=[np.uint64(10351451438559042459)]), np.float64(0.006440361030399799))
- (TRelation(source='DOCUMENT', target='DBMANAGER', description='DBManager处理Document进行存储', chunks=[np.uint64(10351451438559042459)]), np.float64(0.006440361030399799))
- (TRelation(source='VECTOR_DB', target='DBMANAGER', description='DBManager初始化时读取配置信息', chunks=[np.uint64(10351451438559042459)]), np.float64(0.006440361030399799))
- (TRelation(source='TOP_DOCS', target='SEARCH_RESULTS', description='search_results is constructed from elements of top_docs.', chunks=[np.uint64(4803428075609241843)]), np.float64(0.006414178758859634))
- (TRelation(source='SEARCH_RESULTS', target='SCORE', description='score is part of SearchResult.', chunks=[np.uint64(4803428075609241843)]), np.float64(0.006414178758859634))
- (TRelation(source='SEARCH_RESULTS', target='SCORE', description='score is part of SearchResult.', chunks=[np.uint64(4803428075609241843)]), np.float64(0.006414178758859634))
- (TRelation(source='TOP_DOCS', target='SEARCH_RESULTS', description='search_results is constructed from elements of top_docs.', chunks=[np.uint64(4803428075609241843)]), np.float64(0.006414178758859634))
- (TRelation(source='CREATE_SSE_MESSAGE', target='CHROMADB.CLIENT', description='is', chunks=[]), np.float64(0.006170290056616068))
- (TRelation(source='CREATE_SSE_MESSAGE', target='METADATA_SUMMARY', description='is', chunks=[]), np.float64(0.006170290056616068))
- (TRelation(source='CREATE_SSE_MESSAGE', target='ID', description='is', chunks=[]), np.float64(0.006170290056616068))
- (TRelation(source='CREATE_SSE_MESSAGE', target='TECHNICAL_INFO', description='is', chunks=[]), np.float64(0.006170290056616068))
- (TRelation(source='BAAI/BGE-M3', target='_GET_TITLE_FROM_PATH', description='is', chunks=[]), np.float64(0.006130410358309746))
- (TRelation(source='BAAI/BGE-M3', target='HTTPS://API.SILICONFLOW.CN/V1', description='The embeddings model is configured with the base URL.', chunks=[np.uint64(4020809177892211185)]), np.float64(0.006130410358309746))
- (TRelation(source='BAAI/BGE-M3', target='TITLE', description='is', chunks=[]), np.float64(0.006130410358309746))
- (TRelation(source='BAAI/BGE-M3', target="ROUTE_DATA['TITLE_PATH']", description='is', chunks=[]), np.float64(0.006130410358309746))
- (TRelation(source='UVICORN.RUN', target='YIELDS', description='uvicorn.run方法返回一个异步生成器以进行生成事件消息的处理.', chunks=[np.uint64(484696456006658743)]), np.float64(0.006058385130017996))
- (TRelation(source='YIELDS', target='FILE_PATH.PARENT', description='is', chunks=[]), np.float64(0.006058385130017996))
- (TRelation(source='QUERY', target='YIELDS', description='通过流式生成器,query作为其中一项参数', chunks=[np.uint64(484696456006658743)]), np.float64(0.006058385130017996))
- (TRelation(source='CONTEXT', target='GET_QUERY_PROMPT', description='get_query_prompt方法使用context作为输入变量之一', chunks=[np.uint64(7869851387977512123)]), np.float64(0.0058535258285701275))
- (TRelation(source='CONTEXT', target='LOGGING', description='is', chunks=[]), np.float64(0.0058535258285701275))
- (TRelation(source='CONTEXT', target='SELF.DB_MANAGER', description='is', chunks=[]), np.float64(0.0058535258285701275))
- (TRelation(source='CONTEXT', target='DISTANCE', description='is', chunks=[]), np.float64(0.0058535258285701275))
- (TRelation(source='CONTEXT', target='SELF.VECTOR_STORE', description='is', chunks=[]), np.float64(0.0058535258285701275))
- (TRelation(source='SSE', target='PATH_OBJ.PARENT', description='is', chunks=[]), np.float64(0.0057904343120753765))
- (TRelation(source='FILE_ROUTE_DATA', target='FILE_TECHNICAL_INFO', description='file_technical_info is updated with original_technical_info.', chunks=[np.uint64(17989244567396702808)]), np.float64(0.0057869781740009785))
- (TRelation(source='FILE_ROUTE_DATA', target='SELF', description='self uses file_route_data for creating the document.', chunks=[np.uint64(17989244567396702808)]), np.float64(0.0057869781740009785))
- (TRelation(source='FILE_ROUTE_DATA', target='FILE_TECHNICAL_INFO', description='file_technical_info is updated and stored in file_route_data.', chunks=[np.uint64(17989244567396702808)]), np.float64(0.0057869781740009785))
- (TRelation(source='TOTAL_TOKENS', target='FILE_ROUTE_DATA', description='is', chunks=[]), np.float64(0.0057869781740009785))
- (TRelation(source='FILE_ROUTE_DATA', target='ORIGINAL_TECHNICAL_INFO', description='original_technical_info is retrieved from file_route_data.', chunks=[np.uint64(17989244567396702808)]), np.float64(0.0057869781740009785))
- (TRelation(source='CODE_EXTENSIONS', target='FILES', description='判断文件是否属于代码文件的扩展名集合', chunks=[np.uint64(13109458912320306840)]), np.float64(0.005647049285471439))
- (TRelation(source='_GET_ALL_FILES_IN_DIR', target='FILES', description='将获取到的文件列表存储在files中', chunks=[np.uint64(13109458912320306840)]), np.float64(0.005647049285471439))
- (TRelation(source='APP', target='PATH_OBJ.PARENT', description='is', chunks=[]), np.float64(0.005476000253111124))
- (TRelation(source='APP', target='ALL_TITLES', description='is', chunks=[]), np.float64(0.005476000253111124))
- (TRelation(source='APP', target='COMPONENT_DIR', description='is', chunks=[]), np.float64(0.005476000253111124))
- (TRelation(source='DOCUMENTS', target='DOC', description='A document is an element of the documents state.', chunks=[np.uint64(4840953834456659245)]), np.float64(0.005344112869352102))
- (TRelation(source='DOCUMENTS', target='DOCUMENT', description='Document is appended to documents list.', chunks=[np.uint64(17989244567396702808)]), np.float64(0.005344112869352102))
- (TRelation(source='VIEW_COLLECTION', target='DOCUMENTS', description='The view_collection function returns all documents in the specified collection.', chunks=[np.uint64(4840953834456659245)]), np.float64(0.005344112869352102))
- (TRelation(source='FILTERED_DOCS', target='TOP_DOCS', description='top_docs is a subset of filtered_docs.', chunks=[np.uint64(4803428075609241843)]), np.float64(0.005134277045726776))
- (TRelation(source='SCORED_DOCS', target='FILTERED_DOCS', description='filtered_docs is a subset of scored_docs.', chunks=[np.uint64(4803428075609241843)]), np.float64(0.005134277045726776))
- (TRelation(source='SCORED_DOCS', target='FILTERED_DOCS', description='filtered_docs is used to filter scored_docs.', chunks=[np.uint64(4803428075609241843)]), np.float64(0.005134277045726776))
- (TRelation(source='FILTERED_DOCS', target='TOP_DOCS', description='top_docs is a subset of filtered_docs.', chunks=[np.uint64(4803428075609241843)]), np.float64(0.005134277045726776))
- (TRelation(source='SCORED_DOCS', target='FILTERED_DOCS', description='filtered_docs is used to filter scored_docs.', chunks=[np.uint64(4803428075609241843)]), np.float64(0.005134277045726776))
- (TRelation(source='SCORED_DOCS', target='FILTERED_DOCS', description='filtered_docs is a subset of scored_docs.', chunks=[np.uint64(4803428075609241843)]), np.float64(0.005134277045726776))
- (TRelation(source='_GENERATE_FILE_SUMMARY', target='SELF', description='self invokes _generate_file_summary to generate a summary.', chunks=[np.uint64(17989244567396702808)]), np.float64(0.005018346477299929))
- (TRelation(source='_GENERATE_FILE_SUMMARY', target='ROUTE_INFO', description='使用路由信息生成文件摘要', chunks=[np.uint64(13109458912320306840)]), np.float64(0.005018346477299929))
- (TRelation(source='_GENERATE_FILE_SUMMARY', target='CHAIN', description='使用LLMChain处理文件摘要生成', chunks=[np.uint64(13109458912320306840)]), np.float64(0.005018346477299929))
- (TRelation(source='_GENERATE_FILE_SUMMARY', target='RAW_OUTPUT', description='生成并记录原始LLM响应', chunks=[np.uint64(13109458912320306840)]), np.float64(0.005018346477299929))
相关文本块:
- (TChunk(id=np.uint64(2669658249275416839), content='"""使用自定义 LLM 和 Embedding 服务的 GraphRAG 示例"""from typing import Listimport osfrom pathlib import Pathimport instructorfrom dotenv import load_dotenvfrom fast_graphrag import GraphRAGfrom fast_graphrag._llm import OpenAIEmbeddingService, OpenAILLMService# 定义领域和查询示例DOMAIN = "分析这个系统的功能模块。关注各个模块之间的交互,页面路由结构,以及它们之间的关系。"QUERIES: List[str] = [ "系统的主要功能模块有哪些?", "各个页面之间是如何进行导航的?", "描述用户从登录到完成主要操作的流程。", "系统中的数据是如何流转的?", "权限管理是如何实现的?"]ENTITY_TYPES: List[str] = ["Module", "Page", "Function", "API", "Component", "State"]# 工作目录设置BASE_DIR = Path(__file__).parentworking_dir = BASE_DIR / "gm-rag"working_dir.mkdir(exist_ok=True)# API 配置API_CONFIG = { # 不要改动,就是 DASHSCOPE_API_KEY "llm": { # type: ignore "api_key": os.getenv("ZHIPU_API_KEY"), "model": "Qwen/Qwen2.5-7B-Instruct", "base_url": "https://api.siliconflow.cn/v1", }, "embeddings": { "api_key": os.getenv("ZHIPU_API_KEY"), "model": "BAAI/bge-m3", "base_url": "https://api.siliconflow.cn/v1", "embedding_dim": 1024, },}# 初始化 GraphRAGgrag = GraphRAG( working_dir=str(working_dir), domain=DOMAIN, example_queries="\\n".join(QUERIES), entity_types=ENTITY_TYPES, config=GraphRAG.Config( llm_service=OpenAILLMService( model=API_CONFIG["llm"]["model"], base_url=API_CONFIG["llm"]["base_url"], api_key=API_CONFIG["llm"]["api_key"], mode=instructor.Mode.JSON, client="openai" ), embedding_service=OpenAIEmbeddingService( model=API_CONFIG["embeddings"]["model"], base_url=API_CONFIG["embeddings"]["base_url"], api_key=API_CONFIG["embeddings"]["api_key"], client="openai", embedding_dim=API_CONFIG["embeddings"]["embedding_dim"], ), ),)def insert_files(directory: Path): """递归遍历目录并插入所有文件内容""" for item in directory.rglob("*"): if item.is_file() and item.suffix in [\'.js\', \'.vue\', \'.py\', \'.ts\', \'.json\']: try: with open(item, \'r\', encoding=\'utf-8\') as f: content = f.read() print(f"正在处理文件: {item.relative_to(BASE_DIR)}") grag.insert(content) except Exception as e: print(f"处理文件 {item} 时出错: {e}")def main(): """主函数""" load_dotenv() # 加载环境变量 # 指定要处理的目录 target_dir = BASE_DIR if target_dir.exists(): print(f"开始处理目录: {target_dir}") insert_files(target_dir) else: print(f"目录不存在: {target_dir}") # 测试查询 test_query = "描述系统的主要页面结构和导航逻辑" result = grag.query(test_query, with_references=True) print("\\n查询结果:") print(f"问题: {test_query}") print(f"回答: {result.response}") if hasattr(result, \'references\'): print("\\n参考资料:") for ref in result.references: print(f"- {ref}")if __name__ == "__main__": main()', metadata={}), np.float64(0.47134518157690763))
- (TChunk(id=np.uint64(17989244567396702808), content='.copy() original_technical_info = file_route_data.get("technical_info", {}) # 更新技术信息 file_technical_info = { **original_technical_info, "component_path": str(file_path), "file_name": file_path.name, "path": str(file_path.parent), "id": f"{original_technical_info.get(\'function_id\', \'\')}_{file_path.name}" } file_route_data["technical_info"] = file_technical_info # 记录文件信息 logger.info(f"文件技术信息: path={file_technical_info[\'path\']}, " f"component_path={file_technical_info[\'component_path\']}, " f"file_name={file_technical_info[\'file_name\']}") summary = await self._generate_file_summary(file_content, file_route_data) await asyncio.sleep(10) # 创建用于向量匹配的文本 embedding_text = self._generate_embedding_text( file_route_data, summary, file_path ) # 创建文档 doc = Document( page_content=embedding_text, metadata={ "route_info": file_route_data, "file_content": file_content, "summary": summary.model_dump(), "title_path": route_data["title_path"], "description": route_data.get("description", ""), "search_keywords": route_data.get("search_keywords", []), "technical_info": file_technical_info, "confidence": summary.confidence, "source": str(file_path) } ) documents.append(doc) logger.info(f"成功处理文件: {file_path}") except Exception as file_error: logger.error(f"处理文件 {file_path} 失败: {str(file_error)}") continue return documents except Exception as e: logger.error(f"分析路由失败: {str(e)}") return [] ', metadata={}), np.float64(0.27158786030486226))
- (TChunk(id=np.uint64(13932454043987402365), content='from fastapi import FastAPI, Requestfrom fastapi.responses import StreamingResponsefrom fastapi.templating import Jinja2Templatesfrom fastapi.staticfiles import StaticFilesfrom src.core.vector_store import VectorStorefrom src.utils.logger import Loggerfrom src.core.llm import LLMFactoryfrom src.core.prompt import PromptTemplatesimport jsonimport asynciofrom typing import AsyncGeneratorimport warnings# 忽略 PostHog 相关的警告warnings.filterwarnings("ignore", category=Warning, module="posthog")# 禁用 PostHogimport osos.environ["POSTHOG_DISABLED"] = "1"app = FastAPI()logger = Logger("Server")# 静态文件和模板配置app.mount("/static", StaticFiles(directory="static"), name="static")templates = Jinja2Templates(directory="templates")# 初始化组件vector_store = VectorStore()def create_sse_message(event: str, data: dict) -> str: """创建 SSE 消息""" return f"event: {event}\\ndata: {json.dumps(data)}\\n\\n"async def generate_sse_events(request: Request, query: str) -> AsyncGenerator[str, None]: """生成 SSE 事件流""" try: # 1. 发送初始状态 yield create_sse_message("status", {"message": "正在分析问题..."}) # 检查客户端连接 if await request.is_disconnected(): logger.error("客户端断开连接") return # 2. 搜索相关文档 search_response = await vector_store.search(query, top_k=3) if search_response.total_matches == 0: yield create_sse_message("error", {"message": "未找到相关信息"}) return # 3. 构建完整的上下文信息 contexts = [] total_tokens = 0 # 处理所有返回的文档 for idx, result in enumerate(search_response.results): metadata = result.metadata summary_dict = metadata.get("summary") if metadata else None if summary_dict: # 如果是字符串,尝试解析为字典 if isinstance(summary_dict, str): try: summary_dict = json.loads(summary_dict) except json.JSONDecodeError: logger.error("解析摘要信息失败") continue # 构建每个文档的上下文 context = f"""文档 {idx + 1} (相关度: {result.score:.2f}):路由信息:{metadata.get(\'title_path\', \'\')}功能描述:{metadata.get(\'description\', \'\')}业务逻辑:{summary_dict.get(\'business_logic\', \'\')}文件路径:{metadata.get(\'technical_info\', {}).get(\'component_path\', \'\')}主要功能:{\', \'.join(summary_dict.get(\'main_features\', []))}技术细节:{metadata.get(\'file_content\', \'\')}""" # 估算token数量(粗略估计:中文字符算2个token,其他字符算1个token) token_count = sum(2 if \'\\u4e00\' <= char <= \'\\u9fff\' else 1 for char in context) total_tokens += token_count contexts.append(context) logger.info(f"合并文档 {idx + 1}:{metadata.get(\'technical_info\', {}).', metadata={}), np.float64(0.1934499596245587))
- (TChunk(id=np.uint64(9122161254101765545), content='._generate_semantic_path(route["title_path"]) # 2. 提取关键信息 keywords = route.get("search_keywords", []) # 3. 构建增强文本 enhanced_text_parts = [ # 标题和路径信息 f"标题:{summary.title}", f"模块:{summary.module}", semantic_path, # 功能和业务逻辑 f"主要功能:{\', \'.join(summary.main_features)}", f"业务逻辑:{summary.business_logic}", # 技术细节 f"组件:{\', \'.join(summary.components)}" if summary.components else "", f"API接口:{\', \'.join(summary.api_endpoints)}" if summary.api_endpoints else "", f"依赖项:{\', \'.join(summary.dependencies)}" if summary.dependencies else "", # 搜索关键词 f"关键词:{\', \'.join(keywords)}" if keywords else "", # 技术路径 f"技术路径:{route[\'technical_info\'].get(\'component_path\', \'\')}", f"功能ID:{route[\'technical_info\'].get(\'function_id\', \'\')}", # 文件信息 f"文件路径:{self._process_path(str(file_path))}", f"文件类型:{file_path.suffix}" ] # 4. 合并文本,过滤空字符串 return "\\n".join(filter(None, enhanced_text_parts)) async def analyze_route(self, route_data: Dict[str, Any]) -> List[Document]: """分析路由并生成文档""" try: documents = [] # 获取组件路径 component_path = route_data.get("technical_info", {}).get("component_path") if not component_path: logger.error(f"路由 {route_data.get(\'title_path\')} 没有组件路径") return documents # 处理路径 component_path = self._process_path(component_path) main_file = Path(component_path) component_dir = main_file.parent # 记录主文件信息 logger.info(f"主组件文件: {main_file}") logger.info(f"组件目录: {component_dir}") # 获取目录下所有相关文件 all_files = self._get_all_files_in_dir(component_dir) logger.info(f"在目录 {component_dir} 下找到 {len(all_files)} 个文件") # 确保主文件在列表中 if main_file.exists() and main_file not in all_files: all_files.append(main_file) logger.info(f"添加主文件到处理列表: {main_file}") # 处理每个文件 for file_path in all_files: try: logger.info(f"开始处理文件: {file_path}") # 读取文件内容 file_content = self._get_file_content(str(file_path)) if not file_content: continue # 为每个文件生成结构化摘要 # 复制路由数据并更新技术信息 file_route_data = route_data.copy() original_technical_info = file_route_data.get("technical_info", {}) # 更新技术信息 file_technical_info = { **original_technical_info, "component_path": str(file_path), "file_name": file_path.name, "path": str(file_path.', metadata={}), np.float64(0.1810162290930748))
- (TChunk(id=np.uint64(484696456006658743), content='.get(\'file_content\', \'\')}""" # 估算token数量(粗略估计:中文字符算2个token,其他字符算1个token) token_count = sum(2 if \'\\u4e00\' <= char <= \'\\u9fff\' else 1 for char in context) total_tokens += token_count contexts.append(context) logger.info(f"合并文档 {idx + 1}:{metadata.get(\'technical_info\', {}).get(\'component_path\', \'未知文件路径\')}") if not contexts: yield create_sse_message("error", {"message": "未找到相关路由信息"}) return # 合并所有上下文 combined_context = "\\n\\n".join(contexts) logger.info(f"合并完成,共 {len(contexts)} 个文档,估算总token数:{total_tokens}") # 4. 使用 LLM 生成答案 llm = LLMFactory.get_default_model() llm.streaming = True # 5. 生成回答 messages = PromptTemplates.get_query_prompt().format_messages( context=combined_context, query=query ) # 6. 流式输出 async for chunk in llm.astream(messages): if await request.is_disconnected(): logger.error("客户端断开连接") return if chunk.content: yield create_sse_message("content", {"char": chunk.content}) # 7. 发送完成标记 yield create_sse_message("done", {}) except Exception as e: logger.error(f"处理查询失败: {str(e)}") yield create_sse_message("error", {"message": f"处理失败: {str(e)}"}) yield create_sse_message("done", {})@app.get("/")async def index(request: Request): """渲染主页""" return templates.TemplateResponse("index.html", {"request": request})@app.get("/stream")async def stream(request: Request, query: str): """处理 SSE 流式请求""" if not query: return {"error": "请提供问题"}, 400 return StreamingResponse( generate_sse_events(request, query), media_type="text/event-stream", headers={ "Cache-Control": "no-cache", "Connection": "keep-alive", } )if __name__ == "__main__": import uvicorn uvicorn.run(app, host="0.0.0.0", port=11145) ', metadata={}), np.float64(0.1326726316474378))
- (TChunk(id=np.uint64(4803428075609241843), content='.48] if not filtered_docs: filtered_docs = [scored_docs[0]] # 获取前 top_k 个文档 top_docs = filtered_docs[:top_k] # 构建搜索结果列表 search_results = [] for doc, score in top_docs: metadata = doc.metadata # 解析 technical_info 字段 if "technical_info" in metadata: try: tech_info = metadata["technical_info"] if isinstance(tech_info, str): import json tech_info = json.loads(tech_info) if isinstance(tech_info, dict): metadata["technical_info"] = tech_info except Exception as e: logger.error(f"解析 technical_info 失败: {str(e)}") metadata["technical_info"] = None # 解析 summary 字段 if "summary" in metadata: try: summary_data = metadata["summary"] if isinstance(summary_data, dict): metadata["summary"] = RouteSummary(**summary_data) except Exception as e: logger.error(f"解析摘要失败: {str(e)}") metadata["summary"] = None # 创建单个搜索结果 search_results.append(SearchResult( document_content=doc.page_content, metadata=metadata, score=score )) # 创建搜索响应 response = SearchResponse( total_matches=len(filtered_docs), results=search_results, query_time_ms=(perf_counter() - start_time) * 1000 ) # 获取所有匹配文件的路径 file_paths = [result.metadata.get(\'technical_info\', {}).get(\'component_path\', \'未知文件路径\') for result in search_results] logger.info( f"搜索完成,找到 {len(filtered_docs)} 个匹配结果," f"文件路径: {\', \'.join(file_paths)}," f"耗时: {response.query_time_ms:.2f}ms" ) return response except Exception as e: logger.error(f"搜索失败: {str(e)}") return SearchResponse( total_matches=0, results=[], query_time_ms=(perf_counter() - start_time) * 1000 ) ', metadata={}), np.float64(0.12971504777669907))
- (TChunk(id=np.uint64(1383599953349357853), content='.process_routes(route) break logger.info(f"原始路由数量: {len(self.routes)}") # 过滤路由 original_routes = self.routes filtered_routes = [] for route in original_routes: component_path = route.technical_info.get(\'component_path\', \'\') # 跳过条件: # 1. 没有组件路径 # 2. 组件路径不包含 \'gmclient/src/views\' if not component_path or \'gmclient/src/views\' not in component_path: logger.info(f"过滤掉路由: {route.title_path} (组件路径: {component_path})") continue filtered_routes.append(route) # logger.info(f"保留路由: {route.title_path} (组件路径: {component_path})") # 更新实例的路由列表 self.routes = filtered_routes logger.info(f"过滤后路由数量: {len(filtered_routes)}") return filtered_routes except Exception as e: logger.error(f"处理路由文件失败: {str(e)}") return [] def export_json(self, output_file: str) -> None: """将路由信息导出为JSON文件 Args: output_file: 输出文件路径 """ try: data = [ { "title_path": route.title_path, "search_keywords": route.search_keywords, "description": route.description, "technical_info": route.technical_info, "embedding_text": route.embedding_text } for route in self.routes ] with open(output_file, \'w\', encoding=\'utf-8\') as f: json.dump(data, f, ensure_ascii=False, indent=2) logger.info(f"成功导出路由信息到文件: {output_file}") except Exception as e: logger.error(f"导出JSON文件失败: {str(e)}") def process_route_node(self, node: ASTNode, parent_titles: List[str]) -> Optional[RouteInfo]: """处理单个路由节点 Args: node: AST节点 parent_titles: 父级标题列表 Returns: Optional[RouteInfo]: 路由信息对象,如果节点无效则返回None """ try: # 1. 提取meta信息 meta_info = self.extract_meta_info(node) if not meta_info: return None # 2. 提取组件路径 component_path = self.extract_component_path(node) if not component_path: return None # 3. 从组件路径计算目录路径和文件名 # 标准化组件路径 component_path = self.normalize_component_path(component_path) # 处理路径和文件名 path_obj = Path(component_path) if not path_obj.suffix: path_obj = path_obj.with_suffix(\'.vue\') # 获取规范化的路径信息 file_name = path_obj.name path = str(path_obj.parent) full_component_path = str(path_obj) if not path: return None # 4.', metadata={}), np.float64(0.125971594825387))
- (TChunk(id=np.uint64(2280252275968897785), content='import loggingfrom datetime import datetimefrom pathlib import Pathimport sysclass Logger: def __init__(self, name: str): self.logger = logging.getLogger(name) self.logger.setLevel(logging.INFO) # 创建日志目录 log_dir = Path("logs") log_dir.mkdir(exist_ok=True) # 按天创建日志文件 today = datetime.now().strftime("%Y-%m-%d") log_file = log_dir / f"{today}.log" # 文件处理器 file_handler = logging.FileHandler(log_file, encoding=\'utf-8\') file_handler.setLevel(logging.INFO) # 控制台处理器 console_handler = logging.StreamHandler(sys.stdout) console_handler.setLevel(logging.INFO) # 格式化器 formatter = logging.Formatter( \'%(asctime)s - %(name)s - %(levelname)s - %(message)s\' ) file_handler.setFormatter(formatter) console_handler.setFormatter(formatter) self.logger.addHandler(file_handler) self.logger.addHandler(console_handler) def info(self, msg: str): self.logger.info(msg) def error(self, msg: str): self.logger.error(msg) ', metadata={}), np.float64(0.10906191915273666))