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 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package types
import (
"github.com/aws/aws-sdk-go-v2/service/bedrockagentruntime/document"
smithydocument "github.com/aws/smithy-go/document"
"time"
)
// Contains information about the action group being invoked. For more information
// about the possible structures, see the InvocationInput tab in [OrchestrationTrace]in the Amazon
// Bedrock User Guide.
//
// [OrchestrationTrace]: https://docs.aws.amazon.com/bedrock/latest/userguide/trace-orchestration.html
type ActionGroupInvocationInput struct {
// The name of the action group.
ActionGroupName *string
// The path to the API to call, based off the action group.
ApiPath *string
// How fulfillment of the action is handled. For more information, see [Handling fulfillment of the action].
//
// [Handling fulfillment of the action]: https://docs.aws.amazon.com/bedrock/latest/userguide/action-handle.html
ExecutionType ExecutionType
// The function in the action group to call.
Function *string
// The unique identifier of the invocation. Only returned if the executionType is
// RETURN_CONTROL .
InvocationId *string
// The parameters in the Lambda input event.
Parameters []Parameter
// The parameters in the request body for the Lambda input event.
RequestBody *RequestBody
// The API method being used, based off the action group.
Verb *string
noSmithyDocumentSerde
}
// Contains the JSON-formatted string returned by the API invoked by the action
// group.
type ActionGroupInvocationOutput struct {
// The JSON-formatted string returned by the API invoked by the action group.
Text *string
noSmithyDocumentSerde
}
// Contains information about the API operation that the agent predicts should be
// called.
//
// This data type is used in the following API operations:
//
// - In the returnControl field of the [InvokeAgent response]
//
// [InvokeAgent response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax
type ApiInvocationInput struct {
// The action group that the API operation belongs to.
//
// This member is required.
ActionGroup *string
// The path to the API operation.
ApiPath *string
// The HTTP method of the API operation.
HttpMethod *string
// The parameters to provide for the API request, as the agent elicited from the
// user.
Parameters []ApiParameter
// The request body to provide for the API request, as the agent elicited from the
// user.
RequestBody *ApiRequestBody
noSmithyDocumentSerde
}
// Information about a parameter to provide to the API request.
//
// This data type is used in the following API operations:
//
// [InvokeAgent response]
//
// [InvokeAgent response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax
type ApiParameter struct {
// The name of the parameter.
Name *string
// The data type for the parameter.
Type *string
// The value of the parameter.
Value *string
noSmithyDocumentSerde
}
// The request body to provide for the API request, as the agent elicited from the
// user.
//
// This data type is used in the following API operations:
//
// [InvokeAgent response]
//
// [InvokeAgent response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax
type ApiRequestBody struct {
// The content of the request body. The key of the object in this field is a media
// type defining the format of the request body.
Content map[string]PropertyParameters
noSmithyDocumentSerde
}
// Contains information about the API operation that was called from the action
// group and the response body that was returned.
//
// This data type is used in the following API operations:
//
// - In the returnControlInvocationResults of the [InvokeAgent request]
//
// [InvokeAgent request]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_RequestSyntax
type ApiResult struct {
// The action group that the API operation belongs to.
//
// This member is required.
ActionGroup *string
// The path to the API operation.
ApiPath *string
// The HTTP method for the API operation.
HttpMethod *string
// http status code from API execution response (for example: 200, 400, 500).
HttpStatusCode *int32
// The response body from the API operation. The key of the object is the content
// type (currently, only TEXT is supported). The response may be returned directly
// or from the Lambda function.
ResponseBody map[string]ContentBody
// Controls the final response state returned to end user when API/Function
// execution failed. When this state is FAILURE, the request would fail with
// dependency failure exception. When this state is REPROMPT, the API/function
// response will be sent to model for re-prompt
ResponseState ResponseState
noSmithyDocumentSerde
}
// Contains citations for a part of an agent response.
type Attribution struct {
// A list of citations and related information for a part of an agent response.
Citations []Citation
noSmithyDocumentSerde
}
// This property contains the document to chat with, along with its attributes.
type ByteContentDoc struct {
// The MIME type of the document contained in the wrapper object.
//
// This member is required.
ContentType *string
// The byte value of the file to upload, encoded as a Base-64 string.
//
// This member is required.
Data []byte
// The file name of the document contained in the wrapper object.
//
// This member is required.
Identifier *string
noSmithyDocumentSerde
}
// The property contains the file to chat with, along with its attributes.
type ByteContentFile struct {
// The byte value of the file to attach, encoded as Base-64 string. The maximum
// size of all files that is attached is 10MB. You can attach a maximum of 5 files.
//
// This member is required.
Data []byte
// The MIME type of data contained in the file used for chat.
//
// This member is required.
MediaType *string
noSmithyDocumentSerde
}
// An object containing a segment of the generated response that is based on a
// source in the knowledge base, alongside information about the source.
//
// This data type is used in the following API operations:
//
// [InvokeAgent response]
// - – in the citations field
//
// [RetrieveAndGenerate response]
// - – in the citations field
//
// [RetrieveAndGenerate response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_ResponseSyntax
// [InvokeAgent response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax
type Citation struct {
// Contains the generated response and metadata
GeneratedResponsePart *GeneratedResponsePart
// Contains metadata about the sources cited for the generated response.
RetrievedReferences []RetrievedReference
noSmithyDocumentSerde
}
// Contains information about the code interpreter being invoked.
type CodeInterpreterInvocationInput struct {
// The code for the code interpreter to use.
Code *string
// Files that are uploaded for code interpreter to use.
Files []string
noSmithyDocumentSerde
}
// Contains the JSON-formatted string returned by the API invoked by the code
// interpreter.
type CodeInterpreterInvocationOutput struct {
// Contains the error returned from code execution.
ExecutionError *string
// Contains the successful output returned from code execution
ExecutionOutput *string
// Indicates if the execution of the code timed out.
ExecutionTimeout *bool
// Contains output files, if generated by code execution.
Files []string
noSmithyDocumentSerde
}
// Contains the body of the API response.
//
// This data type is used in the following API operations:
//
// - In the returnControlInvocationResults field of the [InvokeAgent request]
//
// [InvokeAgent request]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_RequestSyntax
type ContentBody struct {
// The body of the API response.
Body *string
noSmithyDocumentSerde
}
// The unique external source of the content contained in the wrapper object.
type ExternalSource struct {
// The source type of the external source wrapper object.
//
// This member is required.
SourceType ExternalSourceType
// The identifier, contentType, and data of the external source wrapper object.
ByteContent *ByteContentDoc
// The S3 location of the external source wrapper object.
S3Location *S3ObjectDoc
noSmithyDocumentSerde
}
// Contains the generation configuration of the external source wrapper object.
type ExternalSourcesGenerationConfiguration struct {
// Additional model parameters and their corresponding values not included in the
// textInferenceConfig structure for an external source. Takes in custom model
// parameters specific to the language model being used.
AdditionalModelRequestFields map[string]document.Interface
// The configuration details for the guardrail.
GuardrailConfiguration *GuardrailConfiguration
// Configuration settings for inference when using RetrieveAndGenerate to
// generate responses while using an external source.
InferenceConfig *InferenceConfig
// Contain the textPromptTemplate string for the external source wrapper object.
PromptTemplate *PromptTemplate
noSmithyDocumentSerde
}
// The configurations of the external source wrapper object in the
// retrieveAndGenerate function.
type ExternalSourcesRetrieveAndGenerateConfiguration struct {
// The modelArn used with the external source wrapper object in the
// retrieveAndGenerate function.
//
// This member is required.
ModelArn *string
// The document used with the external source wrapper object in the
// retrieveAndGenerate function.
//
// This member is required.
Sources []ExternalSource
// The prompt used with the external source wrapper object with the
// retrieveAndGenerate function.
GenerationConfiguration *ExternalSourcesGenerationConfiguration
noSmithyDocumentSerde
}
// Contains information about the failure of the interaction.
type FailureTrace struct {
// The reason the interaction failed.
FailureReason *string
// The unique identifier of the trace.
TraceId *string
noSmithyDocumentSerde
}
// Contains intermediate response for code interpreter if any files have been
// generated.
type FilePart struct {
// Files containing intermediate response for the user.
Files []OutputFile
noSmithyDocumentSerde
}
// The source file of the content contained in the wrapper object.
type FileSource struct {
// The source type of the files to attach.
//
// This member is required.
SourceType FileSourceType
// The data and the text of the attached files.
ByteContent *ByteContentFile
// The s3 location of the files to attach.
S3Location *S3ObjectFile
noSmithyDocumentSerde
}
// Specifies the name that the metadata attribute must match and the value to
// which to compare the value of the metadata attribute. For more information, see [Query configurations]
// .
//
// This data type is used in the following API operations:
//
// [RetrieveAndGenerate request]
//
// [RetrieveAndGenerate request]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_RequestSyntax
// [Query configurations]: https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html
type FilterAttribute struct {
// The name that the metadata attribute must match.
//
// This member is required.
Key *string
// The value to whcih to compare the value of the metadata attribute.
//
// This member is required.
Value document.Interface
noSmithyDocumentSerde
}
// Contains details about the response to the user.
type FinalResponse struct {
// The text in the response to the user.
Text *string
noSmithyDocumentSerde
}
// Contains information about why a flow completed.
//
// This data type is used in the following API operations:
//
// [InvokeFlow response]
//
// [InvokeFlow response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeFlow.html#API_agent_InvokeFlow_ResponseSyntax
type FlowCompletionEvent struct {
// The reason that the flow completed.
//
// This member is required.
CompletionReason FlowCompletionReason
noSmithyDocumentSerde
}
// Contains information about an input into the flow and what to do with it.
//
// This data type is used in the following API operations:
//
// [InvokeFlow request]
//
// [InvokeFlow request]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeFlow.html#API_agent_InvokeFlow_RequestSyntax
type FlowInput struct {
// Contains information about an input into the flow.
//
// This member is required.
Content FlowInputContent
// A name for the input of the flow input node.
//
// This member is required.
NodeName *string
// A name for the output of the flow input node.
//
// This member is required.
NodeOutputName *string
noSmithyDocumentSerde
}
// Contains information about an input into the flow.
//
// This data type is used in the following API operations:
//
// [InvokeFlow request]
//
// The following types satisfy this interface:
//
// FlowInputContentMemberDocument
//
// [InvokeFlow request]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeFlow.html#API_agent_InvokeFlow_RequestSyntax
type FlowInputContent interface {
isFlowInputContent()
}
// The input for the flow input node.
type FlowInputContentMemberDocument struct {
Value document.Interface
noSmithyDocumentSerde
}
func (*FlowInputContentMemberDocument) isFlowInputContent() {}
// Contains information about the output node.
//
// This data type is used in the following API operations:
//
// [InvokeFlow request]
//
// The following types satisfy this interface:
//
// FlowOutputContentMemberDocument
//
// [InvokeFlow request]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeFlow.html#API_agent_InvokeFlow_RequestSyntax
type FlowOutputContent interface {
isFlowOutputContent()
}
// A name for the output of the flow.
type FlowOutputContentMemberDocument struct {
Value document.Interface
noSmithyDocumentSerde
}
func (*FlowOutputContentMemberDocument) isFlowOutputContent() {}
// Contains information about an output from flow invoction.
//
// This data type is used in the following API operations:
//
// [InvokeFlow response]
//
// [InvokeFlow response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeFlow.html#API_agent_InvokeFlow_ResponseSyntax
type FlowOutputEvent struct {
// The output of the node.
//
// This member is required.
Content FlowOutputContent
// The name of the node to which input was provided.
//
// This member is required.
NodeName *string
// The type of node to which input was provided.
//
// This member is required.
NodeType NodeType
noSmithyDocumentSerde
}
// The output of the flow.
//
// This data type is used in the following API operations:
//
// [InvokeFlow response]
//
// The following types satisfy this interface:
//
// FlowResponseStreamMemberFlowCompletionEvent
// FlowResponseStreamMemberFlowOutputEvent
//
// [InvokeFlow response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeFlow.html#API_agent_InvokeFlow_ResponseSyntax
type FlowResponseStream interface {
isFlowResponseStream()
}
// Contains information about why the flow completed.
type FlowResponseStreamMemberFlowCompletionEvent struct {
Value FlowCompletionEvent
noSmithyDocumentSerde
}
func (*FlowResponseStreamMemberFlowCompletionEvent) isFlowResponseStream() {}
// Contains information about an output from flow invocation.
type FlowResponseStreamMemberFlowOutputEvent struct {
Value FlowOutputEvent
noSmithyDocumentSerde
}
func (*FlowResponseStreamMemberFlowOutputEvent) isFlowResponseStream() {}
// Contains information about the function that the agent predicts should be
// called.
//
// This data type is used in the following API operations:
//
// - In the returnControl field of the [InvokeAgent response]
//
// [InvokeAgent response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax
type FunctionInvocationInput struct {
// The action group that the function belongs to.
//
// This member is required.
ActionGroup *string
// The name of the function.
Function *string
// A list of parameters of the function.
Parameters []FunctionParameter
noSmithyDocumentSerde
}
// Contains information about a parameter of the function.
//
// This data type is used in the following API operations:
//
// - In the returnControl field of the [InvokeAgent response]
//
// [InvokeAgent response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax
type FunctionParameter struct {
// The name of the parameter.
Name *string
// The data type of the parameter.
Type *string
// The value of the parameter.
Value *string
noSmithyDocumentSerde
}
// Contains information about the function that was called from the action group
// and the response that was returned.
//
// This data type is used in the following API operations:
//
// - In the returnControlInvocationResults of the [InvokeAgent request]
//
// [InvokeAgent request]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_RequestSyntax
type FunctionResult struct {
// The action group that the function belongs to.
//
// This member is required.
ActionGroup *string
// The name of the function that was called.
Function *string
// The response from the function call using the parameters. The key of the object
// is the content type (currently, only TEXT is supported). The response may be
// returned directly or from the Lambda function.
ResponseBody map[string]ContentBody
// Controls the final response state returned to end user when API/Function
// execution failed. When this state is FAILURE, the request would fail with
// dependency failure exception. When this state is REPROMPT, the API/function
// response will be sent to model for re-prompt
ResponseState ResponseState
noSmithyDocumentSerde
}
// Contains metadata about a part of the generated response that is accompanied by
// a citation.
//
// This data type is used in the following API operations:
//
// [InvokeAgent response]
// - – in the generatedResponsePart field
//
// [RetrieveAndGenerate response]
// - – in the generatedResponsePart field
//
// [RetrieveAndGenerate response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_ResponseSyntax
// [InvokeAgent response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax
type GeneratedResponsePart struct {
// Contains metadata about a textual part of the generated response that is
// accompanied by a citation.
TextResponsePart *TextResponsePart
noSmithyDocumentSerde
}
// Contains configurations for response generation based on the knowledge base
// query results.
//
// This data type is used in the following API operations:
//
// [RetrieveAndGenerate request]
//
// [RetrieveAndGenerate request]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_RequestSyntax
type GenerationConfiguration struct {
// Additional model parameters and corresponding values not included in the
// textInferenceConfig structure for a knowledge base. This allows users to provide
// custom model parameters specific to the language model being used.
AdditionalModelRequestFields map[string]document.Interface
// The configuration details for the guardrail.
GuardrailConfiguration *GuardrailConfiguration
// Configuration settings for inference when using RetrieveAndGenerate to
// generate responses while using a knowledge base as a source.
InferenceConfig *InferenceConfig
// Contains the template for the prompt that's sent to the model for response
// generation.
PromptTemplate *PromptTemplate
noSmithyDocumentSerde
}
// Assessment details of the content analyzed by Guardrails.
type GuardrailAssessment struct {
// Content policy details of the Guardrail.
ContentPolicy *GuardrailContentPolicyAssessment
// Sensitive Information policy details of Guardrail.
SensitiveInformationPolicy *GuardrailSensitiveInformationPolicyAssessment
// Topic policy details of the Guardrail.
TopicPolicy *GuardrailTopicPolicyAssessment
// Word policy details of the Guardrail.
WordPolicy *GuardrailWordPolicyAssessment
noSmithyDocumentSerde
}
// The configuration details for the guardrail.
type GuardrailConfiguration struct {
// The unique identifier for the guardrail.
//
// This member is required.
GuardrailId *string
// The version of the guardrail.
//
// This member is required.
GuardrailVersion *string
noSmithyDocumentSerde
}
// Details of the content filter used in the Guardrail.
type GuardrailContentFilter struct {
// The action placed on the content by the Guardrail filter.
Action GuardrailContentPolicyAction
// The confidence level regarding the content detected in the filter by the
// Guardrail.
Confidence GuardrailContentFilterConfidence
// The type of content detected in the filter by the Guardrail.
Type GuardrailContentFilterType
noSmithyDocumentSerde
}
// The details of the policy assessment in the Guardrails filter.
type GuardrailContentPolicyAssessment struct {
// The filter details of the policy assessment used in the Guardrails filter.
Filters []GuardrailContentFilter
noSmithyDocumentSerde
}
// The custom word details for the filter in the Guardrail.
type GuardrailCustomWord struct {
// The action details for the custom word filter in the Guardrail.
Action GuardrailWordPolicyAction
// The match details for the custom word filter in the Guardrail.
Match *string
noSmithyDocumentSerde
}
// The managed word details for the filter in the Guardrail.
type GuardrailManagedWord struct {
// The action details for the managed word filter in the Guardrail.
Action GuardrailWordPolicyAction
// The match details for the managed word filter in the Guardrail.
Match *string
// The type details for the managed word filter in the Guardrail.
Type GuardrailManagedWordType
noSmithyDocumentSerde
}
// The Guardrail filter to identify and remove personally identifiable information
// (PII).
type GuardrailPiiEntityFilter struct {
// The action of the Guardrail filter to identify and remove PII.
Action GuardrailSensitiveInformationPolicyAction
// The match to settings in the Guardrail filter to identify and remove PII.
Match *string
// The type of PII the Guardrail filter has identified and removed.
Type GuardrailPiiEntityType
noSmithyDocumentSerde
}
// The details for the regex filter used in the Guardrail.
type GuardrailRegexFilter struct {
// The action details for the regex filter used in the Guardrail.
Action GuardrailSensitiveInformationPolicyAction
// The match details for the regex filter used in the Guardrail.
Match *string
// The name details for the regex filter used in the Guardrail.
Name *string
// The regex details for the regex filter used in the Guardrail.
Regex *string
noSmithyDocumentSerde
}
// The details of the sensitive policy assessment used in the Guardrail.
type GuardrailSensitiveInformationPolicyAssessment struct {
// The details of the PII entities used in the sensitive policy assessment for the
// Guardrail.
PiiEntities []GuardrailPiiEntityFilter
// The details of the regexes used in the sensitive policy assessment for the
// Guardrail.
Regexes []GuardrailRegexFilter
noSmithyDocumentSerde
}
// The details for a specific topic defined in the Guardrail.
type GuardrailTopic struct {
// The action details on a specific topic in the Guardrail.
Action GuardrailTopicPolicyAction
// The name details on a specific topic in the Guardrail.
Name *string
// The type details on a specific topic in the Guardrail.
Type GuardrailTopicType
noSmithyDocumentSerde
}
// The details of the policy assessment used in the Guardrail.
type GuardrailTopicPolicyAssessment struct {
// The topic details of the policy assessment used in the Guardrail.
Topics []GuardrailTopic
noSmithyDocumentSerde
}
// The trace details used in the Guardrail.
type GuardrailTrace struct {
// The trace action details used with the Guardrail.
Action GuardrailAction
// The details of the input assessments used in the Guardrail Trace.
InputAssessments []GuardrailAssessment
// The details of the output assessments used in the Guardrail Trace.
OutputAssessments []GuardrailAssessment
// The details of the trace Id used in the Guardrail Trace.
TraceId *string
noSmithyDocumentSerde
}
// The assessment details for words defined in the Guardrail filter.
type GuardrailWordPolicyAssessment struct {
// The custom word details for words defined in the Guardrail filter.
CustomWords []GuardrailCustomWord
// The managed word lists for words defined in the Guardrail filter.
ManagedWordLists []GuardrailManagedWord
noSmithyDocumentSerde
}
// The configuration for inference settings when generating responses using
//
// RetrieveAndGenerate.
type InferenceConfig struct {
// Configuration settings specific to text generation while generating responses
// using RetrieveAndGenerate.
TextInferenceConfig *TextInferenceConfig
noSmithyDocumentSerde
}
// Specifications about the inference parameters that were provided alongside the
// prompt. These are specified in the [PromptOverrideConfiguration]object that was set when the agent was
// created or updated. For more information, see [Inference parameters for foundation models].
//
// [Inference parameters for foundation models]: https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html
// [PromptOverrideConfiguration]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PromptOverrideConfiguration.html
type InferenceConfiguration struct {
// The maximum number of tokens allowed in the generated response.
MaximumLength *int32
// A list of stop sequences. A stop sequence is a sequence of characters that
// causes the model to stop generating the response.
StopSequences []string
// The likelihood of the model selecting higher-probability options while
// generating a response. A lower value makes the model more likely to choose
// higher-probability options, while a higher value makes the model more likely to
// choose lower-probability options.
Temperature *float32
// While generating a response, the model determines the probability of the
// following token at each point of generation. The value that you set for topK is
// the number of most-likely candidates from which the model chooses the next token
// in the sequence. For example, if you set topK to 50, the model selects the next
// token from among the top 50 most likely choices.
TopK *int32
// While generating a response, the model determines the probability of the
// following token at each point of generation. The value that you set for Top P
// determines the number of most-likely candidates from which the model chooses the
// next token in the sequence. For example, if you set topP to 80, the model only
// selects the next token from the top 80% of the probability distribution of next
// tokens.
TopP *float32
noSmithyDocumentSerde
}
// Contains details of the source files.
type InputFile struct {
// The name of the source file.
//
// This member is required.
Name *string
// Specifies where the files are located.
//
// This member is required.
Source *FileSource
// Specifies how the source files will be used by the code interpreter.
//
// This member is required.
UseCase FileUseCase
noSmithyDocumentSerde
}
// Contains information pertaining to the action group or knowledge base that is
// being invoked.
type InvocationInput struct {
// Contains information about the action group to be invoked.
ActionGroupInvocationInput *ActionGroupInvocationInput
// Contains information about the code interpreter to be invoked.
CodeInterpreterInvocationInput *CodeInterpreterInvocationInput
// Specifies whether the agent is invoking an action group or a knowledge base.
InvocationType InvocationType
// Contains details about the knowledge base to look up and the query to be made.
KnowledgeBaseLookupInput *KnowledgeBaseLookupInput
// The unique identifier of the trace.
TraceId *string
noSmithyDocumentSerde
}
// Contains details about the API operation or function that the agent predicts
// should be called.
//
// This data type is used in the following API operations:
//
// - In the returnControl field of the [InvokeAgent response]
//
// The following types satisfy this interface:
//
// InvocationInputMemberMemberApiInvocationInput
// InvocationInputMemberMemberFunctionInvocationInput
//
// [InvokeAgent response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax
type InvocationInputMember interface {
isInvocationInputMember()
}
// Contains information about the API operation that the agent predicts should be
// called.
type InvocationInputMemberMemberApiInvocationInput struct {
Value ApiInvocationInput
noSmithyDocumentSerde
}
func (*InvocationInputMemberMemberApiInvocationInput) isInvocationInputMember() {}
// Contains information about the function that the agent predicts should be
// called.
type InvocationInputMemberMemberFunctionInvocationInput struct {
Value FunctionInvocationInput
noSmithyDocumentSerde
}
func (*InvocationInputMemberMemberFunctionInvocationInput) isInvocationInputMember() {}
// A result from the invocation of an action. For more information, see [Return control to the agent developer] and [Control session context].
//
// This data type is used in the following API operations:
//
// [InvokeAgent request]
//
// The following types satisfy this interface:
//
// InvocationResultMemberMemberApiResult
// InvocationResultMemberMemberFunctionResult
//
// [InvokeAgent request]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_RequestSyntax
// [Return control to the agent developer]: https://docs.aws.amazon.com/bedrock/latest/userguide/agents-returncontrol.html
// [Control session context]: https://docs.aws.amazon.com/bedrock/latest/userguide/agents-session-state.html
type InvocationResultMember interface {
isInvocationResultMember()
}
// The result from the API response from the action group invocation.
type InvocationResultMemberMemberApiResult struct {
Value ApiResult
noSmithyDocumentSerde
}
func (*InvocationResultMemberMemberApiResult) isInvocationResultMember() {}
// The result from the function from the action group invocation.
type InvocationResultMemberMemberFunctionResult struct {
Value FunctionResult
noSmithyDocumentSerde
}
func (*InvocationResultMemberMemberFunctionResult) isInvocationResultMember() {}
// Configurations to apply to a knowledge base attached to the agent during query.
// For more information, see [Knowledge base retrieval configurations].
//
// [Knowledge base retrieval configurations]: https://docs.aws.amazon.com/bedrock/latest/userguide/agents-session-state.html#session-state-kb
type KnowledgeBaseConfiguration struct {
// The unique identifier for a knowledge base attached to the agent.
//
// This member is required.
KnowledgeBaseId *string
// The configurations to apply to the knowledge base during query. For more
// information, see [Query configurations].
//
// [Query configurations]: https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html
//
// This member is required.
RetrievalConfiguration *KnowledgeBaseRetrievalConfiguration
noSmithyDocumentSerde
}
// Contains details about the knowledge base to look up and the query to be made.
type KnowledgeBaseLookupInput struct {
// The unique identifier of the knowledge base to look up.
KnowledgeBaseId *string
// The query made to the knowledge base.
Text *string
noSmithyDocumentSerde
}
// Contains details about the results from looking up the knowledge base.
type KnowledgeBaseLookupOutput struct {
// Contains metadata about the sources cited for the generated response.
RetrievedReferences []RetrievedReference
noSmithyDocumentSerde
}
// Contains the query made to the knowledge base.
//
// This data type is used in the following API operations:
//
// [Retrieve request]
// - – in the retrievalQuery field
//
// [Retrieve request]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_RequestSyntax
type KnowledgeBaseQuery struct {
// The text of the query made to the knowledge base.
//
// This member is required.
Text *string
noSmithyDocumentSerde
}
// Contains configurations for knowledge base query. For more information, see [Query configurations].
//
// This data type is used in the following API operations:
//
// [Retrieve request]
// - – in the retrievalConfiguration field
//
// [RetrieveAndGenerate request]
// - – in the retrievalConfiguration field
//
// [RetrieveAndGenerate request]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_RequestSyntax
// [Retrieve request]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_RequestSyntax
// [Query configurations]: https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html
type KnowledgeBaseRetrievalConfiguration struct {
// Contains details about how the results from the vector search should be
// returned. For more information, see [Query configurations].
//
// [Query configurations]: https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html
//
// This member is required.
VectorSearchConfiguration *KnowledgeBaseVectorSearchConfiguration
noSmithyDocumentSerde
}
// Details about a result from querying the knowledge base.
//
// This data type is used in the following API operations:
//
// [Retrieve response]
// - – in the retrievalResults field
//
// [Retrieve response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_ResponseSyntax
type KnowledgeBaseRetrievalResult struct {
// Contains a chunk of text from a data source in the knowledge base.
//
// This member is required.
Content *RetrievalResultContent
// Contains information about the location of the data source.
Location *RetrievalResultLocation
// Contains metadata attributes and their values for the file in the data source.
// For more information, see [Metadata and filtering].
//
// [Metadata and filtering]: https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html#kb-ds-metadata
Metadata map[string]document.Interface
// The level of relevance of the result to the query.
Score *float64
noSmithyDocumentSerde
}
// Contains details about the resource being queried.
//
// This data type is used in the following API operations:
//
// [Retrieve request]
// - – in the knowledgeBaseConfiguration field
//
// [RetrieveAndGenerate request]
// - – in the knowledgeBaseConfiguration field
//
// [RetrieveAndGenerate request]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_RequestSyntax
// [Retrieve request]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_RequestSyntax
type KnowledgeBaseRetrieveAndGenerateConfiguration struct {
// The unique identifier of the knowledge base that is queried and the foundation
// model used for generation.
//
// This member is required.
KnowledgeBaseId *string
// The ARN of the foundation model used to generate a response.
//
// This member is required.
ModelArn *string
// Contains configurations for response generation based on the knowledge base
// query results.
GenerationConfiguration *GenerationConfiguration
// Settings for how the model processes the prompt prior to retrieval and
// generation.
OrchestrationConfiguration *OrchestrationConfiguration
// Contains configurations for how to retrieve and return the knowledge base query.
RetrievalConfiguration *KnowledgeBaseRetrievalConfiguration
noSmithyDocumentSerde
}
// Configurations for how to perform the search query and return results. For more
// information, see [Query configurations].
//
// This data type is used in the following API operations:
//
// [Retrieve request]
// - – in the vectorSearchConfiguration field
//
// [RetrieveAndGenerate request]
// - – in the vectorSearchConfiguration field
//
// [RetrieveAndGenerate request]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_RequestSyntax
// [Retrieve request]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_RequestSyntax
// [Query configurations]: https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html
type KnowledgeBaseVectorSearchConfiguration struct {
// Specifies the filters to use on the metadata in the knowledge base data sources
// before returning results. For more information, see [Query configurations].
//
// [Query configurations]: https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html
Filter RetrievalFilter
// The number of source chunks to retrieve.
NumberOfResults *int32
// By default, Amazon Bedrock decides a search strategy for you. If you're using
// an Amazon OpenSearch Serverless vector store that contains a filterable text
// field, you can specify whether to query the knowledge base with a HYBRID search
// using both vector embeddings and raw text, or SEMANTIC search using only vector
// embeddings. For other vector store configurations, only SEMANTIC search is
// available. For more information, see [Test a knowledge base].
//
// [Test a knowledge base]: https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-test.html
OverrideSearchType SearchType
noSmithyDocumentSerde
}
// Contains sessions summaries.
//
// The following types satisfy this interface:
//
// MemoryMemberSessionSummary
type Memory interface {
isMemory()
}
// Contains summary of a session.
type MemoryMemberSessionSummary struct {
Value MemorySessionSummary
noSmithyDocumentSerde
}
func (*MemoryMemberSessionSummary) isMemory() {}
// Contains details of a session summary.
type MemorySessionSummary struct {
// The unique identifier of the memory where the session summary is stored.
MemoryId *string
// The time when the memory duration for the session is set to end.
SessionExpiryTime *time.Time
// The identifier for this session.
SessionId *string
// The start time for this session.
SessionStartTime *time.Time
// The summarized text for this session.
SummaryText *string
noSmithyDocumentSerde
}
// The input for the pre-processing step.
//
// - The type matches the agent step.
//
// - The text contains the prompt.
//
// - The inferenceConfiguration , parserMode , and overrideLambda values are set
// in the [PromptOverrideConfiguration]object that was set when the agent was created or updated.
//
// [PromptOverrideConfiguration]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PromptOverrideConfiguration.html
type ModelInvocationInput struct {
// Specifications about the inference parameters that were provided alongside the
// prompt. These are specified in the [PromptOverrideConfiguration]object that was set when the agent was
// created or updated. For more information, see [Inference parameters for foundation models].
//
// [Inference parameters for foundation models]: https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html
// [PromptOverrideConfiguration]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PromptOverrideConfiguration.html
InferenceConfiguration *InferenceConfiguration
// The ARN of the Lambda function to use when parsing the raw foundation model
// output in parts of the agent sequence.
OverrideLambda *string
// Specifies whether to override the default parser Lambda function when parsing
// the raw foundation model output in the part of the agent sequence defined by the
// promptType .
ParserMode CreationMode
// Specifies whether the default prompt template was OVERRIDDEN . If it was, the
// basePromptTemplate that was set in the [PromptOverrideConfiguration] object when the agent was created or
// updated is used instead.
//
// [PromptOverrideConfiguration]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PromptOverrideConfiguration.html
PromptCreationMode CreationMode
// The text that prompted the agent at this step.
Text *string
// The unique identifier of the trace.
TraceId *string
// The step in the agent sequence.
Type PromptType
noSmithyDocumentSerde
}
// Contains the result or output of an action group or knowledge base, or the
// response to the user.
type Observation struct {
// Contains the JSON-formatted string returned by the API invoked by the action
// group.
ActionGroupInvocationOutput *ActionGroupInvocationOutput
// Contains the JSON-formatted string returned by the API invoked by the code
// interpreter.
CodeInterpreterInvocationOutput *CodeInterpreterInvocationOutput
// Contains details about the response to the user.
FinalResponse *FinalResponse
// Contains details about the results from looking up the knowledge base.
KnowledgeBaseLookupOutput *KnowledgeBaseLookupOutput
// Contains details about the response to reprompt the input.
RepromptResponse *RepromptResponse
// The unique identifier of the trace.
TraceId *string
// Specifies what kind of information the agent returns in the observation. The
// following values are possible.
//
// - ACTION_GROUP – The agent returns the result of an action group.
//
// - KNOWLEDGE_BASE – The agent returns information from a knowledge base.
//
// - FINISH – The agent returns a final response to the user with no follow-up.
//
// - ASK_USER – The agent asks the user a question.
//
// - REPROMPT – The agent prompts the user again for the same information.
Type Type
noSmithyDocumentSerde
}
// Settings for how the model processes the prompt prior to retrieval and
// generation.
type OrchestrationConfiguration struct {
// To split up the prompt and retrieve multiple sources, set the transformation
// type to QUERY_DECOMPOSITION .
//
// This member is required.
QueryTransformationConfiguration *QueryTransformationConfiguration
noSmithyDocumentSerde
}
// Details about the orchestration step, in which the agent determines the order
// in which actions are executed and which knowledge bases are retrieved.
//
// The following types satisfy this interface:
//
// OrchestrationTraceMemberInvocationInput
// OrchestrationTraceMemberModelInvocationInput
// OrchestrationTraceMemberObservation
// OrchestrationTraceMemberRationale
type OrchestrationTrace interface {
isOrchestrationTrace()
}
// Contains information pertaining to the action group or knowledge base that is
// being invoked.
type OrchestrationTraceMemberInvocationInput struct {
Value InvocationInput
noSmithyDocumentSerde
}
func (*OrchestrationTraceMemberInvocationInput) isOrchestrationTrace() {}
// The input for the orchestration step.
//
// - The type is ORCHESTRATION .
//
// - The text contains the prompt.
//
// - The inferenceConfiguration , parserMode , and overrideLambda values are set
// in the [PromptOverrideConfiguration]object that was set when the agent was created or updated.
//
// [PromptOverrideConfiguration]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PromptOverrideConfiguration.html
type OrchestrationTraceMemberModelInvocationInput struct {
Value ModelInvocationInput
noSmithyDocumentSerde
}
func (*OrchestrationTraceMemberModelInvocationInput) isOrchestrationTrace() {}
// Details about the observation (the output of the action group Lambda or
// knowledge base) made by the agent.
type OrchestrationTraceMemberObservation struct {
Value Observation
noSmithyDocumentSerde
}
func (*OrchestrationTraceMemberObservation) isOrchestrationTrace() {}
// Details about the reasoning, based on the input, that the agent uses to justify
// carrying out an action group or getting information from a knowledge base.
type OrchestrationTraceMemberRationale struct {
Value Rationale
noSmithyDocumentSerde
}
func (*OrchestrationTraceMemberRationale) isOrchestrationTrace() {}
// Contains details of the response from code interpreter.
type OutputFile struct {
// The byte count of files that contains response from code interpreter.
Bytes []byte
// The name of the file containing response from code interpreter.
Name *string
// The type of file that contains response from the code interpreter.
Type *string
noSmithyDocumentSerde
}
// A parameter for the API request or function.
type Parameter struct {
// The name of the parameter.
Name *string
// The type of the parameter.
Type *string
// The value of the parameter.
Value *string
noSmithyDocumentSerde
}
// Contains a part of an agent response and citations for it.
type PayloadPart struct {
// Contains citations for a part of an agent response.
Attribution *Attribution
// A part of the agent response in bytes.
Bytes []byte
noSmithyDocumentSerde
}
// The foundation model output from the post-processing step.
type PostProcessingModelInvocationOutput struct {
// Details about the response from the Lambda parsing of the output of the
// post-processing step.
ParsedResponse *PostProcessingParsedResponse
// The unique identifier of the trace.
TraceId *string
noSmithyDocumentSerde
}
// Details about the response from the Lambda parsing of the output from the
// post-processing step.
type PostProcessingParsedResponse struct {
// The text returned by the parser.
Text *string
noSmithyDocumentSerde
}
// Details about the post-processing step, in which the agent shapes the response.
//
// The following types satisfy this interface:
//
// PostProcessingTraceMemberModelInvocationInput
// PostProcessingTraceMemberModelInvocationOutput
type PostProcessingTrace interface {
isPostProcessingTrace()
}
// The input for the post-processing step.
//
// - The type is POST_PROCESSING .
//
// - The text contains the prompt.
//
// - The inferenceConfiguration , parserMode , and overrideLambda values are set
// in the [PromptOverrideConfiguration]object that was set when the agent was created or updated.
//
// [PromptOverrideConfiguration]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PromptOverrideConfiguration.html
type PostProcessingTraceMemberModelInvocationInput struct {
Value ModelInvocationInput
noSmithyDocumentSerde
}
func (*PostProcessingTraceMemberModelInvocationInput) isPostProcessingTrace() {}
// The foundation model output from the post-processing step.
type PostProcessingTraceMemberModelInvocationOutput struct {
Value PostProcessingModelInvocationOutput
noSmithyDocumentSerde
}
func (*PostProcessingTraceMemberModelInvocationOutput) isPostProcessingTrace() {}
// The foundation model output from the pre-processing step.
type PreProcessingModelInvocationOutput struct {
// Details about the response from the Lambda parsing of the output of the
// pre-processing step.
ParsedResponse *PreProcessingParsedResponse
// The unique identifier of the trace.
TraceId *string
noSmithyDocumentSerde
}
// Details about the response from the Lambda parsing of the output from the
// pre-processing step.
type PreProcessingParsedResponse struct {
// Whether the user input is valid or not. If false , the agent doesn't proceed to
// orchestration.
IsValid *bool
// The text returned by the parsing of the pre-processing step, explaining the
// steps that the agent plans to take in orchestration, if the user input is valid.
Rationale *string
noSmithyDocumentSerde
}
// Details about the pre-processing step, in which the agent contextualizes and
// categorizes user inputs.
//
// The following types satisfy this interface:
//
// PreProcessingTraceMemberModelInvocationInput
// PreProcessingTraceMemberModelInvocationOutput
type PreProcessingTrace interface {
isPreProcessingTrace()
}
// The input for the pre-processing step.
//
// - The type is PRE_PROCESSING .
//
// - The text contains the prompt.
//
// - The inferenceConfiguration , parserMode , and overrideLambda values are set
// in the [PromptOverrideConfiguration]object that was set when the agent was created or updated.
//
// [PromptOverrideConfiguration]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PromptOverrideConfiguration.html
type PreProcessingTraceMemberModelInvocationInput struct {
Value ModelInvocationInput
noSmithyDocumentSerde
}
func (*PreProcessingTraceMemberModelInvocationInput) isPreProcessingTrace() {}
// The foundation model output from the pre-processing step.
type PreProcessingTraceMemberModelInvocationOutput struct {
Value PreProcessingModelInvocationOutput
noSmithyDocumentSerde
}
func (*PreProcessingTraceMemberModelInvocationOutput) isPreProcessingTrace() {}
// Contains the template for the prompt that's sent to the model for response
// generation. For more information, see [Knowledge base prompt templates].
//
// This data type is used in the following API operations:
//
// [RetrieveAndGenerate request]
// - – in the filter field
//
// [RetrieveAndGenerate request]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_RequestSyntax
// [Knowledge base prompt templates]: https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html#kb-test-config-sysprompt
type PromptTemplate struct {
// The template for the prompt that's sent to the model for response generation.
// You can include prompt placeholders, which become replaced before the prompt is
// sent to the model to provide instructions and context to the model. In addition,
// you can include XML tags to delineate meaningful sections of the prompt
// template.
//
// For more information, see the following resources:
//
// [Knowledge base prompt templates]
//
// [Use XML tags with Anthropic Claude models]
//
// [Use XML tags with Anthropic Claude models]: https://docs.anthropic.com/claude/docs/use-xml-tags
// [Knowledge base prompt templates]: https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html#kb-test-config-sysprompt
TextPromptTemplate *string
noSmithyDocumentSerde
}
// Contains the parameters in the request body.
type PropertyParameters struct {
// A list of parameters in the request body.
Properties []Parameter
noSmithyDocumentSerde
}
// To split up the prompt and retrieve multiple sources, set the transformation
// type to QUERY_DECOMPOSITION .
type QueryTransformationConfiguration struct {
// The type of transformation to apply to the prompt.
//
// This member is required.
Type QueryTransformationType
noSmithyDocumentSerde
}
// Contains the reasoning, based on the input, that the agent uses to justify
// carrying out an action group or getting information from a knowledge base.
type Rationale struct {
// The reasoning or thought process of the agent, based on the input.
Text *string
// The unique identifier of the trace step.
TraceId *string
noSmithyDocumentSerde
}
// Contains details about the agent's response to reprompt the input.
type RepromptResponse struct {
// Specifies what output is prompting the agent to reprompt the input.
Source Source
// The text reprompting the input.
Text *string
noSmithyDocumentSerde
}
// The parameters in the API request body.
type RequestBody struct {
// The content in the request body.
Content map[string][]Parameter
noSmithyDocumentSerde
}
// The response from invoking the agent and associated citations and trace
// information.
//
// The following types satisfy this interface:
//
// ResponseStreamMemberChunk
// ResponseStreamMemberFiles
// ResponseStreamMemberReturnControl
// ResponseStreamMemberTrace
type ResponseStream interface {
isResponseStream()
}
// Contains a part of an agent response and citations for it.
type ResponseStreamMemberChunk struct {
Value PayloadPart
noSmithyDocumentSerde
}
func (*ResponseStreamMemberChunk) isResponseStream() {}
// Contains intermediate response for code interpreter if any files have been
// generated.
type ResponseStreamMemberFiles struct {
Value FilePart
noSmithyDocumentSerde
}
func (*ResponseStreamMemberFiles) isResponseStream() {}
// Contains the parameters and information that the agent elicited from the
// customer to carry out an action. This information is returned to the system and
// can be used in your own setup for fulfilling the action.
type ResponseStreamMemberReturnControl struct {
Value ReturnControlPayload
noSmithyDocumentSerde
}
func (*ResponseStreamMemberReturnControl) isResponseStream() {}
// Contains information about the agent and session, alongside the agent's
// reasoning process and results from calling actions and querying knowledge bases
// and metadata about the trace. You can use the trace to understand how the agent
// arrived at the response it provided the customer. For more information, see [Trace events].
//
// [Trace events]: https://docs.aws.amazon.com/bedrock/latest/userguide/trace-events.html
type ResponseStreamMemberTrace struct {
Value TracePart
noSmithyDocumentSerde
}
func (*ResponseStreamMemberTrace) isResponseStream() {}
// Specifies the filters to use on the metadata attributes in the knowledge base
// data sources before returning results. For more information, see [Query configurations]. See the
// examples below to see how to use these filters.
//
// This data type is used in the following API operations:
//
// [Retrieve request]
// - – in the filter field
//
// [RetrieveAndGenerate request]
// - – in the filter field
//
// The following types satisfy this interface:
//
// RetrievalFilterMemberAndAll
// RetrievalFilterMemberEquals
// RetrievalFilterMemberGreaterThan
// RetrievalFilterMemberGreaterThanOrEquals
// RetrievalFilterMemberIn
// RetrievalFilterMemberLessThan
// RetrievalFilterMemberLessThanOrEquals
// RetrievalFilterMemberListContains
// RetrievalFilterMemberNotEquals
// RetrievalFilterMemberNotIn
// RetrievalFilterMemberOrAll
// RetrievalFilterMemberStartsWith
// RetrievalFilterMemberStringContains
//
// [RetrieveAndGenerate request]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_RequestSyntax
// [Retrieve request]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_RequestSyntax
// [Query configurations]: https://docs.aws.amazon.com/bedrock/latest/userguide/kb-test-config.html
type RetrievalFilter interface {
isRetrievalFilter()
}
// Knowledge base data sources are returned if their metadata attributes fulfill
// all the filter conditions inside this list.
type RetrievalFilterMemberAndAll struct {
Value []RetrievalFilter
noSmithyDocumentSerde
}
func (*RetrievalFilterMemberAndAll) isRetrievalFilter() {}
// Knowledge base data sources are returned if they contain a metadata attribute
// whose name matches the key and whose value matches the value in this object.
//
// The following example would return data sources with an animal attribute whose
// value is cat :
//
// "equals": { "key": "animal", "value": "cat" }
type RetrievalFilterMemberEquals struct {
Value FilterAttribute
noSmithyDocumentSerde
}
func (*RetrievalFilterMemberEquals) isRetrievalFilter() {}
// Knowledge base data sources are returned if they contain a metadata attribute
// whose name matches the key and whose value is greater than the value in this
// object.
//
// The following example would return data sources with an year attribute whose
// value is greater than 1989 :
//
// "greaterThan": { "key": "year", "value": 1989 }
type RetrievalFilterMemberGreaterThan struct {
Value FilterAttribute
noSmithyDocumentSerde
}
func (*RetrievalFilterMemberGreaterThan) isRetrievalFilter() {}
// Knowledge base data sources are returned if they contain a metadata attribute
// whose name matches the key and whose value is greater than or equal to the value
// in this object.
//
// The following example would return data sources with an year attribute whose
// value is greater than or equal to 1989 :
//
// "greaterThanOrEquals": { "key": "year", "value": 1989 }
type RetrievalFilterMemberGreaterThanOrEquals struct {
Value FilterAttribute
noSmithyDocumentSerde
}
func (*RetrievalFilterMemberGreaterThanOrEquals) isRetrievalFilter() {}
// Knowledge base data sources are returned if they contain a metadata attribute
// whose name matches the key and whose value is in the list specified in the value
// in this object.
//
// The following example would return data sources with an animal attribute that
// is either cat or dog :
//
// "in": { "key": "animal", "value": ["cat", "dog"] }
type RetrievalFilterMemberIn struct {
Value FilterAttribute
noSmithyDocumentSerde
}
func (*RetrievalFilterMemberIn) isRetrievalFilter() {}
// Knowledge base data sources are returned if they contain a metadata attribute
// whose name matches the key and whose value is less than the value in this
// object.
//
// The following example would return data sources with an year attribute whose
// value is less than to 1989 .
//
// "lessThan": { "key": "year", "value": 1989 }
type RetrievalFilterMemberLessThan struct {
Value FilterAttribute
noSmithyDocumentSerde
}
func (*RetrievalFilterMemberLessThan) isRetrievalFilter() {}
// Knowledge base data sources are returned if they contain a metadata attribute
// whose name matches the key and whose value is less than or equal to the value
// in this object.
//
// The following example would return data sources with an year attribute whose
// value is less than or equal to 1989 .
//
// "lessThanOrEquals": { "key": "year", "value": 1989 }
type RetrievalFilterMemberLessThanOrEquals struct {
Value FilterAttribute
noSmithyDocumentSerde
}
func (*RetrievalFilterMemberLessThanOrEquals) isRetrievalFilter() {}
// Knowledge base data sources are returned if they contain a metadata attribute
// whose name matches the key and whose value is a list that contains the value as
// one of its members.
//
// The following example would return data sources with an animals attribute that
// is a list containing a cat member (for example ["dog", "cat"] ).
//
// "listContains": { "key": "animals", "value": "cat" }
type RetrievalFilterMemberListContains struct {
Value FilterAttribute
noSmithyDocumentSerde
}
func (*RetrievalFilterMemberListContains) isRetrievalFilter() {}
// Knowledge base data sources that contain a metadata attribute whose name
// matches the key and whose value doesn't match the value in this object are
// returned.
//
// The following example would return data sources that don't contain an animal
// attribute whose value is cat .
//
// "notEquals": { "key": "animal", "value": "cat" }
type RetrievalFilterMemberNotEquals struct {
Value FilterAttribute
noSmithyDocumentSerde
}
func (*RetrievalFilterMemberNotEquals) isRetrievalFilter() {}
// Knowledge base data sources are returned if they contain a metadata attribute
// whose name matches the key and whose value isn't in the list specified in the
// value in this object.
//
// The following example would return data sources whose animal attribute is
// neither cat nor dog .
//
// "notIn": { "key": "animal", "value": ["cat", "dog"] }
type RetrievalFilterMemberNotIn struct {
Value FilterAttribute
noSmithyDocumentSerde
}
func (*RetrievalFilterMemberNotIn) isRetrievalFilter() {}
// Knowledge base data sources are returned if their metadata attributes fulfill
// at least one of the filter conditions inside this list.
type RetrievalFilterMemberOrAll struct {
Value []RetrievalFilter
noSmithyDocumentSerde
}
func (*RetrievalFilterMemberOrAll) isRetrievalFilter() {}
// Knowledge base data sources are returned if they contain a metadata attribute
// whose name matches the key and whose value starts with the value in this
// object. This filter is currently only supported for Amazon OpenSearch Serverless
// vector stores.
//
// The following example would return data sources with an animal attribute starts
// with ca (for example, cat or camel ).
//
// "startsWith": { "key": "animal", "value": "ca" }
type RetrievalFilterMemberStartsWith struct {
Value FilterAttribute
noSmithyDocumentSerde
}
func (*RetrievalFilterMemberStartsWith) isRetrievalFilter() {}
// Knowledge base data sources are returned if they contain a metadata attribute
// whose name matches the key and whose value is one of the following:
//
// - A string that contains the value as a substring. The following example would
// return data sources with an animal attribute that contains the substring at
// (for example cat ).
//
// "stringContains": { "key": "animal", "value": "at" }
//
// - A list with a member that contains the value as a substring. The following
// example would return data sources with an animals attribute that is a list
// containing a member that contains the substring at (for example ["dog", "cat"]
// ).
//
// "stringContains": { "key": "animals", "value": "at" }
type RetrievalFilterMemberStringContains struct {
Value FilterAttribute
noSmithyDocumentSerde
}
func (*RetrievalFilterMemberStringContains) isRetrievalFilter() {}
// The Confluence data source location.
type RetrievalResultConfluenceLocation struct {
// The Confluence host URL for the data source location.
Url *string
noSmithyDocumentSerde
}
// Contains the cited text from the data source.
//
// This data type is used in the following API operations:
//
// [Retrieve response]
// - – in the content field
//
// [RetrieveAndGenerate response]
// - – in the content field
//
// [InvokeAgent response]
// - – in the content field
//
// [RetrieveAndGenerate response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_ResponseSyntax
// [Retrieve response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_ResponseSyntax
// [InvokeAgent response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax
type RetrievalResultContent struct {
// The cited text from the data source.
//
// This member is required.
Text *string
noSmithyDocumentSerde
}
// Contains information about the data source location.
//
// This data type is used in the following API operations:
//
// [Retrieve response]
// - – in the location field
//
// [RetrieveAndGenerate response]
// - – in the location field
//
// [InvokeAgent response]
// - – in the locatino field
//
// [RetrieveAndGenerate response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_ResponseSyntax
// [Retrieve response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_ResponseSyntax
// [InvokeAgent response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax
type RetrievalResultLocation struct {
// The type of data source location.
//
// This member is required.
Type RetrievalResultLocationType
// The Confluence data source location.
ConfluenceLocation *RetrievalResultConfluenceLocation
// The S3 data source location.
S3Location *RetrievalResultS3Location
// The Salesforce data source location.
SalesforceLocation *RetrievalResultSalesforceLocation
// The SharePoint data source location.
SharePointLocation *RetrievalResultSharePointLocation
// The web URL/URLs data source location.
WebLocation *RetrievalResultWebLocation
noSmithyDocumentSerde
}
// The S3 data source location.
//
// This data type is used in the following API operations:
//
// [Retrieve response]
// - – in the s3Location field
//
// [RetrieveAndGenerate response]
// - – in the s3Location field
//
// [InvokeAgent response]
// - – in the s3Location field
//
// [RetrieveAndGenerate response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_ResponseSyntax
// [Retrieve response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_ResponseSyntax
// [InvokeAgent response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax
type RetrievalResultS3Location struct {
// The S3 URI for the data source location.
Uri *string
noSmithyDocumentSerde
}
// The Salesforce data source location.
type RetrievalResultSalesforceLocation struct {
// The Salesforce host URL for the data source location.
Url *string
noSmithyDocumentSerde
}
// The SharePoint data source location.
type RetrievalResultSharePointLocation struct {
// The SharePoint site URL for the data source location.
Url *string
noSmithyDocumentSerde
}
// The web URL/URLs data source location.
type RetrievalResultWebLocation struct {
// The web URL/URLs for the data source location.
Url *string
noSmithyDocumentSerde
}
// Contains details about the resource being queried.
//
// This data type is used in the following API operations:
//
// [RetrieveAndGenerate request]
// - – in the retrieveAndGenerateConfiguration field
//
// [RetrieveAndGenerate request]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_RequestSyntax
type RetrieveAndGenerateConfiguration struct {
// The type of resource that is queried by the request.
//
// This member is required.
Type RetrieveAndGenerateType
// The configuration used with the external source wrapper object in the
// retrieveAndGenerate function.
ExternalSourcesConfiguration *ExternalSourcesRetrieveAndGenerateConfiguration
// Contains details about the resource being queried.
KnowledgeBaseConfiguration *KnowledgeBaseRetrieveAndGenerateConfiguration
noSmithyDocumentSerde
}
// Contains the query made to the knowledge base.
//
// This data type is used in the following API operations:
//
// [RetrieveAndGenerate request]
// - – in the input field
//
// [RetrieveAndGenerate request]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_RequestSyntax
type RetrieveAndGenerateInput struct {
// The query made to the knowledge base.
//
// This member is required.
Text *string
noSmithyDocumentSerde
}
// Contains the response generated from querying the knowledge base.
//
// This data type is used in the following API operations:
//
// [RetrieveAndGenerate response]
// - – in the output field
//
// [RetrieveAndGenerate response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_ResponseSyntax
type RetrieveAndGenerateOutput struct {
// The response generated from querying the knowledge base.
//
// This member is required.
Text *string
noSmithyDocumentSerde
}
// Contains configuration about the session with the knowledge base.
//
// This data type is used in the following API operations:
//
// [RetrieveAndGenerate request]
// - – in the sessionConfiguration field
//
// [RetrieveAndGenerate request]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_RequestSyntax
type RetrieveAndGenerateSessionConfiguration struct {
// The ARN of the KMS key encrypting the session.
//
// This member is required.
KmsKeyArn *string
noSmithyDocumentSerde
}
// Contains metadata about a source cited for the generated response.
//
// This data type is used in the following API operations:
//
// [RetrieveAndGenerate response]
// - – in the retrievedReferences field
//
// [InvokeAgent response]
// - – in the retrievedReferences field
//
// [RetrieveAndGenerate response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_ResponseSyntax
// [InvokeAgent response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax
type RetrievedReference struct {
// Contains the cited text from the data source.
Content *RetrievalResultContent
// Contains information about the location of the data source.
Location *RetrievalResultLocation
// Contains metadata attributes and their values for the file in the data source.
// For more information, see [Metadata and filtering].
//
// [Metadata and filtering]: https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html#kb-ds-metadata
Metadata map[string]document.Interface
noSmithyDocumentSerde
}
// Contains information to return from the action group that the agent has
// predicted to invoke.
//
// This data type is used in the following API operations:
//
// [InvokeAgent response]
//
// [InvokeAgent response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax
type ReturnControlPayload struct {
// The identifier of the action group invocation.
InvocationId *string
// A list of objects that contain information about the parameters and inputs that
// need to be sent into the API operation or function, based on what the agent
// determines from its session with the user.
InvocationInputs []InvocationInputMember
noSmithyDocumentSerde
}
// The unique wrapper object of the document from the S3 location.
type S3ObjectDoc struct {
// The file location of the S3 wrapper object.
//
// This member is required.
Uri *string
noSmithyDocumentSerde
}
// Contains details of the s3 object where the source file is located.
type S3ObjectFile struct {
// The uri of the s3 object.
//
// This member is required.
Uri *string
noSmithyDocumentSerde
}
// Contains parameters that specify various attributes that persist across a
// session or prompt. You can define session state attributes as key-value pairs
// when writing a [Lambda function]for an action group or pass them when making an [InvokeAgent] request. Use
// session state attributes to control and provide conversational context for your
// agent and to help customize your agent's behavior. For more information, see [Control session context].
//
// [InvokeAgent]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html
// [Control session context]: https://docs.aws.amazon.com/bedrock/latest/userguide/agents-session-state.html
// [Lambda function]: https://docs.aws.amazon.com/bedrock/latest/userguide/agents-lambda.html
type SessionState struct {
// Contains information about the files used by code interpreter.
Files []InputFile
// The identifier of the invocation of an action. This value must match the
// invocationId returned in the InvokeAgent response for the action whose results
// are provided in the returnControlInvocationResults field. For more information,
// see [Return control to the agent developer]and [Control session context].
//
// [Return control to the agent developer]: https://docs.aws.amazon.com/bedrock/latest/userguide/agents-returncontrol.html
// [Control session context]: https://docs.aws.amazon.com/bedrock/latest/userguide/agents-session-state.html
InvocationId *string
// An array of configurations, each of which applies to a knowledge base attached
// to the agent.
KnowledgeBaseConfigurations []KnowledgeBaseConfiguration
// Contains attributes that persist across a prompt and the values of those
// attributes. These attributes replace the $prompt_session_attributes$
// placeholder variable in the orchestration prompt template. For more information,
// see [Prompt template placeholder variables].
//
// [Prompt template placeholder variables]: https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-placeholders.html
PromptSessionAttributes map[string]string
// Contains information about the results from the action group invocation. For
// more information, see [Return control to the agent developer]and [Control session context].
//
// If you include this field, the inputText field will be ignored.
//
// [Return control to the agent developer]: https://docs.aws.amazon.com/bedrock/latest/userguide/agents-returncontrol.html
// [Control session context]: https://docs.aws.amazon.com/bedrock/latest/userguide/agents-session-state.html
ReturnControlInvocationResults []InvocationResultMember
// Contains attributes that persist across a session and the values of those
// attributes.
SessionAttributes map[string]string
noSmithyDocumentSerde
}
// Contains information about where the text with a citation begins and ends in
// the generated output.
//
// This data type is used in the following API operations:
//
// [RetrieveAndGenerate response]
// - – in the span field
//
// [InvokeAgent response]
// - – in the span field
//
// [RetrieveAndGenerate response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_ResponseSyntax
// [InvokeAgent response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax
type Span struct {
// Where the text with a citation ends in the generated output.
End *int32
// Where the text with a citation starts in the generated output.
Start *int32
noSmithyDocumentSerde
}
// Configuration settings for text generation using a language model via the
// RetrieveAndGenerate operation. Includes parameters like temperature, top-p,
// maximum token count, and stop sequences.
//
// The valid range of maxTokens depends on the accepted values for your chosen
// model's inference parameters. To see the inference parameters for your model,
// see [Inference parameters for foundation models.]
//
// [Inference parameters for foundation models.]: https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html
type TextInferenceConfig struct {
// The maximum number of tokens to generate in the output text. Do not use the
// minimum of 0 or the maximum of 65536. The limit values described here are
// arbitary values, for actual values consult the limits defined by your specific
// model.
MaxTokens *int32
// A list of sequences of characters that, if generated, will cause the model to
// stop generating further tokens. Do not use a minimum length of 1 or a maximum
// length of 1000. The limit values described here are arbitary values, for actual
// values consult the limits defined by your specific model.
StopSequences []string
// Controls the random-ness of text generated by the language model, influencing
// how much the model sticks to the most predictable next words versus exploring
// more surprising options. A lower temperature value (e.g. 0.2 or 0.3) makes model
// outputs more deterministic or predictable, while a higher temperature (e.g. 0.8
// or 0.9) makes the outputs more creative or unpredictable.
Temperature *float32
// A probability distribution threshold which controls what the model considers
// for the set of possible next tokens. The model will only consider the top p% of
// the probability distribution when generating the next token.
TopP *float32
noSmithyDocumentSerde
}
// Contains the part of the generated text that contains a citation, alongside
// where it begins and ends.
//
// This data type is used in the following API operations:
//
// [RetrieveAndGenerate response]
// - – in the textResponsePart field
//
// [InvokeAgent response]
// - – in the textResponsePart field
//
// [RetrieveAndGenerate response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html#API_agent-runtime_RetrieveAndGenerate_ResponseSyntax
// [InvokeAgent response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html#API_agent-runtime_InvokeAgent_ResponseSyntax
type TextResponsePart struct {
// Contains information about where the text with a citation begins and ends in
// the generated output.
Span *Span
// The part of the generated text that contains a citation.
Text *string
noSmithyDocumentSerde
}
// Contains one part of the agent's reasoning process and results from calling API
// actions and querying knowledge bases. You can use the trace to understand how
// the agent arrived at the response it provided the customer. For more
// information, see [Trace enablement].
//
// The following types satisfy this interface:
//
// TraceMemberFailureTrace
// TraceMemberGuardrailTrace
// TraceMemberOrchestrationTrace
// TraceMemberPostProcessingTrace
// TraceMemberPreProcessingTrace
//
// [Trace enablement]: https://docs.aws.amazon.com/bedrock/latest/userguide/agents-test.html#trace-enablement
type Trace interface {
isTrace()
}
// Contains information about the failure of the interaction.
type TraceMemberFailureTrace struct {
Value FailureTrace
noSmithyDocumentSerde
}
func (*TraceMemberFailureTrace) isTrace() {}
// The trace details for a trace defined in the Guardrail filter.
type TraceMemberGuardrailTrace struct {
Value GuardrailTrace
noSmithyDocumentSerde
}
func (*TraceMemberGuardrailTrace) isTrace() {}
// Details about the orchestration step, in which the agent determines the order
// in which actions are executed and which knowledge bases are retrieved.
type TraceMemberOrchestrationTrace struct {
Value OrchestrationTrace
noSmithyDocumentSerde
}
func (*TraceMemberOrchestrationTrace) isTrace() {}
// Details about the post-processing step, in which the agent shapes the response..
type TraceMemberPostProcessingTrace struct {
Value PostProcessingTrace
noSmithyDocumentSerde
}
func (*TraceMemberPostProcessingTrace) isTrace() {}
// Details about the pre-processing step, in which the agent contextualizes and
// categorizes user inputs.
type TraceMemberPreProcessingTrace struct {
Value PreProcessingTrace
noSmithyDocumentSerde
}
func (*TraceMemberPreProcessingTrace) isTrace() {}
// Contains information about the agent and session, alongside the agent's
// reasoning process and results from calling API actions and querying knowledge
// bases and metadata about the trace. You can use the trace to understand how the
// agent arrived at the response it provided the customer. For more information,
// see [Trace enablement].
//
// [Trace enablement]: https://docs.aws.amazon.com/bedrock/latest/userguide/agents-test.html#trace-enablement
type TracePart struct {
// The unique identifier of the alias of the agent.
AgentAliasId *string
// The unique identifier of the agent.
AgentId *string
// The version of the agent.
AgentVersion *string
// The unique identifier of the session with the agent.
SessionId *string
// Contains one part of the agent's reasoning process and results from calling API
// actions and querying knowledge bases. You can use the trace to understand how
// the agent arrived at the response it provided the customer. For more
// information, see [Trace enablement].
//
// [Trace enablement]: https://docs.aws.amazon.com/bedrock/latest/userguide/agents-test.html#trace-enablement
Trace Trace
noSmithyDocumentSerde
}
type noSmithyDocumentSerde = smithydocument.NoSerde
// UnknownUnionMember is returned when a union member is returned over the wire,
// but has an unknown tag.
type UnknownUnionMember struct {
Tag string
Value []byte
noSmithyDocumentSerde
}
func (*UnknownUnionMember) isFlowInputContent() {}
func (*UnknownUnionMember) isFlowOutputContent() {}
func (*UnknownUnionMember) isFlowResponseStream() {}
func (*UnknownUnionMember) isInvocationInputMember() {}
func (*UnknownUnionMember) isInvocationResultMember() {}
func (*UnknownUnionMember) isMemory() {}
func (*UnknownUnionMember) isOrchestrationTrace() {}
func (*UnknownUnionMember) isPostProcessingTrace() {}
func (*UnknownUnionMember) isPreProcessingTrace() {}
func (*UnknownUnionMember) isResponseStream() {}
func (*UnknownUnionMember) isRetrievalFilter() {}
func (*UnknownUnionMember) isTrace() {}
|