2026/4/6 17:53:48
网站建设
项目流程
Dify工作流中实现查询优化QO将查询复杂度分类法与QOL框架融入工作流假设用户输入的问题是“请帮我整理2026年1月1日至今在GitHub上发布的金融商业行业开源项目”为了整理2026年1月1日至今在GitHub上发布的金融商业行业开源项目Dify工作流应设计为一个多阶段检索与筛选系统结合GitHub API与智能过滤机制确保获取到准确、相关且最新的项目信息。以下是详细的工作流设计一、核心工作流设计1. 参数提取与时间范围确认节点功能明确用户需求中的关键参数实现-type:llmname:parameter_extractorprompt:|请从用户问题中提取以下关键参数 - 时间范围起始日期为2026-01-01结束日期为当前日期 - 行业领域金融商业 - 排序方式按热度stars和时间双重维度用户问题{{input}}请以JSON格式返回结果{start_date:2026-01-01,end_date:{{current_date}},industry_keywords:[finance,financial,banking,trading,stock,investment],sort_criteria:[stars,created_at]}response_mode:blocking2. GitHub API检索节点功能调用GitHub API获取符合条件的项目实现-type:http_requestname:github_api_callconfig:url:https://api.github.com/search/repositories?qcreated:{{parameter_extractor.output.start_date}}language:PythonorTypeScriptorJavaScriptsortstarsorderdescper_page100method:GETheaders:Authorization:Bearer {{github_token}}response_mode:blocking3. 金融领域过滤节点功能从API返回结果中筛选真正属于金融商业领域的项目实现-type:llmname:finance_filterprompt:|请判断以下GitHub项目是否属于金融商业行业项目名称{{repo.name}}项目描述{{repo.description}}项目标签{{repo.topics}}判断标准-项目是否涉及金融数据分析、交易、投资、银行、保险等领域-项目是否提供金融工具、API或解决方案-项目是否被明确标记为金融相关 请以JSON格式返回判断结果{is_finance:true/false,reason:判断理由,confidence_score:0-100}response_mode:blockinginput:repo:{{github_api_call.output.items}}4. 时效性验证节点功能确保项目确实在指定时间范围内创建实现-type:pythonname:date_validatorcode:|import json from datetime import datetimedata json.loads(input()) valid_projects []for project in data:created_at datetime.fromisoformat(project[created_at].replace(Z,00:00)) start_date datetime(2026,1,1) current_date datetime.now()if start_date created_at current_date:valid_projects.append(project) print(json.dumps(valid_projects))input:{{github_api_call.output.items}}5. 结果排序与聚合节点功能对筛选后的项目进行排序和聚合实现-type:pythonname:result_sortercode:|import json data json.loads(input())# 按stars和创建时间双重排序sorted_data sorted(data,keylambda x:(x[stargazers_count],x[created_at]),reverseTrue)# 聚合结果result {total_projects:len(sorted_data),top_10:sorted_data[:10],by_month:{}# 按月份分组}# 按月份分组for project in sorted_data:month project[created_at][0:7]if month not in result[by_month]:result[by_month][month][]result[by_month][month].append(project) print(json.dumps(result))input:{{date_validator.output}}6. 结果格式化与输出节点功能生成用户友好的最终输出实现-type:llmname:result_formatterprompt:|请根据以下数据生成一份结构清晰、内容丰富的GitHub金融开源项目报告项目总数{{result_sorter.output.total_projects}}按月份分布{{result_sorter.output.by_month}}热门项目{{result_sorter.output.top_10}}报告要求 1. 总结2026年1月至今金融开源项目的整体趋势 2. 按月展示项目发布情况 3. 详细介绍Top 5项目名称、描述、特点、适用场景 4. 分析这些项目的技术栈和创新点 5. 提供项目链接和实用建议 请用中文撰写保持专业性和可读性使用Markdown格式。response_mode:blockinginput:{{result_sorter.output}}二、关键优化点1. 多维度检索策略时间维度使用created:2026-01-01精确筛选时间范围领域维度结合关键词搜索finance、trading等和LLM语义理解技术维度优先关注Python/TypeScript项目金融领域主流技术栈2. 证据质量评估机制置信度评分为每个项目的分类结果添加置信度评分人工验证接口对低置信度项目提供人工复核选项结果溯源记录每个项目被筛选的详细理由3. 动态调整策略反馈闭环用户可标记结果准确性系统自动调整过滤规则参数优化根据检索结果数量动态调整API查询参数缓存机制对高频查询结果进行缓存减少API调用三、预期输出结构1. 整体趋势概览项目总数、月度分布、技术栈分布关键趋势如AI金融融合趋势、本地化部署需求增长等2. 月度项目分析按月展示项目数量和特点重点分析1月和2月的金融开源项目爆发式增长现象3. Top 5项目详解dexter自主金融研究智能代理支持实时市场数据分析OpenBB金融数据平台支持全品类金融分析ai-hedge-fundAI对冲基金项目提供策略制定与风险评估工具ZhuLinsen/daily_stock_analysisLLM驱动的智能分析器支持多数据源行情TradingAgents多智能体LLM金融交易框架模拟专业交易公司运作4. 技术洞察与建议技术栈分析Python主导80%TypeScript次之创新点AI Agent架构、多数据源整合、本地化部署实用建议适合个人投资者的轻量级工具推荐四、潜在方案1. GitHub API限制问题问题GitHub REST API有5000次/小时的调用限制解决方案使用分页技术合理控制per_page参数实现缓存机制避免重复查询优先使用GraphQL API减少请求次数2. 项目分类准确性问题问题自动化分类可能产生误判解决方案采用双层过滤机制先用关键词筛选再用LLM精筛设置置信度阈值低于阈值的项目进行人工复核3. 时效性问题问题GitHub Trending没有官方API数据可能滞后解决方案结合多个数据源如GitHub Search API、第三方趋势服务使用Webhook实时监控新项目通过以上工作流设计能够系统性地收集、筛选和整理2026年1月1日至今的GitHub金融商业开源项目为用户提供准确、全面、有价值的行业洞察。当然作为普通用户来讲在进行联网检索多数调用的为第三方api接口有一定局限性存在那么最好的方式依旧是通过相关理论对用户输入的问题进行拆解以及多重组合的多问题生成前提进行检索。