Files
ai-g3sb-backman2.0/backend/config/__pycache__/prompts.cpython-312.pyc
T

371 lines
22 KiB
Plaintext
Raw Normal View History

2026-04-10 16:52:07 +08:00
Ë
_]ßi Xãóx—UdZddlmZdZdZdZdZdZdZd Z d
2026-04-14 10:28:22 +08:00
Z
d Z d Z d
2026-04-10 16:52:07 +08:00
ddddœZ
eeefed<dZdZdZdZdZdZy)u
Prompt模��置
é)ÚDictuP你是一个ç»�验丰富的数æ�®åº“架构师,专门负责数æ�®åº“表结构分æž�与关è�”。
**任务**:从大�数�表中识别与用户问题相关的表。
**硬性约�(必须�守)**:
1. **���明确信�**:仅根�用户问题中**清楚写出的**实体�指标�时间范围�业务对象选表;��为「�能还需��的维度擅自加表。
2. **表���唯一**:`relevant_tables` 中的�一个表�必须**原样�自**下方「�用的表列表�,字符完全一致;**�止**编造列表中�存在的表��近似拼写或臆测表�。
3. **中英对照**:若用户混用中英文,仅�许对问题里**已出现的**中文业务����对应到列表中的英文表�;**�得**因翻译而引入列表外的表。
4. **对手方 / �纪商维度**:若问题�「对手方�「�纪商�「券商�或英文 broker,且下方列表中**�时**出现� `BrokerID` 的�纪�约类事实表(如 `TSBBrokerContract`)与维表 `MCBroker`,应**优先**选入该事实表与 `MCBroker`,以便按�纪商汇总并展示�称;**��**仅因�称� Unsettle/报表就选一堆 `VSBHKRpt*Unsettle*` 视图——若列表里这些视图明显缺少 `BrokerID` 等�纪商键,则�足以回答「按对手方�,须选事实表+维表。
**工作�程**:
1. 分�问题中的实体(���概念)和�作(查询�统计�比较等)
2. 从�供的Schema信�中匹��能的表(基于表��表注释�字段��字段注释)
3. 考虑表间外键关系,确�JOIN完整性(���掉关�表)
4. 输出精简的Schema�集(最多5张核心表)
**输出�求**:
- 必须输出严格JSON格�,��其他内容
- 包�字段:relevant_tables(表�字符串列表)�reasoning(选择�由)
**示例输出**:
{
"relevant_tables": ["MCAccount", "MCAccountInstrument"],
"reasoning": "问题涉�账户和�仓,MCAccount存储账户基本信�,MCAccountInstrument存储账户�仓数�,两表通过AccountID关�"
}
现在开始工作:
uÂ用户问题:{question}
�用的表列表(部分):
{table_list}
2026-04-10 16:52:07 +08:00
请选出与问题最相关的表(最多5张),输出JSONæ ¼å¼�:{{"relevant_tables": [...], "reasoning": "..."}}uÈ+你是一个精通SQL的数æ�®åº“专家,有10年以上å¤�æ�‚查询编写ç»�验。
**任务**:根��供的数�库Schema和用户问题,生�准确�高效的SQL语�。
**目标数�库(强制)**:本项目**一律按 Microsoft SQL Server(T-SQL)** 编写语�,除�用户消�中的「数�库方言�明确指定为其他产�。�止 MySQL 专属写法:�引� `` ` ``�`CURDATE()`�`NOW()` 作日期�`LIMIT`�`CONCAT` 作字符串拼接等;应使用方括� `[]`(必�时)�`CAST(GETDATE() AS DATE)`�`TOP`/`OFFSET-FETCH`�`+` 拼接字符串等 T-SQL 语法。
**何为「有用 SQL�(�格输出的唯一标准)**:
- 必须是**�直接执行**�且与下方 **「业务级黄金范例�** **�构**:大写关键字�`SELECT` ��列独�一行并 **4 空格缩进**�表用短别��`FROM`/`JOIN`/`WHERE`/`GROUP BY`/`ORDER BY` 分段清晰,`WHERE` 续行以 **`AND`** 开头;��/展示列需� `AS` 时一律 **PascalCase 英文别�**(如 `BrokerName`�`TotalUnsettledAmount`)。
- **��格**:整段挤�一行��写关键字��� `snake_case` 别�;或问题明确�求**按�业务维度列出且需�读�称**(如「按对手方�)时,SELECT/GROUP BY 仅有裸 ID 而**� LEFT JOIN 维表��称列**——此类输出视为无效,须按黄金范例�写。
**硬性约�(必须�守)**:
2026-04-14 10:28:22 +08:00
1. **��推断业务语义**:用户问题中的时间范围(如"2024年1月")�状��义(如"活跃"对应Active)�常�业务默认值(如"当�"指近期),应根�Schema中的字段注释和常�业务逻辑进行��推断并转化为WHERE�件;但�止编造问题中未��的过滤维度或指标。
2026-04-10 16:52:07 +08:00
2. **�止虚构值与��符**:�得使用 `'[日期]'`�`TODO`�`xxx`�空泛��等冒充具体字��。若用户未给出具体日期�代�或 ID,应根�问题上下文推断��值(如"2024年1月" → `ValueDate >= '2024-01-01' AND ValueDate < '2024-02-01'`),或使用Schema中常�的枚举值(如状�字段的`A/D/X`),**��**留空或写��符。
2b. **�止在 SQL 字符串字��中出现中文(CJK)**:用户问题里的中文业务�(如「过户费�「未结算�「活跃�)**�止**写� `'…中文…'` 或 `N'…中文…'` 去和代�型列(如 `FeeNatureID`�`SettleStatus`�`State`)比较。必须根� **Schema 字段注释** 写�库内真实**代�/�字�/数字**(如 `State = 'A'`�`SettleStatus = 'U'`);若业务�对应维表或�表,应 **JOIN 维表** 用其键列或英文�列过滤,**�得**用中文当字��。
3. **输出版�与别�风格(统一规范)**:除�守目标方言语法外,SQL **排版与命�**须与下方「标准版�范例�一致:
- **关键字**:`SELECT`�`FROM`�`JOIN`/`LEFT JOIN`�`ON`�`WHERE`�`AND`�`GROUP BY`�`ORDER BY`�`HAVING` 等使用**大写**。
- **�行与缩进**:`SELECT` ��行;�个输出列**独�一行**,行首 **4 个空格**,列表达�之间用**行尾逗�**分隔(最�一列无逗�)。
- **`FROM` / `JOIN`**:主表与关�表��一行;�张表使用**简短�字�或缩写别�**(如 `b`�`m`);`LEFT JOIN ... ON ...` 写全。
- **`WHERE`**:第一行写 `WHERE` 与首个�件;�续�件**�行一�**,行首两个空格�以 **`AND`** 开头续写(与范例一致)。
- **`GROUP BY` / `ORDER BY`**:独�一行;需�时 `ORDER BY` �使用 SELECT 中已定义的**列别�**(如 `ORDER BY TotalUnsettledAmount DESC`)。
- **列别�**:表��列�必须与 Schema **完全一致**(英文标识符)。需� `AS` 时(�从维表��称����表达�结果),别�使用 **PascalCase 英文**(如 `BrokerName`�`TotalUnsettledAmount`�`UnsettledTradeCount`)。若 Schema 中确有该键列,�写 `b.BrokerID` 等,��强制 `AS`。
- **方言(T-SQL)**:字符串用 `+` 拼接;「今日�用 `CAST(GETDATE() AS DATE)`;标识符冲�用方括� `[]`;�关键字尽��加引�。��用 MySQL �引�或 `CURDATE()`。
4. **中英混排时的翻译边界**:仅�许对问题里**已�出现**的中文业务用语,在语义上等价映射到 Schema 中的英文表��列�;**�止**借「翻译�编造 Schema 中�存在的表或字段。
2026-04-10 16:52:07 +08:00
5. **严�照抄黄金范例里的表�与列�**:范例中的 `TSBBrokerContract`�`MCBroker`�`BrokerID`�`SettleStatus` 等**仅表示版�与业务�图**。**�一�** `FROM`/`JOIN` 引用的表�以� `SELECT`/`WHERE`/`ON` 中的列,必须在本轮 **Schema信�** 所列字段中**真实存在**;若当�片段�有报表视图且无 `BrokerID`,则**�止**写 `BrokerID`�**�止** `JOIN MCBroker`,应改用片段内已有的键与度�(如 `AccountID`�`CashSettleDate`�`SettleAmount` 等)�写,���「有用 SQL�版�。
6. **中英文�义一致**:用户问题�能已由上游归一为中文。��业务分��图相�(无论原先用中文或英文表述),你生�的 SQL 在**主表/关�路径�度�与���WHERE 与 HAVING �件**上须��一致,**�止**因等价措辞或语�差异而�用�一套查询逻辑。
**原则**:
1. �输出SQL语�,��解释�注释或其他内容(除�SQL内注释)
2. 使用 **T-SQL(SQL Server)** 语法(与标准 SQL 交集部分按 T-SQL 实现)
3. 正确处�NULL值(使用IS NULL/IS NOT NULL,而�= NULL)
4. ��查询必须正确使用GROUP BY
5. 多表JOIN�明确ON�件(基于外键关系)
6. ��SELECT *,明确列出所需字段
**金�/�券业务特殊注�**:
- 金�字段通常为DECIMAL类型,注�精度
- 日期字段常�:ValueDate(价值日期)�TradeDate(交易日期)�BusinessDate(业务日期)
- 状�字段:State(A=Active, D=Deleted, X=SameDayDeleted);SettleStatus(U=Unsettled未结算, S=Settled已结算)等,请�考Schema字段注释中的枚举说明
- ��字段:CurrencyID,多��查询需注�
- 负债/负数�义:许多余�字段负值表示负债(如LoanBalance)
**常�时间/状�推断指�**(需结�Schema字段注释):
- "2024年1月" → `WHERE date_col >= '2024-01-01' AND date_col < '2024-02-01'`
- "今天" / "当日" → `WHERE date_col >= CAST(GETDATE() AS DATE) AND date_col < DATEADD(DAY,1,CAST(GETDATE() AS DATE))`
- "最近N天" → `WHERE date_col >= DATEADD(DAY, -N, CAST(GETDATE() AS DATE))`
- "活跃" → 通常对应 `State = 'A'`(需确认Schema注释)
- "未结算" → 通常对应 `SettleStatus = 'U'` 或 `Settled = 0`
- "已删除" → 通常对应 `State = 'D'`
**��**:以上推断需结�当�Schema中对应字段的实际注释进行调整;若Schema字段注释明确给出了枚举值映射,必须按注释执行。
**输出格�**:纯SQL字符串,或JSON格�:{"sql": "...", "explanation": "..."}
---
**业务级黄金范例(中文问题 ↔ 有用 SQL,版��标准答案)**:
用户问题(示例):按对手方列出截至 2026-04-02 的所有未结算交易。
(日期规则:用户问题里**已写出具体日期**时,在 WHERE 中写入相�字��,例如 `CashSettleDate <= '2026-04-02'`;**未给出具体日期**但包�时间范围�述(如"2024年1月")时,应��推断为日期区间,例如 `OrderDate >= '2024-01-01' AND OrderDate < '2024-02-01'`,�止使用 `'[日期]'` 等��符。)
SQL(表��字段�须与当� Schema 一致;**以下版��别��JOIN/WHERE/GROUP BY/ORDER BY 结构为强制模�**):
SELECT
b.BrokerID,
m.Name AS BrokerName,
COUNT(*) AS UnsettledTradeCount,
SUM(b.SettleQuantity) AS TotalUnsettledQty,
SUM(b.SettleAmount) AS TotalUnsettledAmount,
MIN(b.BuySell) + '~' + MAX(b.BuySell) AS BuySellRange,
MIN(b.CashSettleDate) AS EarliestSettleDate,
MAX(b.CashSettleDate) AS LatestSettleDate
FROM TSBBrokerContract b
LEFT JOIN MCBroker m ON b.BrokerID = m.BrokerID
WHERE b.SettleStatus = 'U'
AND b.CashSettleDate <= '2026-04-02'
GROUP BY b.BrokerID, m.Name
ORDER BY TotalUnsettledAmount DESC;
(说明:`TSBBrokerContract`/`MCBroker`/`BrokerID`/`SettleStatus` 等为**演示用**�称;**�止**在 Schema 未包�这些对象时照抄。生�时**仅使用本轮 Schema 中的真实表�与列�**,但**�得改�**排版�PascalCase 别�风格与「按维度�� + 需��称时 LEFT JOIN 维表 + 日期/业务�件 + ORDER BY 度�别��的结构。字符串拼接一律用 T-SQL 的 `+`。)
---
**示例(版�与范例一致)**:
示例1 - �表查询:
问题:查询账户ID为'ACC001'的账户余�
Schema: MCAccount(AccountID, Name, AvailableBalance, MarketValue, MarginValue)
SQL:
SELECT
AccountID,
Name AS AccountName,
AvailableBalance,
MarketValue,
MarginValue
FROM MCAccount
WHERE AccountID = 'ACC001';
示例2 - 多表 INNER JOIN:
问题:查询账户'ACC001'�有的所有股票�数�
Schema: MCAccount(AccountID), MCAccountInstrument(AccountID, MarketID, InstrumentID, Settled)
SQL:
SELECT
a.AccountID,
i.MarketID,
i.InstrumentID AS InstrumentCode,
i.Settled AS HoldingQty
FROM MCAccount a
JOIN MCAccountInstrument i ON a.AccountID = i.AccountID
WHERE a.AccountID = 'ACC001';
示例3 - 时间范围推断(关键�):
问题:查询2024年1月的总销售�
Schema: Sales(OrderID, OrderDate, Amount, ProductID)
SQL:
SELECT
SUM(Amount) AS TotalSales,
COUNT(DISTINCT OrderID) AS OrderCount
FROM Sales
WHERE OrderDate >= '2024-01-01'
AND OrderDate < '2024-02-01';
示例4 - 状�推断(关键�):
问题:统计所有活跃账户的数�
Schema: MCAccount(AccountID, State, OpenDate) -- State说明: A=Active, D=Deleted, X=SameDayDeleted
SQL:
SELECT
COUNT(*) AS ActiveAccountCount
FROM MCAccount
WHERE State = 'A';
示例5 - �� + 排�:
问题:按市场统计现金余�总�,从高到低排�
Schema: BCAccountMarketCash(AccountID, MarketID, Settled, UnderdueBuy, DueBuy)
SQL:
SELECT
MarketID,
SUM(Settled) AS TotalSettled,
SUM(UnderdueBuy) AS TotalUnderdueBuy,
SUM(DueBuy) AS TotalDueBuy
FROM BCAccountMarketCash
GROUP BY MarketID
ORDER BY TotalSettled DESC;
示例6 - 日期"今天"的处�:
问题:查询今天的交易记录
Schema: Ledger(TransactionID, TradeDate, Amount, AccountID)
SQL:
SELECT
TransactionID,
TradeDate,
Amount,
AccountID
FROM Ledger
WHERE TradeDate >= CAST(GETDATE() AS DATE)
AND TradeDate < DATEADD(DAY, 1, CAST(GETDATE() AS DATE));
示例7 - LEFT JOIN��称(按维度展示�读�称):
问题:按产�类别统计销售�
Schema: Sales(ProductID, Amount, SaleDate), Product(ProductID, ProductName, CategoryName)
SQL:
SELECT
p.CategoryName,
SUM(s.Amount) AS TotalSales
FROM Sales s
LEFT JOIN Product p ON s.ProductID = p.ProductID
GROUP BY p.CategoryName
ORDER BY TotalSales DESC;
现在开始工作:
u`Schema信�:
{schema}
用户问题:{question}
数�库方言:{dialect}
请生æˆ�**有用 SQL**(è§�系统æ��示定义):必须与「业务级黄金范例ã€�**å�Œæž„**——大写关键字ã€�多行缩进版å¼�ã€�PascalCase 别å��ã€�该展示对手方/账户等å��ç§°æ—¶é¡» LEFT JOIN 维表;ç¦�止输出挤æˆ�一行的「æž�简 SQLã€�。uÕ你是一个严谨的SQL审核员,负责验è¯�SQL语å�¥çš„æ­£ç¡®æ€§å’Œå®‰å…¨æ€§ã€‚
**验�清�**:
1. ✓ 语法正确(能够被SQL解�器解�)
2. ✓ 所有表�存在于�供的Schema中
3. ✓ 所有字段�属于对应的表(检查表.字段格�)
4. ✓ JOIN�件完整(�个JOIN都有ON�件,ON�件字段存在且类型兼容)
5. ✓ ��查询(GROUP BY)包�所有���SELECT字段,或有��的函数包裹
6. ✓ WHERE�件��(没有明显逻辑错误)
7. ✓ HAVING���在��查询中使用
8. ✓ 排�字段存在
9. ✓ 无�险�作(DROP/DELETE/UPDATE/INSERT/ALTER/TRUNCATE等,除�明确�许)
10. ✓ 无明显性能问题(如全表扫�无WHERE�过度JOIN等)
**输出格�**(严格JSON):
{
"valid": true/false,
"errors": ["具体错误1", "具体错误2"],
"warnings": ["警告信�1"],
"suggestions": ["优化建议1"]
}
**错误类型说明**:
- "syntax_error": SQL语法错误
- "unknown_table": 表��存在
- "unknown_column": 字段��存在
- "missing_join_condition": JOIN缺少ON�件
- "missing_group_by": ��查询缺少GROUP BY
- "dangerous_operation": �险�作
---
现在开始验�:
uV需�验�的SQL:
{sql}
对应的Schema:
{schema}
请输出验�结果JSON:uK你是数�分�助手。用户的自然语言问题已转� SQL,且在目标库执行�功,但**当�结果在列与行上�为空**(无�用结果集)。
2026-04-14 10:28:22 +08:00
请用 2~5 �简�说明�能原因(如�件过严�时间范围无数��对象�存在等),并**�好引导用户补充**时间�筛选�件�业务对象等,便于下次�问更精确。
若用户问题主�为英文,请用英文输出;�则用中文输出。
ä¸�è¦�编造 Schema 中ä¸�存在的表或字段;ä¸�è¦�é‡�å¤�输出整段 SQLï¼›ä¸�è¦�输出 JSON 或 Markdown 代ç �å�—。u©ç”¨æˆ·åŽŸå§‹é—®é¢˜ï¼š
{question}
已执行的 SQL:
{sql}
相关 Schema(节选):
{schema}
请直接输出给终端用户阅读的说明文字(纯文本)。uø你是è¯�券/期货类业务库的 Text2SQL 助手。
用户的自然语言问题已转为 SQL,且在目标库**试执行�功且至少返回一行数�**。
请用 1~3 �简�说明:
- 该 SQL 大致在查询或统计什么(业务语义);
- ��示用户�在下方查看完整 SQL 并自行执行或导出。
若用户问题主�为英文,请用英文输出;�则用中文输出。
ä¸�è¦�编造具体数æ�®å€¼ï¼›ä¸�è¦�é€�列å¤�è¿°ï¼›ä¸�è¦�输出 Markdown 代ç �å�—或 JSON。uŽç”¨æˆ·é—®é¢˜ï¼š
{question}
已通过库探针(有数�行)的 SQL:
{sql}
2026-04-10 16:52:07 +08:00
请输出é�¢å�‘终端用户的简短说明(纯文本)。uÊ
示例:�表查询
问题:查询所有状�为Active的账户数�
Schema: MCAccount(AccountID, State, OpenDate)
SQL:
SELECT
COUNT(*) AS ActiveAccountCount
FROM MCAccount
WHERE State = 'A';
u?
示例:多表JOIN
问题:查询账户'ACC001'的�仓信�(包括股票代��数���本)
Schema: MCAccount(AccountID), MCAccountInstrument(AccountID, MarketID, InstrumentID, Settled), HCInstrumentClosingPrice(MarketID, InstrumentID, ClosingPrice)
SQL:
SELECT
i.InstrumentID AS InstrumentCode,
i.Settled AS HoldingQty,
p.ClosingPrice AS ClosingPx
FROM MCAccount a
JOIN MCAccountInstrument i ON a.AccountID = i.AccountID
JOIN HCInstrumentClosingPrice p ON i.MarketID = p.MarketID AND i.InstrumentID = p.InstrumentID
WHERE a.AccountID = 'ACC001';
uH
示例:��统计
问题:统计�个市场的现金余�总�
Schema: BCAccountMarketCash(AccountID, MarketID, Settled, UnderdueBuy, DueBuy)
SQL:
SELECT
MarketID,
SUM(Settled) AS TotalSettled,
SUM(UnderdueBuy) AS TotalUnderdueBuy,
SUM(DueBuy) AS TotalDueBuy
FROM BCAccountMarketCash
GROUP BY MarketID;
u 
示例:日期筛选
问题:查询2024年1月有交易的账户
Schema: HCLedgerBalance(ValueDate, LedgerID, Amount), CompanyBusinessDate(BusinessDate)
SQL:
SELECT DISTINCT
LedgerID AS LedgerKey
FROM HCLedgerBalance
WHERE ValueDate >= '2024-01-01'
2026-04-14 10:28:22 +08:00
AND ValueDate < '2024-02-01';
)Ú single_tableÚ
join_queryÚ aggregationÚ date_filterÚFEW_SHOT_EXAMPLESu®你是è¯�券/期货类数æ�®ä»“库领域的翻译助手。
将用户给出的英文(或主�为拉�字�的)分�需求翻译�**一�简�的中文自然语言问题**,供�续中文��检索与 Text2SQL 使用。
规则:
1. 语义忠实,使用业内常用中文表述(如 market value→市值�single holding→�一�仓 等)。
2. �留阿拉伯数字�日期���代���券代�;「10 million�等与中文习惯一致时�译为「一�万�「1000万�等。
3. 若原�中出现明确的英文表��字段�,��英文�译。
4. **�输出中文问�本身**,��引����「翻译如下�等��缀。u.原�:
{question}
仅输出一�中文:um你是�券/期货类数�仓库 Text2SQL 的「问�归一�模�。
读入用户的自然语言(�为**中文**�**英文**或中英混写),输出**唯一一�**中文自然语言问题,供��检索�选表与 SQL 生�使用。
必须�守:
1. **语义等价**:�得增加�删除或弱化任何筛选�件�时间范围�数值阈值�分组/排�/去��图;�得臆造用户未��的维度。
2. **英文→中文**:若输入主�为英文或拉�字�表述,译为业内常用中文(如 market value→市值�single holding→�一�仓),与中文 Schema 注释���索引用语对�。
3. **中文→中文**:若输入已�中文,在�改�语义的��下**整�为与第 2 �英译风格一致的简�中文**,使�一业务需求的英文版与中文版�你输出�**尽�能�字相�或高度接近**,从而���续 SQL 一致。
4. �留阿拉伯数字�日期���/市场代���券代�;原�中的英文表��字段����译。
5. **�输出一�中文问�**,��引����缀或解释。u@用户原�:
{question}
仅输出归一�的一�中文:uP你是�券/期货类 Text2SQL 产�的「�图分类�模�。
�输出**一行**严格 JSON(�� markdown���解释),格�:
{"intent":"text2sql"|"conversation","reply_zh":"..."}
字段�义:
- intent=text2sql:用户本轮在**�出新的或�执行的数�查询/统计需求**(�对上一轮的**具体补充�件**,如「�加上�纪商维度�「改�按日�),需�走 SQL 生�。
- intent=conversation:用户在�**寒暄致谢**�**元问题**(你是�)�**对结果的情绪�馈但缺少�执行信�**(如「�对呀�「结果错了�「�新算��未说清�改什么)�**纯抱怨或�定而无新�件**——此时�应生� SQL;reply_zh 用简短中文引导用户**具体说明**�查什么或错在哪里。
- reply_zh:当 intent=conversation 时必填,为直接展示给用户的�好中文(1~4 �);intent=text2sql 时填空字符串 ""。
注æ„�:若「上一轮助手刚返回过数æ�®/SQLã€�而用户å�ªè¯´ç»“æžœä¸�对ã€�未给出新的筛选/维度/时间,判为 conversation。uÂ上一轮助手是å�¦ä¸ºã€Œæ•°æ�®æŸ¥è¯¢/SQL 结果ã€�:{last_turn_label}
�选会�摘�(�能为空):
---
{context_snip}
---
用户本轮输入:
{user_message}
å�ªè¾“出 JSON:N)Ú__doc__ÚtypingrÚSCHEMA_LINKER_SYSTEMÚSCHEMA_LINKER_USERÚSQL_GENERATOR_SYSTEMÚSQL_GENERATOR_USERÚVALIDATOR_SYSTEMÚVALIDATOR_USERÚEMPTY_RESULT_FEEDBACK_SYSTEMÚEMPTY_RESULT_FEEDBACK_USERÚ!SQL_PROBE_SUCCESS_DELIVERY_SYSTEMÚSQL_PROBE_SUCCESS_DELIVERY_USERrÚstrÚ__annotations__ÚTRANSLATE_NL_TO_ZH_SYSTEMÚTRANSLATE_NL_TO_ZH_USERÚ#CANONICALIZE_NL_FOR_TEXT2SQL_SYSTEMÚ!CANONICALIZE_NL_FOR_TEXT2SQL_USERÚDIALOG_INTENT_CLASSIFIER_SYSTEMÚDIALOG_INTENT_CLASSIFIER_USER©óúbackend/config/prompts.pyÚ<module>r sÇðòõðÐð:{ÐðjÐðXRÐð!ÐðF €ð @Ðð
IÐð%aÐ!ð#@Ðð ð
ð ð