feat: LangGraph工作流核心 — Agent状态/节点/图 + 验证服务 + 知识库
agent/ state.py: AgentState TypedDict(20字段含意图/压缩/会话/撤销) nodes.py: 17个节点函数(生成/修改/验证/纠错/意图分类/压缩/撤销/重置) graph.py: 17节点状态图,8意图路由分发 验证服务 validation_service/ main.py: FastAPI服务,lxml XSD验证 + 结构化检查(字段引用/SQL/尺寸) 数据 data/ sample_templates/: 4个JRXML示例模板 corrections/: 3个错误修正案例 脚本 scripts/ init_kb.py: Chroma知识库初始化
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd"
|
||||
name="InventoryList" pageWidth="595" pageHeight="842" columnWidth="555"
|
||||
leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
|
||||
<queryString>
|
||||
<![CDATA[SELECT item_code, item_name, category, quantity, unit_price FROM inventory ORDER BY category, item_name]]>
|
||||
</queryString>
|
||||
<field name="item_code" class="java.lang.String"/>
|
||||
<field name="item_name" class="java.lang.String"/>
|
||||
<field name="category" class="java.lang.String"/>
|
||||
<field name="quantity" class="java.lang.Integer"/>
|
||||
<field name="unit_price" class="java.math.BigDecimal"/>
|
||||
<title>
|
||||
<band height="50">
|
||||
<staticText>
|
||||
<reportElement x="0" y="10" width="555" height="30"/>
|
||||
<textElement textAlignment="Center">
|
||||
<font size="16" isBold="true"/>
|
||||
</textElement>
|
||||
<text><![CDATA[Inventory List]]></text>
|
||||
</staticText>
|
||||
</band>
|
||||
</title>
|
||||
<columnHeader>
|
||||
<band height="25">
|
||||
<staticText>
|
||||
<reportElement x="0" y="0" width="100" height="20"/>
|
||||
<textElement><font isBold="true"/></textElement>
|
||||
<text><![CDATA[Code]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="110" y="0" width="180" height="20"/>
|
||||
<textElement><font isBold="true"/></textElement>
|
||||
<text><![CDATA[Item Name]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="300" y="0" width="100" height="20"/>
|
||||
<textElement><font isBold="true"/></textElement>
|
||||
<text><![CDATA[Category]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="410" y="0" width="70" height="20"/>
|
||||
<textElement><font isBold="true"/></textElement>
|
||||
<text><![CDATA[Qty]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="485" y="0" width="70" height="20"/>
|
||||
<textElement><font isBold="true"/></textElement>
|
||||
<text><![CDATA[Price]]></text>
|
||||
</staticText>
|
||||
</band>
|
||||
</columnHeader>
|
||||
<detail>
|
||||
<band height="20">
|
||||
<textField>
|
||||
<reportElement x="0" y="0" width="100" height="20"/>
|
||||
<textFieldExpression><![CDATA[$F{item_code}]]></textFieldExpression>
|
||||
</textField>
|
||||
<textField>
|
||||
<reportElement x="110" y="0" width="180" height="20"/>
|
||||
<textFieldExpression><![CDATA[$F{item_name}]]></textFieldExpression>
|
||||
</textField>
|
||||
<textField>
|
||||
<reportElement x="300" y="0" width="100" height="20"/>
|
||||
<textFieldExpression><![CDATA[$F{category}]]></textFieldExpression>
|
||||
</textField>
|
||||
<textField>
|
||||
<reportElement x="410" y="0" width="70" height="20"/>
|
||||
<textFieldExpression><![CDATA[$F{quantity}]]></textFieldExpression>
|
||||
</textField>
|
||||
<textField>
|
||||
<reportElement x="485" y="0" width="70" height="20"/>
|
||||
<textFieldExpression><![CDATA[$F{unit_price}]]></textFieldExpression>
|
||||
</textField>
|
||||
</band>
|
||||
</detail>
|
||||
</jasperReport>
|
||||
Reference in New Issue
Block a user