Spaces:
Running
Running
Merge pull request #64 from biggraph/darabos-tweaks
Browse files- .gitignore +1 -0
- lynxkite-app/data/AIMO +1039 -0
- lynxkite-app/data/Graph RAG +194 -181
- lynxkite-app/data/Image processing +87 -75
- lynxkite-app/data/LynxScribe demo +267 -265
- lynxkite-app/data/PyTorch demo +270 -189
- lynxkite-app/data/aimo-examples.csv +11 -0
- lynxkite-app/data/example-pizza.md +136 -0
- lynxkite-app/data/night demo +0 -0
- lynxkite-app/web/src/workspace/nodes/NodeParameter.tsx +2 -1
- lynxkite-graph-analytics/pyproject.toml +2 -0
- lynxkite-graph-analytics/src/lynxkite_plugins/graph_analytics/lynxkite_ops.py +66 -3
- lynxkite-graph-analytics/src/lynxkite_plugins/graph_analytics/pytorch_model_ops.py +8 -0
- lynxkite-graph-analytics/uv.lock +251 -117
- lynxkite-lynxscribe/README.md +9 -0
- lynxkite-lynxscribe/src/lynxkite_plugins/lynxscribe/__init__.py +3 -0
- lynxkite-lynxscribe/src/lynxkite_plugins/lynxscribe/llm_ops.py +2 -2
- lynxkite-lynxscribe/src/lynxkite_plugins/lynxscribe/lynxscribe_ops.py +7 -19
- lynxkite-pillow-example/pyproject.toml +1 -0
- lynxkite-pillow-example/src/lynxkite_plugins/pillow_example/__init__.py +7 -3
- lynxkite-pillow-example/uv.lock +12 -1
.gitignore
CHANGED
@@ -11,4 +11,5 @@ __pycache__
|
|
11 |
node_modules
|
12 |
dist
|
13 |
build
|
|
|
14 |
*.egg-info
|
|
|
11 |
node_modules
|
12 |
dist
|
13 |
build
|
14 |
+
joblib-cache
|
15 |
*.egg-info
|
lynxkite-app/data/AIMO
ADDED
@@ -0,0 +1,1039 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"env": "LLM logic",
|
3 |
+
"nodes": [
|
4 |
+
{
|
5 |
+
"id": "View 1",
|
6 |
+
"type": "table_view",
|
7 |
+
"data": {
|
8 |
+
"title": "View",
|
9 |
+
"params": {},
|
10 |
+
"display": {
|
11 |
+
"dataframes": {
|
12 |
+
"df": {
|
13 |
+
"columns": [
|
14 |
+
"id",
|
15 |
+
"text",
|
16 |
+
"answer",
|
17 |
+
"prompt",
|
18 |
+
"response",
|
19 |
+
"iterations-Loop 1"
|
20 |
+
],
|
21 |
+
"data": [
|
22 |
+
[
|
23 |
+
"229ee8",
|
24 |
+
"Let $k, l > 0$ be parameters. The parabola $y = kx^2 - 2kx + l$ intersects the line $y = 4$ at two points $A$ and $B$. These points are distance 6 apart. What is the sum of the squares of the distances from $A$ and $B$ to the origin?",
|
25 |
+
52,
|
26 |
+
"Please give a correct solution for this: Let $k, l > 0$ be parameters. The parabola $y = kx^2 - 2kx + l$ intersects the line $y = 4$ at two points $A$ and $B$. These points are distance 6 apart. What is the sum of the squares of the distances from $A$ and $B$ to the origin?",
|
27 |
+
"To solve this problem, we need to follow these steps:\n\n1. **Understand the Parabola and Line Intersection:**\n The parabola is given by \\( y = kx^2 - 2kx + l \\).\n The line is given by \\( y = 4 \\).\n\n2. **Find the Intersection Points:**\n Set the equations equal to each other to find the points of intersection \\( A \\) and \\( B \\):\n ",
|
28 |
+
2
|
29 |
+
],
|
30 |
+
[
|
31 |
+
"246d26",
|
32 |
+
"Each of the three-digits numbers $111$ to $999$ is coloured blue or yellow in such a way that the sum of any two (not necessarily different) yellow numbers is equal to a blue number. What is the maximum possible number of yellow numbers there can be?",
|
33 |
+
250,
|
34 |
+
"Please give a correct solution for this: Each of the three-digits numbers $111$ to $999$ is coloured blue or yellow in such a way that the sum of any two (not necessarily different) yellow numbers is equal to a blue number. What is the maximum possible number of yellow numbers there can be?",
|
35 |
+
"To solve this problem, we need to ensure that any two yellow numbers have a sum that is a blue number. \n\nLet's break down the problem:\n\n1. **Understand the problem constraints:**\n - We have three-digit numbers ranging from 111 to 999.\n - Each number must be colored either blue or yellow.\n - The sum of any two yellow numbers must be a blue number.\n\n2. **Define the variables:**\n -",
|
36 |
+
2
|
37 |
+
],
|
38 |
+
[
|
39 |
+
"2fc4ad",
|
40 |
+
"Let the `sparkle' operation on positive integer $n$ consist of calculating the sum of the digits of $n$ and taking its factorial, e.g. the sparkle of 13 is $4! = 24$. A robot starts with a positive integer on a blackboard, then after each second for the rest of eternity, replaces the number on the board with its sparkle. For some `special' numbers, if they're the first number, then eventually every number that appears will be less than 6. How many such special numbers are there with at most 36 digits?",
|
41 |
+
702,
|
42 |
+
"Please give a correct solution for this: Let the `sparkle' operation on positive integer $n$ consist of calculating the sum of the digits of $n$ and taking its factorial, e.g. the sparkle of 13 is $4! = 24$. A robot starts with a positive integer on a blackboard, then after each second for the rest of eternity, replaces the number on the board with its sparkle. For some `special' numbers, if they're the first number, then eventually every number that appears will be less than 6. How many such special numbers are there with at most 36 digits?",
|
43 |
+
"Let's break down the problem step by step. \n\n**Understanding the Sparkle Operation:**\n\n1. **Sum of Digits:**\n For a number \\( n \\), the sum of its digits is calculated.\n\n2. **Factorial of Sum:**\n The sparkle is then calculated as \\( n! \\).\n\n**Special Numbers:**\n\nA special number is defined as one that eventually leads to every subsequent number being less than 6. This implies",
|
44 |
+
2
|
45 |
+
],
|
46 |
+
[
|
47 |
+
"430b63",
|
48 |
+
"What is the minimum value of $5x^2+5y^2-8xy$ when $x$ and $y$ range over all real numbers such that $|x-2y| + |y-2x| = 40$?",
|
49 |
+
800,
|
50 |
+
"Please give a correct solution for this: What is the minimum value of $5x^2+5y^2-8xy$ when $x$ and $y$ range over all real numbers such that $|x-2y| + |y-2x| = 40$?",
|
51 |
+
"To solve the problem, we need to find the minimum value of the expression \\(5x^2 + 5y^2 - 8xy\\) subject to the constraint \\(|x - 2y| + |y - 2x| = 40\\).\n\nHere are the steps to solve this problem:\n\n1. **Understand the Constraint:**\n The constraint given is \\(|x - 2y| + |y - 2",
|
52 |
+
2
|
53 |
+
],
|
54 |
+
[
|
55 |
+
"5277ed",
|
56 |
+
"There exists a unique increasing geometric sequence of five 2-digit positive integers. What is their sum?",
|
57 |
+
211,
|
58 |
+
"Please give a correct solution for this: There exists a unique increasing geometric sequence of five 2-digit positive integers. What is their sum?",
|
59 |
+
"To solve this problem, we need to find a unique increasing geometric sequence of five 2-digit positive integers. Let's denote the first term of the sequence by \\( a \\) and the common ratio by \\( r \\). The five terms of the sequence can be represented as:\n\n\\[ a, ar, ar^2, ar^3, ar^4 \\]\n\nGiven that all these terms are 2-digit positive integers, we need to find \\",
|
60 |
+
2
|
61 |
+
],
|
62 |
+
[
|
63 |
+
"739bc9",
|
64 |
+
"For how many positive integers $m$ does the equation $\\vert \\vert x-1 \\vert -2 \\vert=\\frac{m}{100}$ have $4$ distinct solutions?",
|
65 |
+
199,
|
66 |
+
"Please give a correct solution for this: For how many positive integers $m$ does the equation $\\vert \\vert x-1 \\vert -2 \\vert=\\frac{m}{100}$ have $4$ distinct solutions?",
|
67 |
+
"To solve the problem, we need to analyze the equation \\(\\vert \\vert x-1 \\vert - 2 \\vert = \\frac{m}{100}\\) and determine for how many positive integers \\(m\\) the equation has exactly 4 distinct solutions.\n\n### Steps to Solve the Problem:\n\n1. **Understand the Absolute Value Equation:**\n - The equation \\(\\vert \\vert x-1 \\vert - 2 \\vert = \\frac",
|
68 |
+
2
|
69 |
+
],
|
70 |
+
[
|
71 |
+
"82e2a0",
|
72 |
+
"Suppose that we roll four 6-sided fair dice with faces numbered 1 to~6. Let $a/b$ be the probability that the highest roll is a 5, where $a$ and $b$ are relatively prime positive integers. Find $a + b$.",
|
73 |
+
185,
|
74 |
+
"Please give a correct solution for this: Suppose that we roll four 6-sided fair dice with faces numbered 1 to~6. Let $a/b$ be the probability that the highest roll is a 5, where $a$ and $b$ are relatively prime positive integers. Find $a + b$.",
|
75 |
+
"To solve this problem, we need to determine the probability \\(\\frac{a}{b}\\) that the highest roll on four 6-sided dice is a 5, and then find the values of \\(a\\) and \\(b\\) such that \\(a\\) and \\(b\\) are relatively prime. Let's break down the steps:\n\n1. **Determine the Sample Space:**\n - Calculate the total number of possible outcomes when rolling four ",
|
76 |
+
2
|
77 |
+
],
|
78 |
+
[
|
79 |
+
"8ee6f3",
|
80 |
+
"The points $\\left(x, y\\right)$ satisfying $((\\vert x + y \\vert - 10)^2 + ( \\vert x - y \\vert - 10)^2)((\\vert x \\vert - 8)^2 + ( \\vert y \\vert - 8)^2) = 0$ enclose a convex polygon. What is the area of this convex polygon?",
|
81 |
+
320,
|
82 |
+
"Please give a correct solution for this: The points $\\left(x, y\\right)$ satisfying $((\\vert x + y \\vert - 10)^2 + ( \\vert x - y \\vert - 10)^2)((\\vert x \\vert - 8)^2 + ( \\vert y \\vert - 8)^2) = 0$ enclose a convex polygon. What is the area of this convex polygon?",
|
83 |
+
"To solve this problem, we need to find the points \\((x, y)\\) that satisfy the given equation:\n\\[\n((\\text{Abs}(x + y) - 10)^2 + (\\text{Abs}(x - y) - 10)^2)((\\text{Abs}(x) - 8)^2 + (\\text{Abs}(y) - 8)^2) = 0\n\\]\n\nFirst,",
|
84 |
+
2
|
85 |
+
],
|
86 |
+
[
|
87 |
+
"bedda4",
|
88 |
+
"Let $ABCD$ be a unit square. Let $P$ be the point on $AB$ such that $|AP| = 1/{20}$ and let $Q$ be the point on $AD$ such that $|AQ| = 1/{24}$. The lines $DP$ and $BQ$ divide the square into four regions. Find the ratio between the areas of the largest region and the smallest region.",
|
89 |
+
480,
|
90 |
+
"Please give a correct solution for this: Let $ABCD$ be a unit square. Let $P$ be the point on $AB$ such that $|AP| = 1/{20}$ and let $Q$ be the point on $AD$ such that $|AQ| = 1/{24}$. The lines $DP$ and $BQ$ divide the square into four regions. Find the ratio between the areas of the largest region and the smallest region.",
|
91 |
+
"To solve this problem, we need to carefully analyze the geometric configuration and calculate the areas of the four regions formed by the lines \\(DP\\) and \\(BQ\\) within the unit square \\(ABCD\\).\n\nLet's break down the problem into manageable parts:\n\n1. **Define the Coordinates:**\n - Place the unit square \\(ABCD\\) in the coordinate plane with \\(A\\) at \\((0, 0)\\),",
|
92 |
+
2
|
93 |
+
],
|
94 |
+
[
|
95 |
+
"d7e9c9",
|
96 |
+
"A function $f: \\mathbb N \\to \\mathbb N$ satisfies the following two conditions for all positive integers $n$:$f(f(f(n)))=8n-7$ and $f(2n)=2f(n)+1$. Calculate $f(100)$.",
|
97 |
+
199,
|
98 |
+
"Please give a correct solution for this: A function $f: \\mathbb N \\to \\mathbb N$ satisfies the following two conditions for all positive integers $n$:$f(f(f(n)))=8n-7$ and $f(2n)=2f(n)+1$. Calculate $f(100)$.",
|
99 |
+
"To solve the problem, we need to find the function \\( f \\) that satisfies the given conditions:\n\n1. \\( f(f(f(n))) = 8n - 7 \\)\n2. \\( f(2n) = 2f(n) + 1 \\)\n\nLet's break down the problem step-by-step:\n\n### Step 1: Analyze the Recursion\n\nFirst, let's express",
|
100 |
+
2
|
101 |
+
]
|
102 |
+
]
|
103 |
+
}
|
104 |
+
}
|
105 |
+
},
|
106 |
+
"error": null,
|
107 |
+
"meta": {
|
108 |
+
"outputs": {},
|
109 |
+
"type": "table_view",
|
110 |
+
"inputs": {
|
111 |
+
"input": {
|
112 |
+
"type": {
|
113 |
+
"type": "<class 'inspect._empty'>"
|
114 |
+
},
|
115 |
+
"name": "input",
|
116 |
+
"position": "left"
|
117 |
+
}
|
118 |
+
},
|
119 |
+
"name": "View",
|
120 |
+
"params": {}
|
121 |
+
},
|
122 |
+
"view": {
|
123 |
+
"dataframes": {
|
124 |
+
"df": {
|
125 |
+
"columns": [
|
126 |
+
"id",
|
127 |
+
"text",
|
128 |
+
"answer",
|
129 |
+
"prompt",
|
130 |
+
"response"
|
131 |
+
],
|
132 |
+
"data": [
|
133 |
+
[
|
134 |
+
"229ee8",
|
135 |
+
"Let $k, l > 0$ be parameters. The parabola $y = kx^2 - 2kx + l$ intersects the line $y = 4$ at two points $A$ and $B$. These points are distance 6 apart. What is the sum of the squares of the distances from $A$ and $B$ to the origin?",
|
136 |
+
52.0,
|
137 |
+
"Please give a correct solution for this: Let $k, l > 0$ be parameters. The parabola $y = kx^2 - 2kx + l$ intersects the line $y = 4$ at two points $A$ and $B$. These points are distance 6 apart. What is the sum of the squares of the distances from $A$ and $B$ to the origin?",
|
138 |
+
" We start by finding the x-coordinates of points"
|
139 |
+
],
|
140 |
+
[
|
141 |
+
"246d26",
|
142 |
+
"Each of the three-digits numbers $111$ to $999$ is coloured blue or yellow in such a way that the sum of any two (not necessarily different) yellow numbers is equal to a blue number. What is the maximum possible number of yellow numbers there can be?",
|
143 |
+
250.0,
|
144 |
+
"Please give a correct solution for this: Each of the three-digits numbers $111$ to $999$ is coloured blue or yellow in such a way that the sum of any two (not necessarily different) yellow numbers is equal to a blue number. What is the maximum possible number of yellow numbers there can be?",
|
145 |
+
" Let's consider the numbers in the form of"
|
146 |
+
],
|
147 |
+
[
|
148 |
+
"2fc4ad",
|
149 |
+
"Let the `sparkle' operation on positive integer $n$ consist of calculating the sum of the digits of $n$ and taking its factorial, e.g. the sparkle of 13 is $4! = 24$. A robot starts with a positive integer on a blackboard, then after each second for the rest of eternity, replaces the number on the board with its sparkle. For some `special' numbers, if they're the first number, then eventually every number that appears will be less than 6. How many such special numbers are there with at most 36 digits?",
|
150 |
+
702.0,
|
151 |
+
"Please give a correct solution for this: Let the `sparkle' operation on positive integer $n$ consist of calculating the sum of the digits of $n$ and taking its factorial, e.g. the sparkle of 13 is $4! = 24$. A robot starts with a positive integer on a blackboard, then after each second for the rest of eternity, replaces the number on the board with its sparkle. For some `special' numbers, if they're the first number, then eventually every number that appears will be less than 6. How many such special numbers are there with at most 36 digits?",
|
152 |
+
" Let $S$ denote the set of all $"
|
153 |
+
],
|
154 |
+
[
|
155 |
+
"430b63",
|
156 |
+
"What is the minimum value of $5x^2+5y^2-8xy$ when $x$ and $y$ range over all real numbers such that $|x-2y| + |y-2x| = 40$?",
|
157 |
+
800.0,
|
158 |
+
"Please give a correct solution for this: What is the minimum value of $5x^2+5y^2-8xy$ when $x$ and $y$ range over all real numbers such that $|x-2y| + |y-2x| = 40$?",
|
159 |
+
" We can rewrite the given equation as $|x-"
|
160 |
+
],
|
161 |
+
[
|
162 |
+
"5277ed",
|
163 |
+
"There exists a unique increasing geometric sequence of five 2-digit positive integers. What is their sum?",
|
164 |
+
211.0,
|
165 |
+
"Please give a correct solution for this: There exists a unique increasing geometric sequence of five 2-digit positive integers. What is their sum?",
|
166 |
+
" Let the five terms of the geometric sequence be $"
|
167 |
+
],
|
168 |
+
[
|
169 |
+
"739bc9",
|
170 |
+
"For how many positive integers $m$ does the equation $\\vert \\vert x-1 \\vert -2 \\vert=\\frac{m}{100}$ have $4$ distinct solutions?",
|
171 |
+
199.0,
|
172 |
+
"Please give a correct solution for this: For how many positive integers $m$ does the equation $\\vert \\vert x-1 \\vert -2 \\vert=\\frac{m}{100}$ have $4$ distinct solutions?",
|
173 |
+
" Let's break down the problem.\n\n"
|
174 |
+
],
|
175 |
+
[
|
176 |
+
"82e2a0",
|
177 |
+
"Suppose that we roll four 6-sided fair dice with faces numbered 1 to~6. Let $a/b$ be the probability that the highest roll is a 5, where $a$ and $b$ are relatively prime positive integers. Find $a + b$.",
|
178 |
+
185.0,
|
179 |
+
"Please give a correct solution for this: Suppose that we roll four 6-sided fair dice with faces numbered 1 to~6. Let $a/b$ be the probability that the highest roll is a 5, where $a$ and $b$ are relatively prime positive integers. Find $a + b$.",
|
180 |
+
" The total number of outcomes when rolling four 6"
|
181 |
+
],
|
182 |
+
[
|
183 |
+
"8ee6f3",
|
184 |
+
"The points $\\left(x, y\\right)$ satisfying $((\\vert x + y \\vert - 10)^2 + ( \\vert x - y \\vert - 10)^2)((\\vert x \\vert - 8)^2 + ( \\vert y \\vert - 8)^2) = 0$ enclose a convex polygon. What is the area of this convex polygon?",
|
185 |
+
320.0,
|
186 |
+
"Please give a correct solution for this: The points $\\left(x, y\\right)$ satisfying $((\\vert x + y \\vert - 10)^2 + ( \\vert x - y \\vert - 10)^2)((\\vert x \\vert - 8)^2 + ( \\vert y \\vert - 8)^2) = 0$ enclose a convex polygon. What is the area of this convex polygon?",
|
187 |
+
" We see that the given equation is equivalent to either"
|
188 |
+
],
|
189 |
+
[
|
190 |
+
"bedda4",
|
191 |
+
"Let $ABCD$ be a unit square. Let $P$ be the point on $AB$ such that $|AP| = 1/{20}$ and let $Q$ be the point on $AD$ such that $|AQ| = 1/{24}$. The lines $DP$ and $BQ$ divide the square into four regions. Find the ratio between the areas of the largest region and the smallest region.",
|
192 |
+
480.0,
|
193 |
+
"Please give a correct solution for this: Let $ABCD$ be a unit square. Let $P$ be the point on $AB$ such that $|AP| = 1/{20}$ and let $Q$ be the point on $AD$ such that $|AQ| = 1/{24}$. The lines $DP$ and $BQ$ divide the square into four regions. Find the ratio between the areas of the largest region and the smallest region.",
|
194 |
+
" [asy] size(7cm); pair A"
|
195 |
+
],
|
196 |
+
[
|
197 |
+
"d7e9c9",
|
198 |
+
"A function $f: \\mathbb N \\to \\mathbb N$ satisfies the following two conditions for all positive integers $n$:$f(f(f(n)))=8n-7$ and $f(2n)=2f(n)+1$. Calculate $f(100)$.",
|
199 |
+
199.0,
|
200 |
+
"Please give a correct solution for this: A function $f: \\mathbb N \\to \\mathbb N$ satisfies the following two conditions for all positive integers $n$:$f(f(f(n)))=8n-7$ and $f(2n)=2f(n)+1$. Calculate $f(100)$.",
|
201 |
+
" Let $P(n)$ be the assertion that"
|
202 |
+
]
|
203 |
+
]
|
204 |
+
}
|
205 |
+
}
|
206 |
+
}
|
207 |
+
},
|
208 |
+
"position": {
|
209 |
+
"x": 918.8473117253317,
|
210 |
+
"y": -788.2139000963755
|
211 |
+
},
|
212 |
+
"height": 497.0,
|
213 |
+
"dragging": false,
|
214 |
+
"measured": {
|
215 |
+
"height": 497.0,
|
216 |
+
"width": 847.0
|
217 |
+
},
|
218 |
+
"parentId": null,
|
219 |
+
"width": 847.0
|
220 |
+
},
|
221 |
+
{
|
222 |
+
"id": "View 2",
|
223 |
+
"type": "table_view",
|
224 |
+
"data": {
|
225 |
+
"title": "View",
|
226 |
+
"params": {},
|
227 |
+
"display": {
|
228 |
+
"dataframes": {
|
229 |
+
"df": {
|
230 |
+
"columns": [
|
231 |
+
"id",
|
232 |
+
"text",
|
233 |
+
"answer"
|
234 |
+
],
|
235 |
+
"data": [
|
236 |
+
[
|
237 |
+
"229ee8",
|
238 |
+
"Let $k, l > 0$ be parameters. The parabola $y = kx^2 - 2kx + l$ intersects the line $y = 4$ at two points $A$ and $B$. These points are distance 6 apart. What is the sum of the squares of the distances from $A$ and $B$ to the origin?",
|
239 |
+
52
|
240 |
+
],
|
241 |
+
[
|
242 |
+
"246d26",
|
243 |
+
"Each of the three-digits numbers $111$ to $999$ is coloured blue or yellow in such a way that the sum of any two (not necessarily different) yellow numbers is equal to a blue number. What is the maximum possible number of yellow numbers there can be?",
|
244 |
+
250
|
245 |
+
],
|
246 |
+
[
|
247 |
+
"2fc4ad",
|
248 |
+
"Let the `sparkle' operation on positive integer $n$ consist of calculating the sum of the digits of $n$ and taking its factorial, e.g. the sparkle of 13 is $4! = 24$. A robot starts with a positive integer on a blackboard, then after each second for the rest of eternity, replaces the number on the board with its sparkle. For some `special' numbers, if they're the first number, then eventually every number that appears will be less than 6. How many such special numbers are there with at most 36 digits?",
|
249 |
+
702
|
250 |
+
],
|
251 |
+
[
|
252 |
+
"430b63",
|
253 |
+
"What is the minimum value of $5x^2+5y^2-8xy$ when $x$ and $y$ range over all real numbers such that $|x-2y| + |y-2x| = 40$?",
|
254 |
+
800
|
255 |
+
],
|
256 |
+
[
|
257 |
+
"5277ed",
|
258 |
+
"There exists a unique increasing geometric sequence of five 2-digit positive integers. What is their sum?",
|
259 |
+
211
|
260 |
+
],
|
261 |
+
[
|
262 |
+
"739bc9",
|
263 |
+
"For how many positive integers $m$ does the equation $\\vert \\vert x-1 \\vert -2 \\vert=\\frac{m}{100}$ have $4$ distinct solutions?",
|
264 |
+
199
|
265 |
+
],
|
266 |
+
[
|
267 |
+
"82e2a0",
|
268 |
+
"Suppose that we roll four 6-sided fair dice with faces numbered 1 to~6. Let $a/b$ be the probability that the highest roll is a 5, where $a$ and $b$ are relatively prime positive integers. Find $a + b$.",
|
269 |
+
185
|
270 |
+
],
|
271 |
+
[
|
272 |
+
"8ee6f3",
|
273 |
+
"The points $\\left(x, y\\right)$ satisfying $((\\vert x + y \\vert - 10)^2 + ( \\vert x - y \\vert - 10)^2)((\\vert x \\vert - 8)^2 + ( \\vert y \\vert - 8)^2) = 0$ enclose a convex polygon. What is the area of this convex polygon?",
|
274 |
+
320
|
275 |
+
],
|
276 |
+
[
|
277 |
+
"bedda4",
|
278 |
+
"Let $ABCD$ be a unit square. Let $P$ be the point on $AB$ such that $|AP| = 1/{20}$ and let $Q$ be the point on $AD$ such that $|AQ| = 1/{24}$. The lines $DP$ and $BQ$ divide the square into four regions. Find the ratio between the areas of the largest region and the smallest region.",
|
279 |
+
480
|
280 |
+
],
|
281 |
+
[
|
282 |
+
"d7e9c9",
|
283 |
+
"A function $f: \\mathbb N \\to \\mathbb N$ satisfies the following two conditions for all positive integers $n$:$f(f(f(n)))=8n-7$ and $f(2n)=2f(n)+1$. Calculate $f(100)$.",
|
284 |
+
199
|
285 |
+
]
|
286 |
+
]
|
287 |
+
}
|
288 |
+
}
|
289 |
+
},
|
290 |
+
"error": null,
|
291 |
+
"meta": {
|
292 |
+
"name": "View",
|
293 |
+
"outputs": {},
|
294 |
+
"params": {},
|
295 |
+
"type": "table_view",
|
296 |
+
"inputs": {
|
297 |
+
"input": {
|
298 |
+
"name": "input",
|
299 |
+
"type": {
|
300 |
+
"type": "<class 'inspect._empty'>"
|
301 |
+
},
|
302 |
+
"position": "left"
|
303 |
+
}
|
304 |
+
}
|
305 |
+
},
|
306 |
+
"view": {
|
307 |
+
"dataframes": {
|
308 |
+
"df": {
|
309 |
+
"data": [
|
310 |
+
[
|
311 |
+
"229ee8",
|
312 |
+
"Let $k, l > 0$ be parameters. The parabola $y = kx^2 - 2kx + l$ intersects the line $y = 4$ at two points $A$ and $B$. These points are distance 6 apart. What is the sum of the squares of the distances from $A$ and $B$ to the origin?",
|
313 |
+
52.0
|
314 |
+
],
|
315 |
+
[
|
316 |
+
"246d26",
|
317 |
+
"Each of the three-digits numbers $111$ to $999$ is coloured blue or yellow in such a way that the sum of any two (not necessarily different) yellow numbers is equal to a blue number. What is the maximum possible number of yellow numbers there can be?",
|
318 |
+
250.0
|
319 |
+
],
|
320 |
+
[
|
321 |
+
"2fc4ad",
|
322 |
+
"Let the `sparkle' operation on positive integer $n$ consist of calculating the sum of the digits of $n$ and taking its factorial, e.g. the sparkle of 13 is $4! = 24$. A robot starts with a positive integer on a blackboard, then after each second for the rest of eternity, replaces the number on the board with its sparkle. For some `special' numbers, if they're the first number, then eventually every number that appears will be less than 6. How many such special numbers are there with at most 36 digits?",
|
323 |
+
702.0
|
324 |
+
],
|
325 |
+
[
|
326 |
+
"430b63",
|
327 |
+
"What is the minimum value of $5x^2+5y^2-8xy$ when $x$ and $y$ range over all real numbers such that $|x-2y| + |y-2x| = 40$?",
|
328 |
+
800.0
|
329 |
+
],
|
330 |
+
[
|
331 |
+
"5277ed",
|
332 |
+
"There exists a unique increasing geometric sequence of five 2-digit positive integers. What is their sum?",
|
333 |
+
211.0
|
334 |
+
],
|
335 |
+
[
|
336 |
+
"739bc9",
|
337 |
+
"For how many positive integers $m$ does the equation $\\vert \\vert x-1 \\vert -2 \\vert=\\frac{m}{100}$ have $4$ distinct solutions?",
|
338 |
+
199.0
|
339 |
+
],
|
340 |
+
[
|
341 |
+
"82e2a0",
|
342 |
+
"Suppose that we roll four 6-sided fair dice with faces numbered 1 to~6. Let $a/b$ be the probability that the highest roll is a 5, where $a$ and $b$ are relatively prime positive integers. Find $a + b$.",
|
343 |
+
185.0
|
344 |
+
],
|
345 |
+
[
|
346 |
+
"8ee6f3",
|
347 |
+
"The points $\\left(x, y\\right)$ satisfying $((\\vert x + y \\vert - 10)^2 + ( \\vert x - y \\vert - 10)^2)((\\vert x \\vert - 8)^2 + ( \\vert y \\vert - 8)^2) = 0$ enclose a convex polygon. What is the area of this convex polygon?",
|
348 |
+
320.0
|
349 |
+
],
|
350 |
+
[
|
351 |
+
"bedda4",
|
352 |
+
"Let $ABCD$ be a unit square. Let $P$ be the point on $AB$ such that $|AP| = 1/{20}$ and let $Q$ be the point on $AD$ such that $|AQ| = 1/{24}$. The lines $DP$ and $BQ$ divide the square into four regions. Find the ratio between the areas of the largest region and the smallest region.",
|
353 |
+
480.0
|
354 |
+
],
|
355 |
+
[
|
356 |
+
"d7e9c9",
|
357 |
+
"A function $f: \\mathbb N \\to \\mathbb N$ satisfies the following two conditions for all positive integers $n$:$f(f(f(n)))=8n-7$ and $f(2n)=2f(n)+1$. Calculate $f(100)$.",
|
358 |
+
199.0
|
359 |
+
]
|
360 |
+
],
|
361 |
+
"columns": [
|
362 |
+
"id",
|
363 |
+
"text",
|
364 |
+
"answer"
|
365 |
+
]
|
366 |
+
}
|
367 |
+
}
|
368 |
+
}
|
369 |
+
},
|
370 |
+
"position": {
|
371 |
+
"x": -109.39082282780262,
|
372 |
+
"y": -773.6298092973026
|
373 |
+
},
|
374 |
+
"height": 491.0,
|
375 |
+
"dragging": false,
|
376 |
+
"measured": {
|
377 |
+
"width": 642.0,
|
378 |
+
"height": 491.0
|
379 |
+
},
|
380 |
+
"parentId": null,
|
381 |
+
"width": 642.0
|
382 |
+
},
|
383 |
+
{
|
384 |
+
"id": "Create prompt 1",
|
385 |
+
"type": "basic",
|
386 |
+
"data": {
|
387 |
+
"title": "Create prompt",
|
388 |
+
"params": {
|
389 |
+
"template": "Please give a correct solution for this: {{text}}"
|
390 |
+
},
|
391 |
+
"display": null,
|
392 |
+
"error": null,
|
393 |
+
"collapsed": null,
|
394 |
+
"meta": {
|
395 |
+
"outputs": {
|
396 |
+
"output": {
|
397 |
+
"type": {
|
398 |
+
"type": "None"
|
399 |
+
},
|
400 |
+
"name": "output",
|
401 |
+
"position": "right"
|
402 |
+
}
|
403 |
+
},
|
404 |
+
"params": {
|
405 |
+
"save_as": {
|
406 |
+
"type": {
|
407 |
+
"type": "<class 'str'>"
|
408 |
+
},
|
409 |
+
"name": "save_as",
|
410 |
+
"default": "prompt"
|
411 |
+
},
|
412 |
+
"template": {
|
413 |
+
"default": null,
|
414 |
+
"name": "template",
|
415 |
+
"type": {
|
416 |
+
"format": "textarea"
|
417 |
+
}
|
418 |
+
}
|
419 |
+
},
|
420 |
+
"type": "basic",
|
421 |
+
"inputs": {
|
422 |
+
"input": {
|
423 |
+
"position": "left",
|
424 |
+
"type": {
|
425 |
+
"type": "<class 'inspect._empty'>"
|
426 |
+
},
|
427 |
+
"name": "input"
|
428 |
+
}
|
429 |
+
},
|
430 |
+
"name": "Create prompt"
|
431 |
+
},
|
432 |
+
"__execution_delay": 0.0
|
433 |
+
},
|
434 |
+
"position": {
|
435 |
+
"x": -55.639116348124276,
|
436 |
+
"y": -180.9050378792738
|
437 |
+
},
|
438 |
+
"parentId": null,
|
439 |
+
"dragging": false,
|
440 |
+
"width": 321.0,
|
441 |
+
"measured": {
|
442 |
+
"height": 322.0,
|
443 |
+
"width": 321.0
|
444 |
+
},
|
445 |
+
"height": 322.0
|
446 |
+
},
|
447 |
+
{
|
448 |
+
"id": "Create prompt 2",
|
449 |
+
"type": "basic",
|
450 |
+
"data": {
|
451 |
+
"title": "Create prompt",
|
452 |
+
"params": {
|
453 |
+
"template": "Is this a nice solution? {{response}}"
|
454 |
+
},
|
455 |
+
"display": null,
|
456 |
+
"error": null,
|
457 |
+
"__execution_delay": 0.0,
|
458 |
+
"meta": {
|
459 |
+
"inputs": {
|
460 |
+
"input": {
|
461 |
+
"name": "input",
|
462 |
+
"type": {
|
463 |
+
"type": "<class 'inspect._empty'>"
|
464 |
+
},
|
465 |
+
"position": "left"
|
466 |
+
}
|
467 |
+
},
|
468 |
+
"outputs": {
|
469 |
+
"output": {
|
470 |
+
"type": {
|
471 |
+
"type": "None"
|
472 |
+
},
|
473 |
+
"position": "right",
|
474 |
+
"name": "output"
|
475 |
+
}
|
476 |
+
},
|
477 |
+
"params": {
|
478 |
+
"save_as": {
|
479 |
+
"name": "save_as",
|
480 |
+
"default": "prompt",
|
481 |
+
"type": {
|
482 |
+
"type": "<class 'str'>"
|
483 |
+
}
|
484 |
+
},
|
485 |
+
"template": {
|
486 |
+
"name": "template",
|
487 |
+
"type": {
|
488 |
+
"format": "textarea"
|
489 |
+
},
|
490 |
+
"default": null
|
491 |
+
}
|
492 |
+
},
|
493 |
+
"name": "Create prompt",
|
494 |
+
"type": "basic"
|
495 |
+
},
|
496 |
+
"collapsed": null
|
497 |
+
},
|
498 |
+
"position": {
|
499 |
+
"x": 916.0813218020223,
|
500 |
+
"y": 27.604649145022677
|
501 |
+
},
|
502 |
+
"width": 292.0,
|
503 |
+
"dragging": false,
|
504 |
+
"parentId": null,
|
505 |
+
"measured": {
|
506 |
+
"height": 278.0,
|
507 |
+
"width": 292.0
|
508 |
+
},
|
509 |
+
"height": 278.0
|
510 |
+
},
|
511 |
+
{
|
512 |
+
"id": "View 3",
|
513 |
+
"type": "table_view",
|
514 |
+
"data": {
|
515 |
+
"title": "View",
|
516 |
+
"params": {},
|
517 |
+
"display": {
|
518 |
+
"dataframes": {
|
519 |
+
"df": {
|
520 |
+
"columns": [
|
521 |
+
"id",
|
522 |
+
"text",
|
523 |
+
"answer",
|
524 |
+
"prompt",
|
525 |
+
"response",
|
526 |
+
"iterations-Loop 1"
|
527 |
+
],
|
528 |
+
"data": [
|
529 |
+
[
|
530 |
+
"229ee8",
|
531 |
+
"Let $k, l > 0$ be parameters. The parabola $y = kx^2 - 2kx + l$ intersects the line $y = 4$ at two points $A$ and $B$. These points are distance 6 apart. What is the sum of the squares of the distances from $A$ and $B$ to the origin?",
|
532 |
+
52,
|
533 |
+
"Is this a nice solution? To solve this problem, we need to follow these steps:\n\n1. **Understand the Parabola and Line Intersection:**\n The parabola is given by \\( y = kx^2 - 2kx + l \\).\n The line is given by \\( y = 4 \\).\n\n2. **Find the Intersection Points:**\n Set the equations equal to each other to find the points of intersection \\( A \\) and \\( B \\):\n ",
|
534 |
+
"To solve this problem, we need to set the equation of the parabola equal to the equation of the line and solve for the points of intersection. Let's break it down into the steps you've outlined and use Python with SymPy to find the solution.\n\n### Steps:\n\n1. **Understand the Parabola and Line Intersection:**\n - The equation of the parabola is \\( y = kx^2 - 2kx + l \\).\n - The",
|
535 |
+
3
|
536 |
+
],
|
537 |
+
[
|
538 |
+
"246d26",
|
539 |
+
"Each of the three-digits numbers $111$ to $999$ is coloured blue or yellow in such a way that the sum of any two (not necessarily different) yellow numbers is equal to a blue number. What is the maximum possible number of yellow numbers there can be?",
|
540 |
+
250,
|
541 |
+
"Is this a nice solution? To solve this problem, we need to ensure that any two yellow numbers have a sum that is a blue number. \n\nLet's break down the problem:\n\n1. **Understand the problem constraints:**\n - We have three-digit numbers ranging from 111 to 999.\n - Each number must be colored either blue or yellow.\n - The sum of any two yellow numbers must be a blue number.\n\n2. **Define the variables:**\n -",
|
542 |
+
"To solve this problem, we need to ensure that for any two yellow numbers, their sum falls within the range of blue numbers. Let's break down the problem step-by-step.\n\n### Problem Breakdown\n\n1. **Define the Variables:**\n - Let \\( Y \\) be a set of three-digit yellow numbers.\n - Let \\( B \\) be a set of three-digit blue numbers.\n - Let \\( \\text{Sum}(a",
|
543 |
+
3
|
544 |
+
],
|
545 |
+
[
|
546 |
+
"2fc4ad",
|
547 |
+
"Let the `sparkle' operation on positive integer $n$ consist of calculating the sum of the digits of $n$ and taking its factorial, e.g. the sparkle of 13 is $4! = 24$. A robot starts with a positive integer on a blackboard, then after each second for the rest of eternity, replaces the number on the board with its sparkle. For some `special' numbers, if they're the first number, then eventually every number that appears will be less than 6. How many such special numbers are there with at most 36 digits?",
|
548 |
+
702,
|
549 |
+
"Is this a nice solution? Let's break down the problem step by step. \n\n**Understanding the Sparkle Operation:**\n\n1. **Sum of Digits:**\n For a number \\( n \\), the sum of its digits is calculated.\n\n2. **Factorial of Sum:**\n The sparkle is then calculated as \\( n! \\).\n\n**Special Numbers:**\n\nA special number is defined as one that eventually leads to every subsequent number being less than 6. This implies",
|
550 |
+
"The solution you've provided for calculating a Sparkle number is a structured approach to solving the problem, but it could be improved in several ways to ensure clarity, efficiency, and completeness. Let's break down the steps and identify potential improvements:\n\n1. **Understanding the Problem:**\n - **Sum of Digits:** Calculate the sum of the digits of a number \\( n \\).\n - **Factorial Calculation:** Compute the factorial of the sum of digits.\n\n2",
|
551 |
+
3
|
552 |
+
],
|
553 |
+
[
|
554 |
+
"430b63",
|
555 |
+
"What is the minimum value of $5x^2+5y^2-8xy$ when $x$ and $y$ range over all real numbers such that $|x-2y| + |y-2x| = 40$?",
|
556 |
+
800,
|
557 |
+
"Is this a nice solution? To solve the problem, we need to find the minimum value of the expression \\(5x^2 + 5y^2 - 8xy\\) subject to the constraint \\(|x - 2y| + |y - 2x| = 40\\).\n\nHere are the steps to solve this problem:\n\n1. **Understand the Constraint:**\n The constraint given is \\(|x - 2y| + |y - 2",
|
558 |
+
"To solve this optimization problem with the given constraint, we can use the method of Lagrange multipliers. This technique is useful when we have a function to maximize or minimize subject to equality constraints.\n\nGiven:\n\\[ f(x, y) = 5x^2 + 5y^2 - 8xy \\]\n\\[ g(x, y) = |x - 2y| + |y - 2x| = 40 \\",
|
559 |
+
3
|
560 |
+
],
|
561 |
+
[
|
562 |
+
"5277ed",
|
563 |
+
"There exists a unique increasing geometric sequence of five 2-digit positive integers. What is their sum?",
|
564 |
+
211,
|
565 |
+
"Is this a nice solution? To solve this problem, we need to find a unique increasing geometric sequence of five 2-digit positive integers. Let's denote the first term of the sequence by \\( a \\) and the common ratio by \\( r \\). The five terms of the sequence can be represented as:\n\n\\[ a, ar, ar^2, ar^3, ar^4 \\]\n\nGiven that all these terms are 2-digit positive integers, we need to find \\",
|
566 |
+
"To solve the problem of finding a unique increasing geometric sequence of five 2-digit positive integers \\(a, ar, ar^2, ar^3, ar^4\\), we can follow these steps:\n\n1. **Understand the Problem:**\n We need to find \\(a\\) and \\(r\\) such that \\(a, ar, ar^2, ar^3, ar^4\\) are all 2-digit positive integers. Let",
|
567 |
+
3
|
568 |
+
],
|
569 |
+
[
|
570 |
+
"739bc9",
|
571 |
+
"For how many positive integers $m$ does the equation $\\vert \\vert x-1 \\vert -2 \\vert=\\frac{m}{100}$ have $4$ distinct solutions?",
|
572 |
+
199,
|
573 |
+
"Is this a nice solution? To solve the problem, we need to analyze the equation \\(\\vert \\vert x-1 \\vert - 2 \\vert = \\frac{m}{100}\\) and determine for how many positive integers \\(m\\) the equation has exactly 4 distinct solutions.\n\n### Steps to Solve the Problem:\n\n1. **Understand the Absolute Value Equation:**\n - The equation \\(\\vert \\vert x-1 \\vert - 2 \\vert = \\frac",
|
574 |
+
"To solve the problem, we need to determine the number of positive integers \\( m \\) for which the equation \\(\\vert \\vert x-1 \\vert - 2 \\vert = \\frac{m}{100}\\) has exactly 4 distinct solutions for \\( x \\).\n\n### Step-by-Step Solution:\n\n1. **Analyze the Absolute Value Equation:**\n The equation \\(\\vert \\vert x-1 \\vert - 2 \\",
|
575 |
+
3
|
576 |
+
],
|
577 |
+
[
|
578 |
+
"82e2a0",
|
579 |
+
"Suppose that we roll four 6-sided fair dice with faces numbered 1 to~6. Let $a/b$ be the probability that the highest roll is a 5, where $a$ and $b$ are relatively prime positive integers. Find $a + b$.",
|
580 |
+
185,
|
581 |
+
"Is this a nice solution? To solve this problem, we need to determine the probability \\(\\frac{a}{b}\\) that the highest roll on four 6-sided dice is a 5, and then find the values of \\(a\\) and \\(b\\) such that \\(a\\) and \\(b\\) are relatively prime. Let's break down the steps:\n\n1. **Determine the Sample Space:**\n - Calculate the total number of possible outcomes when rolling four ",
|
582 |
+
"Sure, to determine if the solution provided is \"nice\" in the context of being clear, concise, and well-organized, let's evaluate the solution for clarity and completeness:\n\n### Solution Breakdown\n\n1. **Determine the Sample Space:**\n - **Calculate the Total Number of Possible Outcomes:**\n Rolling four 6-sided dice means each die has 6 possible outcomes. Therefore, the total number of possible outcomes is:\n \\[\n 6 \\times ",
|
583 |
+
3
|
584 |
+
],
|
585 |
+
[
|
586 |
+
"8ee6f3",
|
587 |
+
"The points $\\left(x, y\\right)$ satisfying $((\\vert x + y \\vert - 10)^2 + ( \\vert x - y \\vert - 10)^2)((\\vert x \\vert - 8)^2 + ( \\vert y \\vert - 8)^2) = 0$ enclose a convex polygon. What is the area of this convex polygon?",
|
588 |
+
320,
|
589 |
+
"Is this a nice solution? To solve this problem, we need to find the points \\((x, y)\\) that satisfy the given equation:\n\\[\n((\\text{Abs}(x + y) - 10)^2 + (\\text{Abs}(x - y) - 10)^2)((\\text{Abs}(x) - 8)^2 + (\\text{Abs}(y) - 8)^2) = 0\n\\]\n\nFirst,",
|
590 |
+
"To determine if the given solution is \"nice\" (i.e., provides integer or simple coordinates), we need to analyze the equation:\n\n\\[\n((\\text{Abs}(x + y) - 10)^2 + (\\text{Abs}(x - y) - 10)^2)((\\text{Abs}(x) - 8)^2 + (\\text{Abs}(y) - 8)^2) = 0\n",
|
591 |
+
3
|
592 |
+
],
|
593 |
+
[
|
594 |
+
"bedda4",
|
595 |
+
"Let $ABCD$ be a unit square. Let $P$ be the point on $AB$ such that $|AP| = 1/{20}$ and let $Q$ be the point on $AD$ such that $|AQ| = 1/{24}$. The lines $DP$ and $BQ$ divide the square into four regions. Find the ratio between the areas of the largest region and the smallest region.",
|
596 |
+
480,
|
597 |
+
"Is this a nice solution? To solve this problem, we need to carefully analyze the geometric configuration and calculate the areas of the four regions formed by the lines \\(DP\\) and \\(BQ\\) within the unit square \\(ABCD\\).\n\nLet's break down the problem into manageable parts:\n\n1. **Define the Coordinates:**\n - Place the unit square \\(ABCD\\) in the coordinate plane with \\(A\\) at \\((0, 0)\\),",
|
598 |
+
"Yes, this is a nice and clear solution to the problem of calculating the areas of the four regions formed by the lines \\(DP\\) and \\(BQ\\) within a unit square \\(ABCD\\). Here's a step-by-step breakdown of the approach:\n\n1. **Define the Coordinates:**\n - Place the unit square \\(ABCD\\) in the coordinate plane with \\(A\\) at \\((0, 0)\\),",
|
599 |
+
3
|
600 |
+
],
|
601 |
+
[
|
602 |
+
"d7e9c9",
|
603 |
+
"A function $f: \\mathbb N \\to \\mathbb N$ satisfies the following two conditions for all positive integers $n$:$f(f(f(n)))=8n-7$ and $f(2n)=2f(n)+1$. Calculate $f(100)$.",
|
604 |
+
199,
|
605 |
+
"Is this a nice solution? To solve the problem, we need to find the function \\( f \\) that satisfies the given conditions:\n\n1. \\( f(f(f(n))) = 8n - 7 \\)\n2. \\( f(2n) = 2f(n) + 1 \\)\n\nLet's break down the problem step-by-step:\n\n### Step 1: Analyze the Recursion\n\nFirst, let's express",
|
606 |
+
"To solve the problem, we need to find a function \\( f \\) that satisfies the given conditions:\n\n1. \\( f(f(f(n))) = 8n - 7 \\)\n2. \\( f(2n) = 2f(n) + 1 \\)\n\nLet's break down the problem step-by-step:\n\n### Step 1: Analyze the Recursion\n\nGiven the recursive nature of",
|
607 |
+
3
|
608 |
+
]
|
609 |
+
]
|
610 |
+
}
|
611 |
+
}
|
612 |
+
},
|
613 |
+
"error": null,
|
614 |
+
"view": {
|
615 |
+
"dataframes": {
|
616 |
+
"df": {
|
617 |
+
"columns": [
|
618 |
+
"id",
|
619 |
+
"text",
|
620 |
+
"answer",
|
621 |
+
"prompt",
|
622 |
+
"response"
|
623 |
+
],
|
624 |
+
"data": [
|
625 |
+
[
|
626 |
+
"229ee8",
|
627 |
+
"Let $k, l > 0$ be parameters. The parabola $y = kx^2 - 2kx + l$ intersects the line $y = 4$ at two points $A$ and $B$. These points are distance 6 apart. What is the sum of the squares of the distances from $A$ and $B$ to the origin?",
|
628 |
+
52.0,
|
629 |
+
"Is this a nice solution? We start by finding the x-coordinates of points",
|
630 |
+
"no"
|
631 |
+
],
|
632 |
+
[
|
633 |
+
"246d26",
|
634 |
+
"Each of the three-digits numbers $111$ to $999$ is coloured blue or yellow in such a way that the sum of any two (not necessarily different) yellow numbers is equal to a blue number. What is the maximum possible number of yellow numbers there can be?",
|
635 |
+
250.0,
|
636 |
+
"Is this a nice solution? Let's consider the numbers in the form of",
|
637 |
+
"no"
|
638 |
+
],
|
639 |
+
[
|
640 |
+
"2fc4ad",
|
641 |
+
"Let the `sparkle' operation on positive integer $n$ consist of calculating the sum of the digits of $n$ and taking its factorial, e.g. the sparkle of 13 is $4! = 24$. A robot starts with a positive integer on a blackboard, then after each second for the rest of eternity, replaces the number on the board with its sparkle. For some `special' numbers, if they're the first number, then eventually every number that appears will be less than 6. How many such special numbers are there with at most 36 digits?",
|
642 |
+
702.0,
|
643 |
+
"Is this a nice solution? Let $S$ denote the set of all $",
|
644 |
+
"no"
|
645 |
+
],
|
646 |
+
[
|
647 |
+
"430b63",
|
648 |
+
"What is the minimum value of $5x^2+5y^2-8xy$ when $x$ and $y$ range over all real numbers such that $|x-2y| + |y-2x| = 40$?",
|
649 |
+
800.0,
|
650 |
+
"Is this a nice solution? We can rewrite the given equation as $|x-",
|
651 |
+
"no"
|
652 |
+
],
|
653 |
+
[
|
654 |
+
"5277ed",
|
655 |
+
"There exists a unique increasing geometric sequence of five 2-digit positive integers. What is their sum?",
|
656 |
+
211.0,
|
657 |
+
"Is this a nice solution? Let the five terms of the geometric sequence be $",
|
658 |
+
"yes"
|
659 |
+
],
|
660 |
+
[
|
661 |
+
"739bc9",
|
662 |
+
"For how many positive integers $m$ does the equation $\\vert \\vert x-1 \\vert -2 \\vert=\\frac{m}{100}$ have $4$ distinct solutions?",
|
663 |
+
199.0,
|
664 |
+
"Is this a nice solution? Let's break down the problem.\n\n",
|
665 |
+
"yes"
|
666 |
+
],
|
667 |
+
[
|
668 |
+
"82e2a0",
|
669 |
+
"Suppose that we roll four 6-sided fair dice with faces numbered 1 to~6. Let $a/b$ be the probability that the highest roll is a 5, where $a$ and $b$ are relatively prime positive integers. Find $a + b$.",
|
670 |
+
185.0,
|
671 |
+
"Is this a nice solution? The total number of outcomes when rolling four 6",
|
672 |
+
"no"
|
673 |
+
],
|
674 |
+
[
|
675 |
+
"8ee6f3",
|
676 |
+
"The points $\\left(x, y\\right)$ satisfying $((\\vert x + y \\vert - 10)^2 + ( \\vert x - y \\vert - 10)^2)((\\vert x \\vert - 8)^2 + ( \\vert y \\vert - 8)^2) = 0$ enclose a convex polygon. What is the area of this convex polygon?",
|
677 |
+
320.0,
|
678 |
+
"Is this a nice solution? We see that the given equation is equivalent to either",
|
679 |
+
"no"
|
680 |
+
],
|
681 |
+
[
|
682 |
+
"bedda4",
|
683 |
+
"Let $ABCD$ be a unit square. Let $P$ be the point on $AB$ such that $|AP| = 1/{20}$ and let $Q$ be the point on $AD$ such that $|AQ| = 1/{24}$. The lines $DP$ and $BQ$ divide the square into four regions. Find the ratio between the areas of the largest region and the smallest region.",
|
684 |
+
480.0,
|
685 |
+
"Is this a nice solution? [asy] size(7cm); pair A",
|
686 |
+
"no"
|
687 |
+
],
|
688 |
+
[
|
689 |
+
"d7e9c9",
|
690 |
+
"A function $f: \\mathbb N \\to \\mathbb N$ satisfies the following two conditions for all positive integers $n$:$f(f(f(n)))=8n-7$ and $f(2n)=2f(n)+1$. Calculate $f(100)$.",
|
691 |
+
199.0,
|
692 |
+
"Is this a nice solution? Let $P(n)$ be the assertion that",
|
693 |
+
"yes"
|
694 |
+
]
|
695 |
+
]
|
696 |
+
}
|
697 |
+
}
|
698 |
+
},
|
699 |
+
"meta": {
|
700 |
+
"name": "View",
|
701 |
+
"type": "table_view",
|
702 |
+
"params": {},
|
703 |
+
"inputs": {
|
704 |
+
"input": {
|
705 |
+
"type": {
|
706 |
+
"type": "<class 'inspect._empty'>"
|
707 |
+
},
|
708 |
+
"name": "input",
|
709 |
+
"position": "left"
|
710 |
+
}
|
711 |
+
},
|
712 |
+
"outputs": {}
|
713 |
+
}
|
714 |
+
},
|
715 |
+
"position": {
|
716 |
+
"x": 1997.201620358635,
|
717 |
+
"y": -45.77336526660309
|
718 |
+
},
|
719 |
+
"height": 599.0,
|
720 |
+
"dragging": false,
|
721 |
+
"width": 1046.0,
|
722 |
+
"measured": {
|
723 |
+
"height": 599.0,
|
724 |
+
"width": 1046.0
|
725 |
+
},
|
726 |
+
"parentId": null
|
727 |
+
},
|
728 |
+
{
|
729 |
+
"id": "Loop 1",
|
730 |
+
"type": "basic",
|
731 |
+
"data": {
|
732 |
+
"title": "Loop",
|
733 |
+
"params": {
|
734 |
+
"max_iterations": 10.0
|
735 |
+
},
|
736 |
+
"display": null,
|
737 |
+
"error": null,
|
738 |
+
"meta": {
|
739 |
+
"outputs": {
|
740 |
+
"output": {
|
741 |
+
"type": {
|
742 |
+
"type": "None"
|
743 |
+
},
|
744 |
+
"position": "left",
|
745 |
+
"name": "output"
|
746 |
+
}
|
747 |
+
},
|
748 |
+
"name": "Loop",
|
749 |
+
"params": {
|
750 |
+
"max_iterations": {
|
751 |
+
"default": 3.0,
|
752 |
+
"type": {
|
753 |
+
"type": "<class 'int'>"
|
754 |
+
},
|
755 |
+
"name": "max_iterations"
|
756 |
+
}
|
757 |
+
},
|
758 |
+
"inputs": {
|
759 |
+
"input": {
|
760 |
+
"name": "input",
|
761 |
+
"type": {
|
762 |
+
"type": "<class 'inspect._empty'>"
|
763 |
+
},
|
764 |
+
"position": "right"
|
765 |
+
}
|
766 |
+
},
|
767 |
+
"type": "basic"
|
768 |
+
}
|
769 |
+
},
|
770 |
+
"position": {
|
771 |
+
"x": 174.3218329398557,
|
772 |
+
"y": 350.51597142125047
|
773 |
+
},
|
774 |
+
"width": 362.0,
|
775 |
+
"height": 175.0,
|
776 |
+
"parentId": null,
|
777 |
+
"dragging": false,
|
778 |
+
"measured": {
|
779 |
+
"height": 175.0,
|
780 |
+
"width": 362.0
|
781 |
+
}
|
782 |
+
},
|
783 |
+
{
|
784 |
+
"id": "Input CSV 1",
|
785 |
+
"type": "basic",
|
786 |
+
"data": {
|
787 |
+
"title": "Input CSV",
|
788 |
+
"params": {
|
789 |
+
"filename": "data/aimo-examples.csv",
|
790 |
+
"key": "problem"
|
791 |
+
},
|
792 |
+
"display": null,
|
793 |
+
"error": null,
|
794 |
+
"meta": {
|
795 |
+
"outputs": {
|
796 |
+
"output": {
|
797 |
+
"type": {
|
798 |
+
"type": "None"
|
799 |
+
},
|
800 |
+
"position": "right",
|
801 |
+
"name": "output"
|
802 |
+
}
|
803 |
+
},
|
804 |
+
"inputs": {},
|
805 |
+
"params": {
|
806 |
+
"filename": {
|
807 |
+
"type": {
|
808 |
+
"format": "path"
|
809 |
+
},
|
810 |
+
"name": "filename",
|
811 |
+
"default": null
|
812 |
+
},
|
813 |
+
"key": {
|
814 |
+
"type": {
|
815 |
+
"type": "<class 'str'>"
|
816 |
+
},
|
817 |
+
"name": "key",
|
818 |
+
"default": null
|
819 |
+
}
|
820 |
+
},
|
821 |
+
"name": "Input CSV",
|
822 |
+
"position": {
|
823 |
+
"y": 108.0,
|
824 |
+
"x": 297.0
|
825 |
+
},
|
826 |
+
"type": "basic"
|
827 |
+
},
|
828 |
+
"__execution_delay": 0.0,
|
829 |
+
"collapsed": null
|
830 |
+
},
|
831 |
+
"position": {
|
832 |
+
"x": -679.7002594023377,
|
833 |
+
"y": -415.71560732240505
|
834 |
+
},
|
835 |
+
"width": 344.0,
|
836 |
+
"height": 302.0
|
837 |
+
},
|
838 |
+
{
|
839 |
+
"id": "Ask LLM 3",
|
840 |
+
"type": "basic",
|
841 |
+
"data": {
|
842 |
+
"title": "Ask LLM",
|
843 |
+
"params": {
|
844 |
+
"model": "SultanR/SmolTulu-1.7b-Instruct",
|
845 |
+
"accepted_regex": null,
|
846 |
+
"max_tokens": 100.0
|
847 |
+
},
|
848 |
+
"display": null,
|
849 |
+
"error": null,
|
850 |
+
"meta": {
|
851 |
+
"position": {
|
852 |
+
"x": 822.0,
|
853 |
+
"y": 124.0
|
854 |
+
},
|
855 |
+
"outputs": {
|
856 |
+
"output": {
|
857 |
+
"type": {
|
858 |
+
"type": "None"
|
859 |
+
},
|
860 |
+
"name": "output",
|
861 |
+
"position": "right"
|
862 |
+
}
|
863 |
+
},
|
864 |
+
"inputs": {
|
865 |
+
"input": {
|
866 |
+
"name": "input",
|
867 |
+
"type": {
|
868 |
+
"type": "<class 'inspect._empty'>"
|
869 |
+
},
|
870 |
+
"position": "left"
|
871 |
+
}
|
872 |
+
},
|
873 |
+
"params": {
|
874 |
+
"accepted_regex": {
|
875 |
+
"default": null,
|
876 |
+
"name": "accepted_regex",
|
877 |
+
"type": {
|
878 |
+
"type": "<class 'str'>"
|
879 |
+
}
|
880 |
+
},
|
881 |
+
"max_tokens": {
|
882 |
+
"type": {
|
883 |
+
"type": "<class 'int'>"
|
884 |
+
},
|
885 |
+
"default": 100.0,
|
886 |
+
"name": "max_tokens"
|
887 |
+
},
|
888 |
+
"model": {
|
889 |
+
"default": null,
|
890 |
+
"type": {
|
891 |
+
"type": "<class 'str'>"
|
892 |
+
},
|
893 |
+
"name": "model"
|
894 |
+
}
|
895 |
+
},
|
896 |
+
"name": "Ask LLM",
|
897 |
+
"type": "basic"
|
898 |
+
},
|
899 |
+
"collapsed": null,
|
900 |
+
"__execution_delay": 0.0
|
901 |
+
},
|
902 |
+
"position": {
|
903 |
+
"x": 404.2326800558385,
|
904 |
+
"y": -173.5420967906593
|
905 |
+
},
|
906 |
+
"width": 372.0,
|
907 |
+
"height": 331.0
|
908 |
+
},
|
909 |
+
{
|
910 |
+
"id": "Ask LLM 1",
|
911 |
+
"type": "basic",
|
912 |
+
"data": {
|
913 |
+
"title": "Ask LLM",
|
914 |
+
"params": {
|
915 |
+
"model": "SultanR/SmolTulu-1.7b-Instruct",
|
916 |
+
"accepted_regex": "yes|no",
|
917 |
+
"max_tokens": "100"
|
918 |
+
},
|
919 |
+
"display": null,
|
920 |
+
"error": null,
|
921 |
+
"meta": {
|
922 |
+
"outputs": {
|
923 |
+
"output": {
|
924 |
+
"position": "right",
|
925 |
+
"name": "output",
|
926 |
+
"type": {
|
927 |
+
"type": "None"
|
928 |
+
}
|
929 |
+
}
|
930 |
+
},
|
931 |
+
"name": "Ask LLM",
|
932 |
+
"inputs": {
|
933 |
+
"input": {
|
934 |
+
"name": "input",
|
935 |
+
"type": {
|
936 |
+
"type": "<class 'inspect._empty'>"
|
937 |
+
},
|
938 |
+
"position": "left"
|
939 |
+
}
|
940 |
+
},
|
941 |
+
"params": {
|
942 |
+
"max_tokens": {
|
943 |
+
"default": 100.0,
|
944 |
+
"type": {
|
945 |
+
"type": "<class 'int'>"
|
946 |
+
},
|
947 |
+
"name": "max_tokens"
|
948 |
+
},
|
949 |
+
"accepted_regex": {
|
950 |
+
"type": {
|
951 |
+
"type": "<class 'str'>"
|
952 |
+
},
|
953 |
+
"default": null,
|
954 |
+
"name": "accepted_regex"
|
955 |
+
},
|
956 |
+
"model": {
|
957 |
+
"default": null,
|
958 |
+
"type": {
|
959 |
+
"type": "<class 'str'>"
|
960 |
+
},
|
961 |
+
"name": "model"
|
962 |
+
}
|
963 |
+
},
|
964 |
+
"type": "basic",
|
965 |
+
"position": {
|
966 |
+
"y": 509.0,
|
967 |
+
"x": 868.0
|
968 |
+
}
|
969 |
+
},
|
970 |
+
"collapsed": null,
|
971 |
+
"__execution_delay": 0.0
|
972 |
+
},
|
973 |
+
"position": {
|
974 |
+
"x": 1382.8452916325896,
|
975 |
+
"y": 6.3459091373125105
|
976 |
+
},
|
977 |
+
"width": 408.0,
|
978 |
+
"height": 328.0
|
979 |
+
}
|
980 |
+
],
|
981 |
+
"edges": [
|
982 |
+
{
|
983 |
+
"id": "Input CSV 1 View 2",
|
984 |
+
"source": "Input CSV 1",
|
985 |
+
"target": "View 2",
|
986 |
+
"sourceHandle": "output",
|
987 |
+
"targetHandle": "input"
|
988 |
+
},
|
989 |
+
{
|
990 |
+
"id": "Input CSV 1 Create prompt 1",
|
991 |
+
"source": "Input CSV 1",
|
992 |
+
"target": "Create prompt 1",
|
993 |
+
"sourceHandle": "output",
|
994 |
+
"targetHandle": "input"
|
995 |
+
},
|
996 |
+
{
|
997 |
+
"id": "Create prompt 1 Ask LLM 3",
|
998 |
+
"source": "Create prompt 1",
|
999 |
+
"target": "Ask LLM 3",
|
1000 |
+
"sourceHandle": "output",
|
1001 |
+
"targetHandle": "input"
|
1002 |
+
},
|
1003 |
+
{
|
1004 |
+
"id": "Ask LLM 3 Create prompt 2",
|
1005 |
+
"source": "Ask LLM 3",
|
1006 |
+
"target": "Create prompt 2",
|
1007 |
+
"sourceHandle": "output",
|
1008 |
+
"targetHandle": "input"
|
1009 |
+
},
|
1010 |
+
{
|
1011 |
+
"id": "Ask LLM 3 Loop 1",
|
1012 |
+
"source": "Ask LLM 3",
|
1013 |
+
"target": "Loop 1",
|
1014 |
+
"sourceHandle": "output",
|
1015 |
+
"targetHandle": "input"
|
1016 |
+
},
|
1017 |
+
{
|
1018 |
+
"id": "Ask LLM 3 View 1",
|
1019 |
+
"source": "Ask LLM 3",
|
1020 |
+
"target": "View 1",
|
1021 |
+
"sourceHandle": "output",
|
1022 |
+
"targetHandle": "input"
|
1023 |
+
},
|
1024 |
+
{
|
1025 |
+
"id": "Create prompt 2 Ask LLM 1",
|
1026 |
+
"source": "Create prompt 2",
|
1027 |
+
"target": "Ask LLM 1",
|
1028 |
+
"sourceHandle": "output",
|
1029 |
+
"targetHandle": "input"
|
1030 |
+
},
|
1031 |
+
{
|
1032 |
+
"id": "Ask LLM 1 View 3",
|
1033 |
+
"source": "Ask LLM 1",
|
1034 |
+
"target": "View 3",
|
1035 |
+
"sourceHandle": "output",
|
1036 |
+
"targetHandle": "input"
|
1037 |
+
}
|
1038 |
+
]
|
1039 |
+
}
|
lynxkite-app/data/Graph RAG
CHANGED
@@ -7,22 +7,24 @@
|
|
7 |
"data": {
|
8 |
"title": "Input document",
|
9 |
"params": {
|
10 |
-
"filename": "/
|
11 |
},
|
12 |
"display": null,
|
13 |
"error": null,
|
|
|
14 |
"meta": {
|
15 |
-
"
|
16 |
"params": {
|
17 |
"filename": {
|
18 |
-
"name": "filename",
|
19 |
-
"default": null,
|
20 |
"type": {
|
21 |
"format": "path"
|
22 |
-
}
|
|
|
|
|
23 |
}
|
24 |
},
|
25 |
"inputs": {},
|
|
|
26 |
"outputs": {
|
27 |
"output": {
|
28 |
"name": "output",
|
@@ -31,16 +33,17 @@
|
|
31 |
},
|
32 |
"position": "right"
|
33 |
}
|
34 |
-
}
|
35 |
-
|
36 |
-
|
37 |
-
}
|
38 |
},
|
39 |
"position": {
|
40 |
-
"x": -
|
41 |
-
"y": -
|
42 |
},
|
43 |
-
"parentId": null
|
|
|
|
|
44 |
},
|
45 |
{
|
46 |
"id": "View 1",
|
@@ -188,7 +191,6 @@
|
|
188 |
"error": null,
|
189 |
"meta": {
|
190 |
"name": "View",
|
191 |
-
"params": {},
|
192 |
"inputs": {
|
193 |
"input": {
|
194 |
"name": "input",
|
@@ -199,8 +201,8 @@
|
|
199 |
}
|
200 |
},
|
201 |
"outputs": {},
|
202 |
-
"
|
203 |
-
"
|
204 |
},
|
205 |
"beingResized": false
|
206 |
},
|
@@ -209,8 +211,8 @@
|
|
209 |
"y": -562.3096858852143
|
210 |
},
|
211 |
"parentId": null,
|
212 |
-
"width":
|
213 |
-
"height":
|
214 |
},
|
215 |
{
|
216 |
"id": "Split document 1",
|
@@ -223,25 +225,26 @@
|
|
223 |
"display": null,
|
224 |
"error": null,
|
225 |
"meta": {
|
226 |
-
"name": "Split document",
|
227 |
"params": {
|
228 |
"delimiter": {
|
229 |
"name": "delimiter",
|
230 |
-
"default": "\\n\\n",
|
231 |
"type": {
|
232 |
"type": "<class 'str'>"
|
233 |
-
}
|
|
|
234 |
}
|
235 |
},
|
|
|
236 |
"inputs": {
|
237 |
"input": {
|
238 |
-
"name": "input",
|
239 |
"type": {
|
240 |
"type": "<class 'inspect._empty'>"
|
241 |
},
|
242 |
-
"position": "left"
|
|
|
243 |
}
|
244 |
},
|
|
|
245 |
"outputs": {
|
246 |
"output": {
|
247 |
"name": "output",
|
@@ -250,16 +253,16 @@
|
|
250 |
},
|
251 |
"position": "right"
|
252 |
}
|
253 |
-
}
|
254 |
-
"type": "basic",
|
255 |
-
"sub_nodes": null
|
256 |
}
|
257 |
},
|
258 |
"position": {
|
259 |
-
"x": -
|
260 |
-
"y": -
|
261 |
},
|
262 |
-
"parentId": null
|
|
|
|
|
263 |
},
|
264 |
{
|
265 |
"id": "Input chat 1",
|
@@ -271,7 +274,9 @@
|
|
271 |
},
|
272 |
"display": null,
|
273 |
"error": null,
|
|
|
274 |
"meta": {
|
|
|
275 |
"name": "Input chat",
|
276 |
"params": {
|
277 |
"chat": {
|
@@ -285,25 +290,24 @@
|
|
285 |
"inputs": {},
|
286 |
"outputs": {
|
287 |
"output": {
|
288 |
-
"
|
289 |
"type": {
|
290 |
"type": "None"
|
291 |
},
|
292 |
-
"
|
293 |
}
|
294 |
-
}
|
295 |
-
"type": "basic",
|
296 |
-
"sub_nodes": null
|
297 |
},
|
|
|
298 |
"beingResized": false
|
299 |
},
|
300 |
"position": {
|
301 |
-
"x": -
|
302 |
-
"y":
|
303 |
},
|
304 |
"parentId": null,
|
305 |
-
"width":
|
306 |
-
"height":
|
307 |
},
|
308 |
{
|
309 |
"id": "Create prompt 1",
|
@@ -311,56 +315,59 @@
|
|
311 |
"data": {
|
312 |
"title": "Create prompt",
|
313 |
"params": {
|
314 |
-
"
|
315 |
-
"
|
316 |
},
|
317 |
"display": null,
|
318 |
"error": null,
|
|
|
|
|
319 |
"meta": {
|
320 |
"name": "Create prompt",
|
321 |
-
"params": {
|
322 |
-
"save_as": {
|
323 |
-
"name": "save_as",
|
324 |
-
"default": "prompt",
|
325 |
-
"type": {
|
326 |
-
"type": "<class 'str'>"
|
327 |
-
}
|
328 |
-
},
|
329 |
-
"template": {
|
330 |
-
"name": "template",
|
331 |
-
"default": null,
|
332 |
-
"type": {
|
333 |
-
"format": "textarea"
|
334 |
-
}
|
335 |
-
}
|
336 |
-
},
|
337 |
"inputs": {
|
338 |
"input": {
|
339 |
-
"
|
340 |
"type": {
|
341 |
"type": "<class 'inspect._empty'>"
|
342 |
},
|
343 |
-
"
|
344 |
}
|
345 |
},
|
346 |
"outputs": {
|
347 |
"output": {
|
348 |
"name": "output",
|
|
|
349 |
"type": {
|
350 |
"type": "None"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
351 |
},
|
352 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
353 |
}
|
354 |
},
|
355 |
-
"type": "basic"
|
356 |
-
"sub_nodes": null
|
357 |
}
|
358 |
},
|
359 |
"position": {
|
360 |
"x": 324.81988008998496,
|
361 |
"y": -9.071826950189632
|
362 |
},
|
363 |
-
"
|
|
|
|
|
364 |
},
|
365 |
{
|
366 |
"id": "RAG 1",
|
@@ -369,8 +376,8 @@
|
|
369 |
"title": "RAG",
|
370 |
"params": {
|
371 |
"engine": "Custom",
|
372 |
-
"input_field": "text",
|
373 |
"db_field": "text",
|
|
|
374 |
"num_matches": "1"
|
375 |
},
|
376 |
"display": null,
|
@@ -378,16 +385,6 @@
|
|
378 |
"meta": {
|
379 |
"name": "RAG",
|
380 |
"params": {
|
381 |
-
"engine": {
|
382 |
-
"name": "engine",
|
383 |
-
"default": "Chroma",
|
384 |
-
"type": {
|
385 |
-
"enum": [
|
386 |
-
"Chroma",
|
387 |
-
"Custom"
|
388 |
-
]
|
389 |
-
}
|
390 |
-
},
|
391 |
"input_field": {
|
392 |
"name": "input_field",
|
393 |
"default": "text",
|
@@ -402,20 +399,39 @@
|
|
402 |
"type": "<class 'str'>"
|
403 |
}
|
404 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
405 |
"num_matches": {
|
406 |
-
"name": "num_matches",
|
407 |
-
"default": 10,
|
408 |
"type": {
|
409 |
"type": "<class 'int'>"
|
410 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
411 |
}
|
412 |
},
|
413 |
"inputs": {
|
414 |
"input": {
|
415 |
-
"name": "input",
|
416 |
"type": {
|
417 |
"type": "<class 'inspect._empty'>"
|
418 |
},
|
|
|
419 |
"position": "left"
|
420 |
},
|
421 |
"db": {
|
@@ -426,24 +442,16 @@
|
|
426 |
"position": "top"
|
427 |
}
|
428 |
},
|
429 |
-
"
|
430 |
-
"output": {
|
431 |
-
"name": "output",
|
432 |
-
"type": {
|
433 |
-
"type": "None"
|
434 |
-
},
|
435 |
-
"position": "right"
|
436 |
-
}
|
437 |
-
},
|
438 |
-
"type": "basic",
|
439 |
-
"sub_nodes": null
|
440 |
}
|
441 |
},
|
442 |
"position": {
|
443 |
-
"x": -
|
444 |
-
"y":
|
445 |
},
|
446 |
-
"parentId": null
|
|
|
|
|
447 |
},
|
448 |
{
|
449 |
"id": "View 3",
|
@@ -470,31 +478,30 @@
|
|
470 |
}
|
471 |
},
|
472 |
"error": null,
|
|
|
473 |
"meta": {
|
474 |
"name": "View",
|
475 |
"params": {},
|
476 |
"inputs": {
|
477 |
"input": {
|
478 |
-
"name": "input",
|
479 |
"type": {
|
480 |
"type": "<class 'inspect._empty'>"
|
481 |
},
|
482 |
-
"position": "left"
|
|
|
483 |
}
|
484 |
},
|
485 |
"outputs": {},
|
486 |
-
"type": "table_view"
|
487 |
-
|
488 |
-
},
|
489 |
-
"beingResized": false
|
490 |
},
|
491 |
"position": {
|
492 |
-
"x": -
|
493 |
-
"y":
|
494 |
},
|
495 |
"parentId": null,
|
496 |
-
"width": 296,
|
497 |
-
"height": 228
|
498 |
},
|
499 |
{
|
500 |
"id": "Ask LLM 1",
|
@@ -502,63 +509,66 @@
|
|
502 |
"data": {
|
503 |
"title": "Ask LLM",
|
504 |
"params": {
|
505 |
-
"
|
506 |
-
"accepted_regex":
|
507 |
-
"
|
508 |
},
|
509 |
"display": null,
|
510 |
"error": null,
|
|
|
|
|
511 |
"meta": {
|
512 |
-
"
|
513 |
-
|
514 |
-
|
515 |
-
"name": "
|
516 |
-
"default": null,
|
517 |
"type": {
|
518 |
-
"type": "<class '
|
519 |
}
|
520 |
-
}
|
|
|
|
|
521 |
"accepted_regex": {
|
522 |
-
"name": "accepted_regex",
|
523 |
-
"default": null,
|
524 |
"type": {
|
525 |
"type": "<class 'str'>"
|
526 |
-
}
|
|
|
|
|
527 |
},
|
528 |
"max_tokens": {
|
529 |
"name": "max_tokens",
|
530 |
-
"default": 100,
|
531 |
"type": {
|
532 |
"type": "<class 'int'>"
|
533 |
}
|
534 |
-
}
|
535 |
-
|
536 |
-
"inputs": {
|
537 |
-
"input": {
|
538 |
-
"name": "input",
|
539 |
"type": {
|
540 |
-
"type": "<class '
|
541 |
},
|
542 |
-
"
|
|
|
543 |
}
|
544 |
},
|
545 |
"outputs": {
|
546 |
"output": {
|
547 |
-
"name": "output",
|
548 |
"type": {
|
549 |
"type": "None"
|
550 |
},
|
551 |
-
"position": "right"
|
|
|
552 |
}
|
553 |
},
|
554 |
-
"
|
555 |
-
"
|
556 |
}
|
557 |
},
|
558 |
"position": {
|
559 |
"x": 649.0730411878703,
|
560 |
"y": 29.290926423828694
|
561 |
},
|
|
|
|
|
562 |
"parentId": null
|
563 |
},
|
564 |
{
|
@@ -585,7 +595,7 @@
|
|
585 |
"Available options: Coke, Diet Coke, Sprite, Root Beer, Lemonade."
|
586 |
],
|
587 |
"\n\n---\n### 6. **Drinks**\n\n---\n| Size | Price |\n|--------------------|---------------|\n| 20 oz Bottle | $1.99 |\n| 2-Liter Bottle | $3.50 |\n\n---\nAvailable options: Coke, Diet Coke, Sprite, Root Beer, Lemonade.\n\n---\nIs the information above sufficient to answer the following question?\n- What's your cheapest drink?\n\nIf the information is insufficient please say so. Otherwise, provide the answer.",
|
588 |
-
"The information is sufficient to answer the question
|
589 |
]
|
590 |
]
|
591 |
}
|
@@ -593,27 +603,28 @@
|
|
593 |
},
|
594 |
"error": null,
|
595 |
"meta": {
|
596 |
-
"
|
|
|
597 |
"params": {},
|
598 |
"inputs": {
|
599 |
"input": {
|
600 |
-
"
|
601 |
"type": {
|
602 |
"type": "<class 'inspect._empty'>"
|
603 |
},
|
604 |
-
"
|
605 |
}
|
606 |
},
|
607 |
-
"
|
608 |
-
"type": "table_view",
|
609 |
-
"sub_nodes": null
|
610 |
}
|
611 |
},
|
612 |
"position": {
|
613 |
-
"x":
|
614 |
-
"y": -
|
615 |
},
|
616 |
-
"
|
|
|
|
|
617 |
},
|
618 |
{
|
619 |
"id": "Build document graph 1",
|
@@ -623,37 +634,38 @@
|
|
623 |
"params": {},
|
624 |
"display": null,
|
625 |
"error": null,
|
|
|
626 |
"meta": {
|
627 |
"name": "Build document graph",
|
628 |
"params": {},
|
629 |
-
"inputs": {
|
630 |
-
"input": {
|
631 |
-
"name": "input",
|
632 |
-
"type": {
|
633 |
-
"type": "<class 'inspect._empty'>"
|
634 |
-
},
|
635 |
-
"position": "top"
|
636 |
-
}
|
637 |
-
},
|
638 |
"outputs": {
|
639 |
"output": {
|
640 |
"name": "output",
|
|
|
641 |
"type": {
|
642 |
"type": "None"
|
643 |
-
}
|
644 |
-
"position": "right"
|
645 |
}
|
646 |
},
|
647 |
-
"
|
648 |
-
|
649 |
-
|
650 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
651 |
},
|
652 |
"position": {
|
653 |
"x": -36.39166052931119,
|
654 |
"y": -212.34993098590766
|
655 |
},
|
656 |
-
"
|
|
|
|
|
657 |
},
|
658 |
{
|
659 |
"id": "Add neighbors 1",
|
@@ -664,42 +676,41 @@
|
|
664 |
"display": null,
|
665 |
"error": null,
|
666 |
"meta": {
|
667 |
-
"
|
668 |
-
"params": {},
|
669 |
"inputs": {
|
670 |
"nodes": {
|
671 |
-
"name": "nodes",
|
672 |
"type": {
|
673 |
"type": "<class 'inspect._empty'>"
|
674 |
},
|
|
|
675 |
"position": "top"
|
676 |
},
|
677 |
-
"
|
678 |
-
"
|
|
|
679 |
"type": {
|
680 |
"type": "<class 'inspect._empty'>"
|
681 |
-
}
|
682 |
-
"position": "top"
|
683 |
},
|
684 |
-
"
|
685 |
-
"name": "
|
|
|
686 |
"type": {
|
687 |
"type": "<class 'inspect._empty'>"
|
688 |
-
}
|
689 |
-
"position": "left"
|
690 |
}
|
691 |
},
|
|
|
|
|
692 |
"outputs": {
|
693 |
"output": {
|
|
|
694 |
"name": "output",
|
695 |
"type": {
|
696 |
"type": "None"
|
697 |
-
}
|
698 |
-
"position": "right"
|
699 |
}
|
700 |
-
}
|
701 |
-
"type": "basic",
|
702 |
-
"sub_nodes": null
|
703 |
},
|
704 |
"collapsed": true
|
705 |
},
|
@@ -707,7 +718,9 @@
|
|
707 |
"x": -2.516468588848724,
|
708 |
"y": 167.64180115746848
|
709 |
},
|
710 |
-
"parentId": null
|
|
|
|
|
711 |
},
|
712 |
{
|
713 |
"id": "Predict links 1",
|
@@ -717,25 +730,26 @@
|
|
717 |
"params": {},
|
718 |
"display": null,
|
719 |
"error": null,
|
|
|
720 |
"meta": {
|
721 |
"name": "Predict links",
|
722 |
-
"params": {},
|
723 |
"inputs": {
|
724 |
-
"
|
725 |
-
"name": "nodes",
|
726 |
"type": {
|
727 |
"type": "<class 'inspect._empty'>"
|
728 |
},
|
|
|
729 |
"position": "top"
|
730 |
},
|
731 |
-
"
|
732 |
-
"name": "
|
|
|
733 |
"type": {
|
734 |
"type": "<class 'inspect._empty'>"
|
735 |
-
}
|
736 |
-
"position": "top"
|
737 |
}
|
738 |
},
|
|
|
739 |
"outputs": {
|
740 |
"output": {
|
741 |
"name": "output",
|
@@ -745,17 +759,16 @@
|
|
745 |
"position": "right"
|
746 |
}
|
747 |
},
|
748 |
-
"
|
749 |
-
|
750 |
-
|
751 |
-
"y": 179
|
752 |
-
}
|
753 |
-
}
|
754 |
},
|
755 |
"position": {
|
756 |
"x": 34.865308360949726,
|
757 |
"y": -37.44504613652989
|
758 |
},
|
|
|
|
|
759 |
"parentId": null
|
760 |
}
|
761 |
],
|
|
|
7 |
"data": {
|
8 |
"title": "Input document",
|
9 |
"params": {
|
10 |
+
"filename": "data/example-pizza.md"
|
11 |
},
|
12 |
"display": null,
|
13 |
"error": null,
|
14 |
+
"__execution_delay": 0.0,
|
15 |
"meta": {
|
16 |
+
"type": "basic",
|
17 |
"params": {
|
18 |
"filename": {
|
|
|
|
|
19 |
"type": {
|
20 |
"format": "path"
|
21 |
+
},
|
22 |
+
"name": "filename",
|
23 |
+
"default": null
|
24 |
}
|
25 |
},
|
26 |
"inputs": {},
|
27 |
+
"name": "Input document",
|
28 |
"outputs": {
|
29 |
"output": {
|
30 |
"name": "output",
|
|
|
33 |
},
|
34 |
"position": "right"
|
35 |
}
|
36 |
+
}
|
37 |
+
},
|
38 |
+
"collapsed": null
|
|
|
39 |
},
|
40 |
"position": {
|
41 |
+
"x": -1138.7178641442829,
|
42 |
+
"y": -307.0280242240266
|
43 |
},
|
44 |
+
"parentId": null,
|
45 |
+
"width": 290.0,
|
46 |
+
"height": 217.0
|
47 |
},
|
48 |
{
|
49 |
"id": "View 1",
|
|
|
191 |
"error": null,
|
192 |
"meta": {
|
193 |
"name": "View",
|
|
|
194 |
"inputs": {
|
195 |
"input": {
|
196 |
"name": "input",
|
|
|
201 |
}
|
202 |
},
|
203 |
"outputs": {},
|
204 |
+
"params": {},
|
205 |
+
"type": "table_view"
|
206 |
},
|
207 |
"beingResized": false
|
208 |
},
|
|
|
211 |
"y": -562.3096858852143
|
212 |
},
|
213 |
"parentId": null,
|
214 |
+
"width": 909.0,
|
215 |
+
"height": 367.0
|
216 |
},
|
217 |
{
|
218 |
"id": "Split document 1",
|
|
|
225 |
"display": null,
|
226 |
"error": null,
|
227 |
"meta": {
|
|
|
228 |
"params": {
|
229 |
"delimiter": {
|
230 |
"name": "delimiter",
|
|
|
231 |
"type": {
|
232 |
"type": "<class 'str'>"
|
233 |
+
},
|
234 |
+
"default": "\\n\\n"
|
235 |
}
|
236 |
},
|
237 |
+
"type": "basic",
|
238 |
"inputs": {
|
239 |
"input": {
|
|
|
240 |
"type": {
|
241 |
"type": "<class 'inspect._empty'>"
|
242 |
},
|
243 |
+
"position": "left",
|
244 |
+
"name": "input"
|
245 |
}
|
246 |
},
|
247 |
+
"name": "Split document",
|
248 |
"outputs": {
|
249 |
"output": {
|
250 |
"name": "output",
|
|
|
253 |
},
|
254 |
"position": "right"
|
255 |
}
|
256 |
+
}
|
|
|
|
|
257 |
}
|
258 |
},
|
259 |
"position": {
|
260 |
+
"x": -671.5138580866221,
|
261 |
+
"y": -394.5831190981944
|
262 |
},
|
263 |
+
"parentId": null,
|
264 |
+
"height": 200.0,
|
265 |
+
"width": 200.0
|
266 |
},
|
267 |
{
|
268 |
"id": "Input chat 1",
|
|
|
274 |
},
|
275 |
"display": null,
|
276 |
"error": null,
|
277 |
+
"__execution_delay": 0.0,
|
278 |
"meta": {
|
279 |
+
"type": "basic",
|
280 |
"name": "Input chat",
|
281 |
"params": {
|
282 |
"chat": {
|
|
|
290 |
"inputs": {},
|
291 |
"outputs": {
|
292 |
"output": {
|
293 |
+
"position": "right",
|
294 |
"type": {
|
295 |
"type": "None"
|
296 |
},
|
297 |
+
"name": "output"
|
298 |
}
|
299 |
+
}
|
|
|
|
|
300 |
},
|
301 |
+
"collapsed": null,
|
302 |
"beingResized": false
|
303 |
},
|
304 |
"position": {
|
305 |
+
"x": -1169.0221491975267,
|
306 |
+
"y": 142.6860253469853
|
307 |
},
|
308 |
"parentId": null,
|
309 |
+
"width": 347.0,
|
310 |
+
"height": 197.0
|
311 |
},
|
312 |
{
|
313 |
"id": "Create prompt 1",
|
|
|
315 |
"data": {
|
316 |
"title": "Create prompt",
|
317 |
"params": {
|
318 |
+
"template": "\n{% for item in rag %}\n---\n{{item}}\n{% endfor %}\n---\nIs the information above sufficient to answer the following question?\n- {{text}}\n\nIf the information is insufficient please say so. Otherwise, provide the answer.",
|
319 |
+
"save_as": "prompt"
|
320 |
},
|
321 |
"display": null,
|
322 |
"error": null,
|
323 |
+
"collapsed": null,
|
324 |
+
"__execution_delay": 0.0,
|
325 |
"meta": {
|
326 |
"name": "Create prompt",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
327 |
"inputs": {
|
328 |
"input": {
|
329 |
+
"position": "left",
|
330 |
"type": {
|
331 |
"type": "<class 'inspect._empty'>"
|
332 |
},
|
333 |
+
"name": "input"
|
334 |
}
|
335 |
},
|
336 |
"outputs": {
|
337 |
"output": {
|
338 |
"name": "output",
|
339 |
+
"position": "right",
|
340 |
"type": {
|
341 |
"type": "None"
|
342 |
+
}
|
343 |
+
}
|
344 |
+
},
|
345 |
+
"params": {
|
346 |
+
"save_as": {
|
347 |
+
"type": {
|
348 |
+
"type": "<class 'str'>"
|
349 |
},
|
350 |
+
"default": "prompt",
|
351 |
+
"name": "save_as"
|
352 |
+
},
|
353 |
+
"template": {
|
354 |
+
"default": null,
|
355 |
+
"type": {
|
356 |
+
"format": "textarea"
|
357 |
+
},
|
358 |
+
"name": "template"
|
359 |
}
|
360 |
},
|
361 |
+
"type": "basic"
|
|
|
362 |
}
|
363 |
},
|
364 |
"position": {
|
365 |
"x": 324.81988008998496,
|
366 |
"y": -9.071826950189632
|
367 |
},
|
368 |
+
"height": 362.0,
|
369 |
+
"parentId": null,
|
370 |
+
"width": 270.0
|
371 |
},
|
372 |
{
|
373 |
"id": "RAG 1",
|
|
|
376 |
"title": "RAG",
|
377 |
"params": {
|
378 |
"engine": "Custom",
|
|
|
379 |
"db_field": "text",
|
380 |
+
"input_field": "text",
|
381 |
"num_matches": "1"
|
382 |
},
|
383 |
"display": null,
|
|
|
385 |
"meta": {
|
386 |
"name": "RAG",
|
387 |
"params": {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
388 |
"input_field": {
|
389 |
"name": "input_field",
|
390 |
"default": "text",
|
|
|
399 |
"type": "<class 'str'>"
|
400 |
}
|
401 |
},
|
402 |
+
"engine": {
|
403 |
+
"type": {
|
404 |
+
"enum": [
|
405 |
+
"Chroma",
|
406 |
+
"Custom"
|
407 |
+
]
|
408 |
+
},
|
409 |
+
"name": "engine",
|
410 |
+
"default": "RagEngine.Chroma"
|
411 |
+
},
|
412 |
"num_matches": {
|
|
|
|
|
413 |
"type": {
|
414 |
"type": "<class 'int'>"
|
415 |
+
},
|
416 |
+
"name": "num_matches",
|
417 |
+
"default": 10.0
|
418 |
+
}
|
419 |
+
},
|
420 |
+
"outputs": {
|
421 |
+
"output": {
|
422 |
+
"name": "output",
|
423 |
+
"type": {
|
424 |
+
"type": "None"
|
425 |
+
},
|
426 |
+
"position": "right"
|
427 |
}
|
428 |
},
|
429 |
"inputs": {
|
430 |
"input": {
|
|
|
431 |
"type": {
|
432 |
"type": "<class 'inspect._empty'>"
|
433 |
},
|
434 |
+
"name": "input",
|
435 |
"position": "left"
|
436 |
},
|
437 |
"db": {
|
|
|
442 |
"position": "top"
|
443 |
}
|
444 |
},
|
445 |
+
"type": "basic"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
446 |
}
|
447 |
},
|
448 |
"position": {
|
449 |
+
"x": -645.0268659124858,
|
450 |
+
"y": 44.3669514323544
|
451 |
},
|
452 |
+
"parentId": null,
|
453 |
+
"width": 423.0,
|
454 |
+
"height": 424.0
|
455 |
},
|
456 |
{
|
457 |
"id": "View 3",
|
|
|
478 |
}
|
479 |
},
|
480 |
"error": null,
|
481 |
+
"beingResized": false,
|
482 |
"meta": {
|
483 |
"name": "View",
|
484 |
"params": {},
|
485 |
"inputs": {
|
486 |
"input": {
|
|
|
487 |
"type": {
|
488 |
"type": "<class 'inspect._empty'>"
|
489 |
},
|
490 |
+
"position": "left",
|
491 |
+
"name": "input"
|
492 |
}
|
493 |
},
|
494 |
"outputs": {},
|
495 |
+
"type": "table_view"
|
496 |
+
}
|
|
|
|
|
497 |
},
|
498 |
"position": {
|
499 |
+
"x": -43.795911596608875,
|
500 |
+
"y": 457.1809102819045
|
501 |
},
|
502 |
"parentId": null,
|
503 |
+
"width": 296.0,
|
504 |
+
"height": 228.0
|
505 |
},
|
506 |
{
|
507 |
"id": "Ask LLM 1",
|
|
|
509 |
"data": {
|
510 |
"title": "Ask LLM",
|
511 |
"params": {
|
512 |
+
"max_tokens": 100.0,
|
513 |
+
"accepted_regex": "",
|
514 |
+
"model": "SultanR/SmolTulu-1.7b-Instruct"
|
515 |
},
|
516 |
"display": null,
|
517 |
"error": null,
|
518 |
+
"collapsed": null,
|
519 |
+
"__execution_delay": 0.0,
|
520 |
"meta": {
|
521 |
+
"inputs": {
|
522 |
+
"input": {
|
523 |
+
"position": "left",
|
524 |
+
"name": "input",
|
|
|
525 |
"type": {
|
526 |
+
"type": "<class 'inspect._empty'>"
|
527 |
}
|
528 |
+
}
|
529 |
+
},
|
530 |
+
"params": {
|
531 |
"accepted_regex": {
|
|
|
|
|
532 |
"type": {
|
533 |
"type": "<class 'str'>"
|
534 |
+
},
|
535 |
+
"default": null,
|
536 |
+
"name": "accepted_regex"
|
537 |
},
|
538 |
"max_tokens": {
|
539 |
"name": "max_tokens",
|
540 |
+
"default": 100.0,
|
541 |
"type": {
|
542 |
"type": "<class 'int'>"
|
543 |
}
|
544 |
+
},
|
545 |
+
"model": {
|
|
|
|
|
|
|
546 |
"type": {
|
547 |
+
"type": "<class 'str'>"
|
548 |
},
|
549 |
+
"default": null,
|
550 |
+
"name": "model"
|
551 |
}
|
552 |
},
|
553 |
"outputs": {
|
554 |
"output": {
|
|
|
555 |
"type": {
|
556 |
"type": "None"
|
557 |
},
|
558 |
+
"position": "right",
|
559 |
+
"name": "output"
|
560 |
}
|
561 |
},
|
562 |
+
"name": "Ask LLM",
|
563 |
+
"type": "basic"
|
564 |
}
|
565 |
},
|
566 |
"position": {
|
567 |
"x": 649.0730411878703,
|
568 |
"y": 29.290926423828694
|
569 |
},
|
570 |
+
"height": 329.0,
|
571 |
+
"width": 249.0,
|
572 |
"parentId": null
|
573 |
},
|
574 |
{
|
|
|
595 |
"Available options: Coke, Diet Coke, Sprite, Root Beer, Lemonade."
|
596 |
],
|
597 |
"\n\n---\n### 6. **Drinks**\n\n---\n| Size | Price |\n|--------------------|---------------|\n| 20 oz Bottle | $1.99 |\n| 2-Liter Bottle | $3.50 |\n\n---\nAvailable options: Coke, Diet Coke, Sprite, Root Beer, Lemonade.\n\n---\nIs the information above sufficient to answer the following question?\n- What's your cheapest drink?\n\nIf the information is insufficient please say so. Otherwise, provide the answer.",
|
598 |
+
"The provided information is sufficient to answer the question:\n\n- **Cheapest Drink:** \n\nThe cheapest drink is the 20 oz Bottle of Coke, which costs $1.99.\n\n**Why?**\n- The 20 oz Bottle of Coke is the only option listed with a price of $1.99, making it the most cost-effective option among the given drink sizes and prices."
|
599 |
]
|
600 |
]
|
601 |
}
|
|
|
603 |
},
|
604 |
"error": null,
|
605 |
"meta": {
|
606 |
+
"outputs": {},
|
607 |
+
"type": "table_view",
|
608 |
"params": {},
|
609 |
"inputs": {
|
610 |
"input": {
|
611 |
+
"position": "left",
|
612 |
"type": {
|
613 |
"type": "<class 'inspect._empty'>"
|
614 |
},
|
615 |
+
"name": "input"
|
616 |
}
|
617 |
},
|
618 |
+
"name": "View"
|
|
|
|
|
619 |
}
|
620 |
},
|
621 |
"position": {
|
622 |
+
"x": 1017.4149773467798,
|
623 |
+
"y": -71.64715104646865
|
624 |
},
|
625 |
+
"height": 644.0,
|
626 |
+
"parentId": null,
|
627 |
+
"width": 502.0
|
628 |
},
|
629 |
{
|
630 |
"id": "Build document graph 1",
|
|
|
634 |
"params": {},
|
635 |
"display": null,
|
636 |
"error": null,
|
637 |
+
"collapsed": true,
|
638 |
"meta": {
|
639 |
"name": "Build document graph",
|
640 |
"params": {},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
641 |
"outputs": {
|
642 |
"output": {
|
643 |
"name": "output",
|
644 |
+
"position": "right",
|
645 |
"type": {
|
646 |
"type": "None"
|
647 |
+
}
|
|
|
648 |
}
|
649 |
},
|
650 |
+
"inputs": {
|
651 |
+
"input": {
|
652 |
+
"position": "top",
|
653 |
+
"name": "input",
|
654 |
+
"type": {
|
655 |
+
"type": "<class 'inspect._empty'>"
|
656 |
+
}
|
657 |
+
}
|
658 |
+
},
|
659 |
+
"type": "basic"
|
660 |
+
}
|
661 |
},
|
662 |
"position": {
|
663 |
"x": -36.39166052931119,
|
664 |
"y": -212.34993098590766
|
665 |
},
|
666 |
+
"width": 200.0,
|
667 |
+
"parentId": null,
|
668 |
+
"height": 80.0
|
669 |
},
|
670 |
{
|
671 |
"id": "Add neighbors 1",
|
|
|
676 |
"display": null,
|
677 |
"error": null,
|
678 |
"meta": {
|
679 |
+
"type": "basic",
|
|
|
680 |
"inputs": {
|
681 |
"nodes": {
|
|
|
682 |
"type": {
|
683 |
"type": "<class 'inspect._empty'>"
|
684 |
},
|
685 |
+
"name": "nodes",
|
686 |
"position": "top"
|
687 |
},
|
688 |
+
"item": {
|
689 |
+
"position": "left",
|
690 |
+
"name": "item",
|
691 |
"type": {
|
692 |
"type": "<class 'inspect._empty'>"
|
693 |
+
}
|
|
|
694 |
},
|
695 |
+
"edges": {
|
696 |
+
"name": "edges",
|
697 |
+
"position": "top",
|
698 |
"type": {
|
699 |
"type": "<class 'inspect._empty'>"
|
700 |
+
}
|
|
|
701 |
}
|
702 |
},
|
703 |
+
"params": {},
|
704 |
+
"name": "Add neighbors",
|
705 |
"outputs": {
|
706 |
"output": {
|
707 |
+
"position": "right",
|
708 |
"name": "output",
|
709 |
"type": {
|
710 |
"type": "None"
|
711 |
+
}
|
|
|
712 |
}
|
713 |
+
}
|
|
|
|
|
714 |
},
|
715 |
"collapsed": true
|
716 |
},
|
|
|
718 |
"x": -2.516468588848724,
|
719 |
"y": 167.64180115746848
|
720 |
},
|
721 |
+
"parentId": null,
|
722 |
+
"height": 56.0,
|
723 |
+
"width": 200.0
|
724 |
},
|
725 |
{
|
726 |
"id": "Predict links 1",
|
|
|
730 |
"params": {},
|
731 |
"display": null,
|
732 |
"error": null,
|
733 |
+
"__execution_delay": null,
|
734 |
"meta": {
|
735 |
"name": "Predict links",
|
|
|
736 |
"inputs": {
|
737 |
+
"edges": {
|
|
|
738 |
"type": {
|
739 |
"type": "<class 'inspect._empty'>"
|
740 |
},
|
741 |
+
"name": "edges",
|
742 |
"position": "top"
|
743 |
},
|
744 |
+
"nodes": {
|
745 |
+
"name": "nodes",
|
746 |
+
"position": "top",
|
747 |
"type": {
|
748 |
"type": "<class 'inspect._empty'>"
|
749 |
+
}
|
|
|
750 |
}
|
751 |
},
|
752 |
+
"type": "basic",
|
753 |
"outputs": {
|
754 |
"output": {
|
755 |
"name": "output",
|
|
|
759 |
"position": "right"
|
760 |
}
|
761 |
},
|
762 |
+
"params": {}
|
763 |
+
},
|
764 |
+
"collapsed": true
|
|
|
|
|
|
|
765 |
},
|
766 |
"position": {
|
767 |
"x": 34.865308360949726,
|
768 |
"y": -37.44504613652989
|
769 |
},
|
770 |
+
"height": 200.0,
|
771 |
+
"width": 200.0,
|
772 |
"parentId": null
|
773 |
}
|
774 |
],
|
lynxkite-app/data/Image processing
CHANGED
@@ -7,22 +7,11 @@
|
|
7 |
"data": {
|
8 |
"title": "Open image",
|
9 |
"params": {
|
10 |
-
"filename": "/
|
11 |
},
|
12 |
"display": null,
|
13 |
"error": null,
|
14 |
"meta": {
|
15 |
-
"name": "Open image",
|
16 |
-
"params": {
|
17 |
-
"filename": {
|
18 |
-
"name": "filename",
|
19 |
-
"default": null,
|
20 |
-
"type": {
|
21 |
-
"type": "<class 'str'>"
|
22 |
-
}
|
23 |
-
}
|
24 |
-
},
|
25 |
-
"inputs": {},
|
26 |
"outputs": {
|
27 |
"output": {
|
28 |
"name": "output",
|
@@ -32,15 +21,29 @@
|
|
32 |
"position": "right"
|
33 |
}
|
34 |
},
|
35 |
-
"
|
36 |
-
"
|
37 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
},
|
39 |
"position": {
|
40 |
-
"x":
|
41 |
-
"y":
|
42 |
},
|
43 |
-
"
|
|
|
|
|
44 |
},
|
45 |
{
|
46 |
"id": "View image 1",
|
@@ -48,30 +51,31 @@
|
|
48 |
"data": {
|
49 |
"title": "View image",
|
50 |
"params": {},
|
51 |
-
"display": "data:image/jpeg;base64,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",
|
52 |
"error": null,
|
53 |
"meta": {
|
54 |
-
"
|
55 |
-
"
|
56 |
"inputs": {
|
57 |
"image": {
|
58 |
"name": "image",
|
59 |
"type": {
|
60 |
-
"type": "<module 'PIL.Image' from '/
|
61 |
},
|
62 |
"position": "left"
|
63 |
}
|
64 |
},
|
65 |
-
"
|
66 |
-
"
|
67 |
-
"sub_nodes": null
|
68 |
}
|
69 |
},
|
70 |
"position": {
|
71 |
"x": 371.2152385614552,
|
72 |
"y": -243.68185336918702
|
73 |
},
|
74 |
-
"parentId": null
|
|
|
|
|
75 |
},
|
76 |
{
|
77 |
"id": "Flip verically 1",
|
@@ -82,35 +86,38 @@
|
|
82 |
"display": null,
|
83 |
"error": null,
|
84 |
"meta": {
|
85 |
-
"name": "Flip verically",
|
86 |
-
"params": {},
|
87 |
-
"inputs": {
|
88 |
-
"image": {
|
89 |
-
"name": "image",
|
90 |
-
"type": {
|
91 |
-
"type": "<module 'PIL.Image' from '/opt/miniconda3/lib/python3.12/site-packages/PIL/Image.py'>"
|
92 |
-
},
|
93 |
-
"position": "left"
|
94 |
-
}
|
95 |
-
},
|
96 |
"outputs": {
|
97 |
"output": {
|
|
|
98 |
"name": "output",
|
99 |
"type": {
|
100 |
"type": "None"
|
101 |
-
}
|
102 |
-
"position": "right"
|
103 |
}
|
104 |
},
|
105 |
"type": "basic",
|
106 |
-
"
|
107 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
108 |
},
|
109 |
"position": {
|
110 |
-
"x":
|
111 |
-
"y":
|
112 |
},
|
113 |
-
"
|
|
|
|
|
114 |
},
|
115 |
{
|
116 |
"id": "View image 2",
|
@@ -118,29 +125,30 @@
|
|
118 |
"data": {
|
119 |
"title": "View image",
|
120 |
"params": {},
|
121 |
-
"display": "data:image/jpeg;base64,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",
|
122 |
"error": null,
|
123 |
"meta": {
|
124 |
-
"
|
125 |
-
"params": {},
|
126 |
"inputs": {
|
127 |
"image": {
|
128 |
-
"
|
129 |
"type": {
|
130 |
-
"type": "<module 'PIL.Image' from '/
|
131 |
},
|
132 |
-
"
|
133 |
}
|
134 |
},
|
135 |
-
"
|
136 |
-
"
|
137 |
-
"
|
138 |
}
|
139 |
},
|
140 |
"position": {
|
141 |
"x": 1027.1387925400982,
|
142 |
"y": 251.36630333493974
|
143 |
},
|
|
|
|
|
144 |
"parentId": null
|
145 |
},
|
146 |
{
|
@@ -151,36 +159,39 @@
|
|
151 |
"params": {},
|
152 |
"display": null,
|
153 |
"error": null,
|
|
|
|
|
154 |
"meta": {
|
155 |
-
"
|
156 |
"params": {},
|
157 |
-
"inputs": {
|
158 |
-
"image": {
|
159 |
-
"name": "image",
|
160 |
-
"type": {
|
161 |
-
"type": "<module 'PIL.Image' from '/opt/miniconda3/lib/python3.12/site-packages/PIL/Image.py'>"
|
162 |
-
},
|
163 |
-
"position": "left"
|
164 |
-
}
|
165 |
-
},
|
166 |
"outputs": {
|
167 |
"output": {
|
168 |
-
"name": "output",
|
169 |
"type": {
|
170 |
"type": "None"
|
171 |
},
|
172 |
-
"position": "right"
|
|
|
173 |
}
|
174 |
},
|
175 |
-
"
|
176 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
}
|
178 |
},
|
179 |
"position": {
|
180 |
"x": 826.1911193192234,
|
181 |
"y": 579.1542134884979
|
182 |
},
|
183 |
-
"parentId": null
|
|
|
|
|
184 |
},
|
185 |
{
|
186 |
"id": "Blur 1",
|
@@ -193,11 +204,11 @@
|
|
193 |
"display": null,
|
194 |
"error": null,
|
195 |
"meta": {
|
196 |
-
"
|
197 |
"params": {
|
198 |
"radius": {
|
|
|
199 |
"name": "radius",
|
200 |
-
"default": null,
|
201 |
"type": {
|
202 |
"type": "<class 'float'>"
|
203 |
}
|
@@ -207,11 +218,12 @@
|
|
207 |
"image": {
|
208 |
"name": "image",
|
209 |
"type": {
|
210 |
-
"type": "<module 'PIL.Image' from '/
|
211 |
},
|
212 |
"position": "left"
|
213 |
}
|
214 |
},
|
|
|
215 |
"outputs": {
|
216 |
"output": {
|
217 |
"name": "output",
|
@@ -220,16 +232,16 @@
|
|
220 |
},
|
221 |
"position": "right"
|
222 |
}
|
223 |
-
}
|
224 |
-
"type": "basic",
|
225 |
-
"sub_nodes": null
|
226 |
}
|
227 |
},
|
228 |
"position": {
|
229 |
"x": 505.15961556359304,
|
230 |
"y": 539.8477981917164
|
231 |
},
|
232 |
-
"parentId": null
|
|
|
|
|
233 |
}
|
234 |
],
|
235 |
"edges": [
|
|
|
7 |
"data": {
|
8 |
"title": "Open image",
|
9 |
"params": {
|
10 |
+
"filename": "https://media.licdn.com/dms/image/v2/C4E03AQEq4tdJKQiNHQ/profile-displayphoto-shrink_200_200/profile-displayphoto-shrink_200_200/0/1657270040827?e=2147483647&v=beta&t=lDxix0_0-_K7NUFqgPdzxY5-P7f73bWpPS_XRre842c"
|
11 |
},
|
12 |
"display": null,
|
13 |
"error": null,
|
14 |
"meta": {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
"outputs": {
|
16 |
"output": {
|
17 |
"name": "output",
|
|
|
21 |
"position": "right"
|
22 |
}
|
23 |
},
|
24 |
+
"name": "Open image",
|
25 |
+
"inputs": {},
|
26 |
+
"params": {
|
27 |
+
"filename": {
|
28 |
+
"name": "filename",
|
29 |
+
"type": {
|
30 |
+
"type": "<class 'str'>"
|
31 |
+
},
|
32 |
+
"default": null
|
33 |
+
}
|
34 |
+
},
|
35 |
+
"type": "basic"
|
36 |
+
},
|
37 |
+
"__execution_delay": 0.0,
|
38 |
+
"collapsed": null
|
39 |
},
|
40 |
"position": {
|
41 |
+
"x": -316.51795927908694,
|
42 |
+
"y": 122.80901061526373
|
43 |
},
|
44 |
+
"width": 422.0,
|
45 |
+
"parentId": null,
|
46 |
+
"height": 222.0
|
47 |
},
|
48 |
{
|
49 |
"id": "View image 1",
|
|
|
51 |
"data": {
|
52 |
"title": "View image",
|
53 |
"params": {},
|
54 |
+
"display": "data:image/jpeg;base64,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",
|
55 |
"error": null,
|
56 |
"meta": {
|
57 |
+
"type": "image",
|
58 |
+
"outputs": {},
|
59 |
"inputs": {
|
60 |
"image": {
|
61 |
"name": "image",
|
62 |
"type": {
|
63 |
+
"type": "<module 'PIL.Image' from '/media/nvme/darabos/lynxkite-2024/.venv/lib/python3.11/site-packages/PIL/Image.py'>"
|
64 |
},
|
65 |
"position": "left"
|
66 |
}
|
67 |
},
|
68 |
+
"name": "View image",
|
69 |
+
"params": {}
|
|
|
70 |
}
|
71 |
},
|
72 |
"position": {
|
73 |
"x": 371.2152385614552,
|
74 |
"y": -243.68185336918702
|
75 |
},
|
76 |
+
"parentId": null,
|
77 |
+
"width": 265.0,
|
78 |
+
"height": 288.0
|
79 |
},
|
80 |
{
|
81 |
"id": "Flip verically 1",
|
|
|
86 |
"display": null,
|
87 |
"error": null,
|
88 |
"meta": {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
"outputs": {
|
90 |
"output": {
|
91 |
+
"position": "right",
|
92 |
"name": "output",
|
93 |
"type": {
|
94 |
"type": "None"
|
95 |
+
}
|
|
|
96 |
}
|
97 |
},
|
98 |
"type": "basic",
|
99 |
+
"params": {},
|
100 |
+
"name": "Flip verically",
|
101 |
+
"inputs": {
|
102 |
+
"image": {
|
103 |
+
"name": "image",
|
104 |
+
"position": "left",
|
105 |
+
"type": {
|
106 |
+
"type": "<module 'PIL.Image' from '/media/nvme/darabos/lynxkite-2024/.venv/lib/python3.11/site-packages/PIL/Image.py'>"
|
107 |
+
}
|
108 |
+
}
|
109 |
+
}
|
110 |
+
},
|
111 |
+
"collapsed": true,
|
112 |
+
"__execution_delay": null
|
113 |
},
|
114 |
"position": {
|
115 |
+
"x": 228.3853393986406,
|
116 |
+
"y": 245.68255477059915
|
117 |
},
|
118 |
+
"width": 200.0,
|
119 |
+
"parentId": null,
|
120 |
+
"height": 200.0
|
121 |
},
|
122 |
{
|
123 |
"id": "View image 2",
|
|
|
125 |
"data": {
|
126 |
"title": "View image",
|
127 |
"params": {},
|
128 |
+
"display": "data:image/jpeg;base64,UklGRoADAABXRUJQVlA4IHQDAAAwNQCdASrIAMgAPm0ukkYyMaGhrtt5UkANiWluu7AObIPJl9NfJmVCwA06FIbr8ZA3WaSJ7/dHH5er4u683qcKWcW7qn4VGE7XCnSEtZUZsarT1ox9y8J2EionbqsxfkAAIOk7JTtvXiLVAeVPQlEW3R4aJSLoxXCJTuGOqcp6fJ7+tzWWmOSq1IqFDN7536TfOvEoiw/K8AQcP06J13RTpwyFow3MFoK9BWZDv0mPqMmHjuC7Hb5MkHc6QnQihSek5PyYdUN4+yG0NpM3NK0+lOSMpu5jaeY5YrFUKke5nLaJ0Mu/3it1akkzebF4fRj8xdIkJDrC4xD4RcyC8aQ1zI4MjffvaCX8X0jbNJ5n5xzGOOU9kFhpry6Uy30xVtGdrEYwbGflOPdNp1u0tiKemkGylZmdj/9rbvWo0IYnCFLs1tAQ1fpkGVQYVo4FA68IbkKvB2KNxrQ17ySt96mzi6ODrNuVzsgisAS/q2ILoOlZL2nfdCNWb523fz7hEM319hb+aWTmo2zExKfWXzUZRGWy09rt8rQZXW5qBKTs5vsYabOjubwNNfFoX7dv32XwAAD++LH6dpCJbVSQouNoBCx0XMzcYw+6o+G//GpIy1eD9A/1cvAp/zhr1mDURDqx2xBgY79tNgsjX9AArhyCNX/BRq/st/uDXRqUv7Wx+Pl/40TsVhng3/XrKZXhDYKnD2aAAyOHG8yS8FTlr5aM6Nh//ra74YvdX+3/j/RLZDm6wRAbHmTF1ZWhK3HdcgOeU+RMXPeCEL8zqEcm3nMeTpuJhH7GTnjejYZx6OrdHAWBghyiaVrgH9f2nXLm1VZ4AgOokXq16NNjRz3FgLYzr7qd94Y2TRJW/cGAcaH5CN5+iXZy4LY2JaCo5I4//pJ/TthQ8SBbQdOIDZPayUXSmAo7cTuD/rk97N3QBGdx5oIzTeSYL8FZfiH/nJLQARX7PafEYZBW9a/ZMjDSPg9GFTPL4BL42F32uL8ZcYLrpkRGRW6jbjmj7GuGSwV5+YuKOhEAf2ZVwU55UjaxRygygrjlYc8FoCe+HyL6rJ5V3jfZvZy1Nw3CdfX4CWQ5/gUjrgONEGb7g2SL/nS9dGgl2gAHKKCzEneCdL38wwsnQYPGdrerT/4uEWM1T24cHLkgBmT+zH6YiwG7DkqEmAbjF4AAAA==",
|
129 |
"error": null,
|
130 |
"meta": {
|
131 |
+
"outputs": {},
|
|
|
132 |
"inputs": {
|
133 |
"image": {
|
134 |
+
"position": "left",
|
135 |
"type": {
|
136 |
+
"type": "<module 'PIL.Image' from '/media/nvme/darabos/lynxkite-2024/.venv/lib/python3.11/site-packages/PIL/Image.py'>"
|
137 |
},
|
138 |
+
"name": "image"
|
139 |
}
|
140 |
},
|
141 |
+
"name": "View image",
|
142 |
+
"params": {},
|
143 |
+
"type": "image"
|
144 |
}
|
145 |
},
|
146 |
"position": {
|
147 |
"x": 1027.1387925400982,
|
148 |
"y": 251.36630333493974
|
149 |
},
|
150 |
+
"width": 222.0,
|
151 |
+
"height": 291.0,
|
152 |
"parentId": null
|
153 |
},
|
154 |
{
|
|
|
159 |
"params": {},
|
160 |
"display": null,
|
161 |
"error": null,
|
162 |
+
"collapsed": true,
|
163 |
+
"__execution_delay": null,
|
164 |
"meta": {
|
165 |
+
"type": "basic",
|
166 |
"params": {},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
167 |
"outputs": {
|
168 |
"output": {
|
|
|
169 |
"type": {
|
170 |
"type": "None"
|
171 |
},
|
172 |
+
"position": "right",
|
173 |
+
"name": "output"
|
174 |
}
|
175 |
},
|
176 |
+
"name": "To grayscale",
|
177 |
+
"inputs": {
|
178 |
+
"image": {
|
179 |
+
"position": "left",
|
180 |
+
"type": {
|
181 |
+
"type": "<module 'PIL.Image' from '/media/nvme/darabos/lynxkite-2024/.venv/lib/python3.11/site-packages/PIL/Image.py'>"
|
182 |
+
},
|
183 |
+
"name": "image"
|
184 |
+
}
|
185 |
+
}
|
186 |
}
|
187 |
},
|
188 |
"position": {
|
189 |
"x": 826.1911193192234,
|
190 |
"y": 579.1542134884979
|
191 |
},
|
192 |
+
"parentId": null,
|
193 |
+
"width": 200.0,
|
194 |
+
"height": 200.0
|
195 |
},
|
196 |
{
|
197 |
"id": "Blur 1",
|
|
|
204 |
"display": null,
|
205 |
"error": null,
|
206 |
"meta": {
|
207 |
+
"type": "basic",
|
208 |
"params": {
|
209 |
"radius": {
|
210 |
+
"default": 5.0,
|
211 |
"name": "radius",
|
|
|
212 |
"type": {
|
213 |
"type": "<class 'float'>"
|
214 |
}
|
|
|
218 |
"image": {
|
219 |
"name": "image",
|
220 |
"type": {
|
221 |
+
"type": "<module 'PIL.Image' from '/media/nvme/darabos/lynxkite-2024/.venv/lib/python3.11/site-packages/PIL/Image.py'>"
|
222 |
},
|
223 |
"position": "left"
|
224 |
}
|
225 |
},
|
226 |
+
"name": "Blur",
|
227 |
"outputs": {
|
228 |
"output": {
|
229 |
"name": "output",
|
|
|
232 |
},
|
233 |
"position": "right"
|
234 |
}
|
235 |
+
}
|
|
|
|
|
236 |
}
|
237 |
},
|
238 |
"position": {
|
239 |
"x": 505.15961556359304,
|
240 |
"y": 539.8477981917164
|
241 |
},
|
242 |
+
"parentId": null,
|
243 |
+
"height": 200.0,
|
244 |
+
"width": 200.0
|
245 |
}
|
246 |
],
|
247 |
"edges": [
|
lynxkite-app/data/LynxScribe demo
CHANGED
@@ -7,41 +7,43 @@
|
|
7 |
"data": {
|
8 |
"title": "Input chat",
|
9 |
"params": {
|
10 |
-
"chat": "who is the
|
11 |
},
|
12 |
"display": null,
|
13 |
"error": null,
|
|
|
14 |
"meta": {
|
15 |
-
"outputs": {
|
16 |
-
"output": {
|
17 |
-
"type": {
|
18 |
-
"type": "None"
|
19 |
-
},
|
20 |
-
"position": "right",
|
21 |
-
"name": "output"
|
22 |
-
}
|
23 |
-
},
|
24 |
"inputs": {},
|
25 |
"params": {
|
26 |
"chat": {
|
|
|
27 |
"type": {
|
28 |
"type": "<class 'str'>"
|
29 |
},
|
30 |
-
"name": "chat"
|
31 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
}
|
33 |
},
|
34 |
"name": "Input chat",
|
35 |
"type": "basic"
|
36 |
-
}
|
|
|
37 |
},
|
38 |
"position": {
|
39 |
"x": -493.5496596237119,
|
40 |
"y": 20.90123252513356
|
41 |
},
|
42 |
"height": 186.0,
|
43 |
-
"
|
44 |
-
"
|
45 |
},
|
46 |
{
|
47 |
"id": "View 1",
|
@@ -57,7 +59,7 @@
|
|
57 |
],
|
58 |
"data": [
|
59 |
[
|
60 |
-
"
|
61 |
]
|
62 |
]
|
63 |
}
|
@@ -66,27 +68,27 @@
|
|
66 |
"error": null,
|
67 |
"meta": {
|
68 |
"type": "table_view",
|
69 |
-
"outputs": {},
|
70 |
-
"params": {},
|
71 |
"name": "View",
|
72 |
"inputs": {
|
73 |
"input": {
|
74 |
-
"position": "left",
|
75 |
"name": "input",
|
76 |
"type": {
|
77 |
"type": "<class 'inspect._empty'>"
|
78 |
-
}
|
|
|
79 |
}
|
80 |
-
}
|
|
|
|
|
81 |
}
|
82 |
},
|
83 |
"position": {
|
84 |
-
"x":
|
85 |
-
"y": -
|
86 |
},
|
87 |
-
"
|
88 |
"parentId": null,
|
89 |
-
"
|
90 |
},
|
91 |
{
|
92 |
"id": "LLM 1",
|
@@ -100,35 +102,35 @@
|
|
100 |
"error": null,
|
101 |
"meta": {
|
102 |
"inputs": {},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
"type": "basic",
|
104 |
-
"name": "LLM",
|
105 |
"params": {
|
106 |
"name": {
|
|
|
107 |
"name": "name",
|
108 |
"type": {
|
109 |
"type": "<class 'str'>"
|
110 |
-
}
|
111 |
-
"default": "openai"
|
112 |
}
|
113 |
},
|
114 |
-
"
|
115 |
-
"output": {
|
116 |
-
"name": "output",
|
117 |
-
"type": {
|
118 |
-
"type": "None"
|
119 |
-
},
|
120 |
-
"position": "top"
|
121 |
-
}
|
122 |
-
}
|
123 |
}
|
124 |
},
|
125 |
"position": {
|
126 |
"x": -312.5774211084781,
|
127 |
"y": 1093.4019527511366
|
128 |
},
|
129 |
-
"
|
130 |
"width": 200.0,
|
131 |
-
"
|
132 |
},
|
133 |
{
|
134 |
"id": "Scenario selector 1",
|
@@ -136,49 +138,49 @@
|
|
136 |
"data": {
|
137 |
"title": "Scenario selector",
|
138 |
"params": {
|
139 |
-
"
|
140 |
-
"
|
141 |
},
|
142 |
"display": null,
|
143 |
"error": null,
|
144 |
"meta": {
|
145 |
-
"type": "basic",
|
146 |
-
"name": "Scenario selector",
|
147 |
-
"inputs": {},
|
148 |
-
"outputs": {
|
149 |
-
"output": {
|
150 |
-
"type": {
|
151 |
-
"type": "None"
|
152 |
-
},
|
153 |
-
"position": "top",
|
154 |
-
"name": "output"
|
155 |
-
}
|
156 |
-
},
|
157 |
"params": {
|
158 |
"scenario_file": {
|
159 |
"type": {
|
160 |
"type": "<class 'str'>"
|
161 |
},
|
162 |
-
"
|
163 |
-
"
|
164 |
},
|
165 |
"node_types": {
|
|
|
166 |
"type": {
|
167 |
"type": "<class 'str'>"
|
168 |
},
|
169 |
-
"name": "node_types"
|
170 |
-
"default": "intent_cluster"
|
171 |
}
|
172 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
173 |
}
|
174 |
},
|
175 |
"position": {
|
176 |
"x": -549.1300345090008,
|
177 |
"y": 1086.4852248156676
|
178 |
},
|
179 |
-
"
|
180 |
"height": 200.0,
|
181 |
-
"
|
182 |
},
|
183 |
{
|
184 |
"id": "Chat API 1",
|
@@ -192,48 +194,48 @@
|
|
192 |
"error": null,
|
193 |
"meta": {
|
194 |
"name": "Chat API",
|
|
|
195 |
"outputs": {
|
196 |
"output": {
|
197 |
-
"position": "top",
|
198 |
-
"name": "output",
|
199 |
"type": {
|
200 |
"type": "None"
|
201 |
-
}
|
202 |
-
}
|
203 |
-
},
|
204 |
-
"params": {
|
205 |
-
"model": {
|
206 |
-
"type": {
|
207 |
-
"type": "<class 'str'>"
|
208 |
},
|
209 |
-
"
|
210 |
-
"name": "
|
211 |
}
|
212 |
},
|
213 |
"inputs": {
|
214 |
-
"
|
|
|
215 |
"type": {
|
216 |
"type": "<class 'inspect._empty'>"
|
217 |
},
|
218 |
-
"name": "knowledge_base",
|
219 |
"position": "bottom"
|
220 |
},
|
221 |
-
"
|
|
|
|
|
222 |
"type": {
|
223 |
"type": "<class 'inspect._empty'>"
|
224 |
-
}
|
225 |
-
"position": "bottom",
|
226 |
-
"name": "chatbot"
|
227 |
},
|
228 |
-
"
|
229 |
-
"position": "bottom",
|
230 |
"type": {
|
231 |
"type": "<class 'inspect._empty'>"
|
232 |
},
|
233 |
-
"
|
|
|
234 |
}
|
235 |
},
|
236 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
237 |
}
|
238 |
},
|
239 |
"position": {
|
@@ -241,8 +243,8 @@
|
|
241 |
"y": 258.20943122219336
|
242 |
},
|
243 |
"parentId": null,
|
244 |
-
"
|
245 |
-
"
|
246 |
},
|
247 |
{
|
248 |
"id": "Knowledge base 1",
|
@@ -250,13 +252,15 @@
|
|
250 |
"data": {
|
251 |
"title": "Knowledge base",
|
252 |
"params": {
|
253 |
-
"
|
254 |
"edges_path": "/home/darabos/nvme/lynxscribe/examples/chat_api/data/lynx/edges.pickle",
|
255 |
-
"
|
256 |
},
|
257 |
"display": null,
|
258 |
"error": null,
|
259 |
"meta": {
|
|
|
|
|
260 |
"params": {
|
261 |
"nodes_path": {
|
262 |
"name": "nodes_path",
|
@@ -265,31 +269,29 @@
|
|
265 |
"type": "<class 'str'>"
|
266 |
}
|
267 |
},
|
268 |
-
"
|
269 |
"type": {
|
270 |
"type": "<class 'str'>"
|
271 |
},
|
272 |
-
"name": "edges_path",
|
273 |
-
"default": "edges.pickle"
|
274 |
-
},
|
275 |
-
"template_cluster_path": {
|
276 |
"name": "template_cluster_path",
|
277 |
-
"default": "tempclusters.pickle"
|
|
|
|
|
|
|
|
|
278 |
"type": {
|
279 |
"type": "<class 'str'>"
|
280 |
}
|
281 |
}
|
282 |
},
|
283 |
-
"name": "Knowledge base",
|
284 |
"inputs": {},
|
285 |
-
"type": "basic",
|
286 |
"outputs": {
|
287 |
"output": {
|
|
|
288 |
"name": "output",
|
289 |
"type": {
|
290 |
"type": "None"
|
291 |
-
}
|
292 |
-
"position": "top"
|
293 |
}
|
294 |
}
|
295 |
}
|
@@ -298,9 +300,9 @@
|
|
298 |
"x": 598.8683124946176,
|
299 |
"y": 609.9499973808545
|
300 |
},
|
|
|
301 |
"height": 320.0,
|
302 |
-
"parentId": null
|
303 |
-
"width": 336.0
|
304 |
},
|
305 |
{
|
306 |
"id": "RAG chatbot 1",
|
@@ -309,74 +311,74 @@
|
|
309 |
"title": "RAG chatbot",
|
310 |
"params": {
|
311 |
"limits_by_type": "{\"information\": [2, 3], \"summary\": [2, 3]}",
|
312 |
-
"negative_answer": "I'm sorry, but the data I've been trained on does not contain any information related to your question.",
|
313 |
"max_results": "5",
|
|
|
314 |
"strict_limits": true
|
315 |
},
|
316 |
"display": null,
|
317 |
"error": null,
|
318 |
"meta": {
|
319 |
-
"
|
320 |
-
"
|
321 |
-
"
|
322 |
-
"name": "
|
323 |
"type": {
|
324 |
-
"type": "
|
325 |
}
|
326 |
-
}
|
|
|
|
|
327 |
"max_results": {
|
328 |
-
"
|
329 |
"type": {
|
330 |
"type": "<class 'int'>"
|
331 |
},
|
332 |
-
"
|
333 |
},
|
334 |
"strict_limits": {
|
335 |
-
"default": true,
|
336 |
"name": "strict_limits",
|
|
|
337 |
"type": {
|
338 |
"type": "<class 'bool'>"
|
339 |
}
|
340 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
341 |
"limits_by_type": {
|
342 |
-
"name": "limits_by_type",
|
343 |
"default": "{}",
|
|
|
344 |
"type": {
|
345 |
"type": "<class 'str'>"
|
346 |
}
|
347 |
}
|
348 |
},
|
349 |
-
"outputs": {
|
350 |
-
"output": {
|
351 |
-
"type": {
|
352 |
-
"type": "None"
|
353 |
-
},
|
354 |
-
"position": "top",
|
355 |
-
"name": "output"
|
356 |
-
}
|
357 |
-
},
|
358 |
-
"type": "basic",
|
359 |
"name": "RAG chatbot",
|
|
|
360 |
"inputs": {
|
361 |
"rag_graph": {
|
362 |
-
"name": "rag_graph",
|
363 |
"type": {
|
364 |
"type": "<class 'inspect._empty'>"
|
365 |
},
|
|
|
366 |
"position": "bottom"
|
367 |
},
|
368 |
-
"
|
369 |
-
"name": "
|
|
|
370 |
"type": {
|
371 |
"type": "<class 'inspect._empty'>"
|
372 |
-
}
|
373 |
-
"position": "bottom"
|
374 |
},
|
375 |
-
"
|
376 |
-
"name": "llm",
|
377 |
"type": {
|
378 |
"type": "<class 'inspect._empty'>"
|
379 |
},
|
|
|
380 |
"position": "bottom"
|
381 |
}
|
382 |
}
|
@@ -387,9 +389,9 @@
|
|
387 |
"x": -533.1301830766971,
|
388 |
"y": 547.294980747757
|
389 |
},
|
390 |
-
"width": 339.0,
|
391 |
"parentId": null,
|
392 |
-
"height": 399.0
|
|
|
393 |
},
|
394 |
{
|
395 |
"id": "RAG graph 1",
|
@@ -400,43 +402,43 @@
|
|
400 |
"display": null,
|
401 |
"error": null,
|
402 |
"meta": {
|
403 |
-
"
|
404 |
"inputs": {
|
405 |
-
"
|
406 |
-
"name": "vector_store",
|
407 |
"type": {
|
408 |
"type": "<class 'inspect._empty'>"
|
409 |
},
|
410 |
-
"position": "bottom"
|
|
|
411 |
},
|
412 |
-
"
|
|
|
413 |
"type": {
|
414 |
"type": "<class 'inspect._empty'>"
|
415 |
},
|
416 |
-
"
|
417 |
-
"name": "text_embedder"
|
418 |
}
|
419 |
},
|
|
|
420 |
"params": {},
|
421 |
"outputs": {
|
422 |
"output": {
|
423 |
"position": "top",
|
424 |
-
"name": "output",
|
425 |
"type": {
|
426 |
"type": "None"
|
427 |
-
}
|
|
|
428 |
}
|
429 |
-
}
|
430 |
-
"type": "basic"
|
431 |
}
|
432 |
},
|
433 |
"position": {
|
434 |
"x": -817.8208895639339,
|
435 |
"y": 1014.836542916127
|
436 |
},
|
437 |
-
"
|
438 |
"width": 200.0,
|
439 |
-
"
|
440 |
},
|
441 |
{
|
442 |
"id": "Vector store 1",
|
@@ -453,31 +455,31 @@
|
|
453 |
"meta": {
|
454 |
"params": {
|
455 |
"collection_name": {
|
456 |
-
"default": "lynx",
|
457 |
"type": {
|
458 |
"type": "<class 'str'>"
|
459 |
},
|
|
|
460 |
"name": "collection_name"
|
461 |
},
|
462 |
"name": {
|
463 |
"default": "chromadb",
|
464 |
-
"name": "name",
|
465 |
"type": {
|
466 |
"type": "<class 'str'>"
|
467 |
-
}
|
|
|
468 |
}
|
469 |
},
|
|
|
470 |
"name": "Vector store",
|
471 |
"outputs": {
|
472 |
"output": {
|
473 |
-
"name": "output",
|
474 |
"type": {
|
475 |
"type": "None"
|
476 |
},
|
477 |
-
"position": "top"
|
|
|
478 |
}
|
479 |
},
|
480 |
-
"type": "basic",
|
481 |
"inputs": {}
|
482 |
}
|
483 |
},
|
@@ -500,33 +502,33 @@
|
|
500 |
"display": null,
|
501 |
"error": null,
|
502 |
"meta": {
|
503 |
-
"type": "basic",
|
504 |
"params": {
|
505 |
"model": {
|
|
|
506 |
"type": {
|
507 |
"type": "<class 'str'>"
|
508 |
},
|
509 |
-
"name": "model"
|
510 |
-
"default": "text-embedding-ada-002"
|
511 |
-
}
|
512 |
-
},
|
513 |
-
"inputs": {
|
514 |
-
"llm": {
|
515 |
-
"name": "llm",
|
516 |
-
"position": "bottom",
|
517 |
-
"type": {
|
518 |
-
"type": "<class 'inspect._empty'>"
|
519 |
-
}
|
520 |
}
|
521 |
},
|
522 |
"name": "Text embedder",
|
523 |
"outputs": {
|
524 |
"output": {
|
525 |
-
"name": "output",
|
526 |
"type": {
|
527 |
"type": "None"
|
528 |
},
|
529 |
-
"position": "top"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
530 |
}
|
531 |
}
|
532 |
}
|
@@ -536,8 +538,8 @@
|
|
536 |
"y": 1343.5978526690794
|
537 |
},
|
538 |
"width": 200.0,
|
539 |
-
"
|
540 |
-
"
|
541 |
},
|
542 |
{
|
543 |
"id": "LLM 2",
|
@@ -550,36 +552,36 @@
|
|
550 |
"display": null,
|
551 |
"error": null,
|
552 |
"meta": {
|
553 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
554 |
"type": "basic",
|
|
|
555 |
"params": {
|
556 |
"name": {
|
557 |
-
"name": "name",
|
558 |
"default": "openai",
|
|
|
559 |
"type": {
|
560 |
"type": "<class 'str'>"
|
561 |
}
|
562 |
}
|
563 |
-
}
|
564 |
-
"outputs": {
|
565 |
-
"output": {
|
566 |
-
"name": "output",
|
567 |
-
"type": {
|
568 |
-
"type": "None"
|
569 |
-
},
|
570 |
-
"position": "top"
|
571 |
-
}
|
572 |
-
},
|
573 |
-
"name": "LLM"
|
574 |
}
|
575 |
},
|
576 |
"position": {
|
577 |
"x": -727.6171373682814,
|
578 |
"y": 1649.7242636905507
|
579 |
},
|
580 |
-
"height": 200.0,
|
581 |
"width": 200.0,
|
582 |
-
"parentId": null
|
|
|
583 |
},
|
584 |
{
|
585 |
"id": "Truncate history 1",
|
@@ -592,18 +594,6 @@
|
|
592 |
"display": null,
|
593 |
"error": null,
|
594 |
"meta": {
|
595 |
-
"name": "Truncate history",
|
596 |
-
"inputs": {},
|
597 |
-
"type": "basic",
|
598 |
-
"params": {
|
599 |
-
"max_tokens": {
|
600 |
-
"type": {
|
601 |
-
"type": "<class 'int'>"
|
602 |
-
},
|
603 |
-
"default": 10000.0,
|
604 |
-
"name": "max_tokens"
|
605 |
-
}
|
606 |
-
},
|
607 |
"outputs": {
|
608 |
"output": {
|
609 |
"type": {
|
@@ -612,7 +602,19 @@
|
|
612 |
"name": "output",
|
613 |
"position": "top"
|
614 |
}
|
615 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
616 |
}
|
617 |
},
|
618 |
"position": {
|
@@ -620,8 +622,8 @@
|
|
620 |
"y": 1044.7639853229612
|
621 |
},
|
622 |
"height": 200.0,
|
623 |
-
"
|
624 |
-
"
|
625 |
},
|
626 |
{
|
627 |
"id": "Chat processor 1",
|
@@ -631,38 +633,38 @@
|
|
631 |
"params": {},
|
632 |
"display": null,
|
633 |
"error": null,
|
634 |
-
"collapsed": true,
|
635 |
"__execution_delay": null,
|
|
|
636 |
"meta": {
|
|
|
637 |
"inputs": {
|
638 |
"processor": {
|
|
|
639 |
"position": "bottom",
|
640 |
"type": {
|
641 |
"type": "<class 'inspect._empty'>"
|
642 |
-
}
|
643 |
-
"name": "processor"
|
644 |
}
|
645 |
},
|
646 |
"params": {},
|
647 |
-
"
|
648 |
"outputs": {
|
649 |
"output": {
|
650 |
-
"position": "top",
|
651 |
-
"name": "output",
|
652 |
"type": {
|
653 |
"type": "None"
|
654 |
-
}
|
|
|
|
|
655 |
}
|
656 |
-
}
|
657 |
-
"type": "basic"
|
658 |
}
|
659 |
},
|
660 |
"position": {
|
661 |
"x": 182.89729246405872,
|
662 |
"y": 778.546274223181
|
663 |
},
|
664 |
-
"width": 200.0,
|
665 |
"parentId": null,
|
|
|
666 |
"height": 200.0
|
667 |
},
|
668 |
{
|
@@ -671,23 +673,26 @@
|
|
671 |
"data": {
|
672 |
"title": "Mask",
|
673 |
"params": {
|
674 |
-
"exceptions": "[email protected],[email protected],[email protected],[email protected]",
|
675 |
-
"regex": "([a-z0-9!#$%&'*+\\/=?^_`{|.}~-]+@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)",
|
676 |
"mask_pattern": "masked_email_address_{}",
|
677 |
-
"name": "email"
|
|
|
|
|
678 |
},
|
679 |
"display": null,
|
680 |
"error": null,
|
681 |
"meta": {
|
|
|
682 |
"outputs": {
|
683 |
"output": {
|
684 |
"position": "top",
|
|
|
685 |
"type": {
|
686 |
"type": "None"
|
687 |
-
}
|
688 |
-
"name": "output"
|
689 |
}
|
690 |
},
|
|
|
|
|
691 |
"params": {
|
692 |
"name": {
|
693 |
"default": "",
|
@@ -698,17 +703,10 @@
|
|
698 |
},
|
699 |
"exceptions": {
|
700 |
"name": "exceptions",
|
701 |
-
"default": "",
|
702 |
-
"type": {
|
703 |
-
"type": "<class 'str'>"
|
704 |
-
}
|
705 |
-
},
|
706 |
-
"mask_pattern": {
|
707 |
-
"default": "",
|
708 |
"type": {
|
709 |
"type": "<class 'str'>"
|
710 |
},
|
711 |
-
"
|
712 |
},
|
713 |
"regex": {
|
714 |
"type": {
|
@@ -716,20 +714,24 @@
|
|
716 |
},
|
717 |
"name": "regex",
|
718 |
"default": ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
719 |
}
|
720 |
-
}
|
721 |
-
"type": "basic",
|
722 |
-
"inputs": {},
|
723 |
-
"name": "Mask"
|
724 |
}
|
725 |
},
|
726 |
"position": {
|
727 |
"x": 233.69759202223884,
|
728 |
"y": 1041.6145468043276
|
729 |
},
|
730 |
-
"
|
731 |
"parentId": null,
|
732 |
-
"
|
733 |
},
|
734 |
{
|
735 |
"id": "Mask 2",
|
@@ -737,54 +739,54 @@
|
|
737 |
"data": {
|
738 |
"title": "Mask",
|
739 |
"params": {
|
740 |
-
"mask_pattern": "masked_credit_card_number_{}",
|
741 |
-
"exceptions": "",
|
742 |
"regex": "((?:(?:\\\\d{4}[- ]?){3}\\\\d{4}|\\\\d{15,16}))(?![\\\\d])",
|
743 |
-
"
|
|
|
|
|
744 |
},
|
745 |
"display": null,
|
746 |
"error": null,
|
747 |
"meta": {
|
748 |
-
"name": "Mask",
|
749 |
"outputs": {
|
750 |
"output": {
|
751 |
"name": "output",
|
|
|
752 |
"type": {
|
753 |
"type": "None"
|
754 |
-
}
|
755 |
-
"position": "top"
|
756 |
}
|
757 |
},
|
758 |
-
"type": "basic",
|
759 |
"inputs": {},
|
|
|
|
|
760 |
"params": {
|
761 |
-
"
|
762 |
-
"default": "",
|
763 |
"type": {
|
764 |
"type": "<class 'str'>"
|
765 |
},
|
766 |
-
"
|
|
|
767 |
},
|
768 |
-
"
|
769 |
"default": "",
|
770 |
-
"name": "name",
|
771 |
"type": {
|
772 |
"type": "<class 'str'>"
|
773 |
-
}
|
|
|
774 |
},
|
775 |
-
"
|
776 |
-
"
|
777 |
"type": {
|
778 |
"type": "<class 'str'>"
|
779 |
},
|
780 |
-
"
|
781 |
},
|
782 |
-
"
|
|
|
783 |
"default": "",
|
784 |
"type": {
|
785 |
"type": "<class 'str'>"
|
786 |
-
}
|
787 |
-
"name": "regex"
|
788 |
}
|
789 |
}
|
790 |
}
|
@@ -793,9 +795,9 @@
|
|
793 |
"x": 513.2761671440603,
|
794 |
"y": 1034.8547191984255
|
795 |
},
|
796 |
-
"
|
797 |
"parentId": null,
|
798 |
-
"
|
799 |
},
|
800 |
{
|
801 |
"id": "Test Chat API 2",
|
@@ -807,46 +809,46 @@
|
|
807 |
},
|
808 |
"display": null,
|
809 |
"error": null,
|
|
|
|
|
810 |
"meta": {
|
811 |
-
"
|
812 |
-
"
|
813 |
-
"
|
814 |
"type": {
|
815 |
-
"type": "
|
816 |
},
|
817 |
-
"name": "
|
818 |
}
|
819 |
},
|
820 |
-
"type": "basic",
|
821 |
"inputs": {
|
822 |
-
"
|
823 |
-
"name": "
|
|
|
824 |
"type": {
|
825 |
"type": "<class 'inspect._empty'>"
|
826 |
-
}
|
827 |
-
"position": "bottom"
|
828 |
},
|
829 |
-
"
|
|
|
830 |
"type": {
|
831 |
"type": "<class 'inspect._empty'>"
|
832 |
},
|
833 |
-
"name": "
|
834 |
-
"position": "left"
|
835 |
}
|
836 |
},
|
837 |
-
"
|
838 |
-
|
839 |
-
|
840 |
"type": {
|
841 |
-
"type": "
|
842 |
},
|
843 |
-
"name": "
|
844 |
-
"default": false
|
845 |
}
|
846 |
-
}
|
847 |
-
|
848 |
-
|
849 |
-
|
850 |
},
|
851 |
"position": {
|
852 |
"x": -57.377776548056346,
|
|
|
7 |
"data": {
|
8 |
"title": "Input chat",
|
9 |
"params": {
|
10 |
+
"chat": "who is the CTO of Lynx?"
|
11 |
},
|
12 |
"display": null,
|
13 |
"error": null,
|
14 |
+
"collapsed": null,
|
15 |
"meta": {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
"inputs": {},
|
17 |
"params": {
|
18 |
"chat": {
|
19 |
+
"default": null,
|
20 |
"type": {
|
21 |
"type": "<class 'str'>"
|
22 |
},
|
23 |
+
"name": "chat"
|
24 |
+
}
|
25 |
+
},
|
26 |
+
"outputs": {
|
27 |
+
"output": {
|
28 |
+
"name": "output",
|
29 |
+
"type": {
|
30 |
+
"type": "None"
|
31 |
+
},
|
32 |
+
"position": "right"
|
33 |
}
|
34 |
},
|
35 |
"name": "Input chat",
|
36 |
"type": "basic"
|
37 |
+
},
|
38 |
+
"__execution_delay": 0.0
|
39 |
},
|
40 |
"position": {
|
41 |
"x": -493.5496596237119,
|
42 |
"y": 20.90123252513356
|
43 |
},
|
44 |
"height": 186.0,
|
45 |
+
"width": 259.0,
|
46 |
+
"parentId": null
|
47 |
},
|
48 |
{
|
49 |
"id": "View 1",
|
|
|
59 |
],
|
60 |
"data": [
|
61 |
[
|
62 |
+
"TheThe Chief Technology Officer (CTO) of Lynx Analytics is Chema Lizano. He leads the technology strategy and roadmap at the company, overseeing the vision, development, and implementation of solutions across various clients and environments. If you have any more questions regarding our team or services, feel free to ask!\n\nPlease visit https://www.lynxanalytics.com/board for further information."
|
63 |
]
|
64 |
]
|
65 |
}
|
|
|
68 |
"error": null,
|
69 |
"meta": {
|
70 |
"type": "table_view",
|
|
|
|
|
71 |
"name": "View",
|
72 |
"inputs": {
|
73 |
"input": {
|
|
|
74 |
"name": "input",
|
75 |
"type": {
|
76 |
"type": "<class 'inspect._empty'>"
|
77 |
+
},
|
78 |
+
"position": "left"
|
79 |
}
|
80 |
+
},
|
81 |
+
"outputs": {},
|
82 |
+
"params": {}
|
83 |
}
|
84 |
},
|
85 |
"position": {
|
86 |
+
"x": 731.7440706129762,
|
87 |
+
"y": -716.4943976910913
|
88 |
},
|
89 |
+
"width": 1256.0,
|
90 |
"parentId": null,
|
91 |
+
"height": 950.0
|
92 |
},
|
93 |
{
|
94 |
"id": "LLM 1",
|
|
|
102 |
"error": null,
|
103 |
"meta": {
|
104 |
"inputs": {},
|
105 |
+
"outputs": {
|
106 |
+
"output": {
|
107 |
+
"type": {
|
108 |
+
"type": "None"
|
109 |
+
},
|
110 |
+
"name": "output",
|
111 |
+
"position": "top"
|
112 |
+
}
|
113 |
+
},
|
114 |
"type": "basic",
|
|
|
115 |
"params": {
|
116 |
"name": {
|
117 |
+
"default": "openai",
|
118 |
"name": "name",
|
119 |
"type": {
|
120 |
"type": "<class 'str'>"
|
121 |
+
}
|
|
|
122 |
}
|
123 |
},
|
124 |
+
"name": "LLM"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
125 |
}
|
126 |
},
|
127 |
"position": {
|
128 |
"x": -312.5774211084781,
|
129 |
"y": 1093.4019527511366
|
130 |
},
|
131 |
+
"parentId": null,
|
132 |
"width": 200.0,
|
133 |
+
"height": 200.0
|
134 |
},
|
135 |
{
|
136 |
"id": "Scenario selector 1",
|
|
|
138 |
"data": {
|
139 |
"title": "Scenario selector",
|
140 |
"params": {
|
141 |
+
"scenario_file": "/home/darabos/nvme/lynxscribe/examples/chat_api/scenarios.yaml",
|
142 |
+
"node_types": "intent_cluster"
|
143 |
},
|
144 |
"display": null,
|
145 |
"error": null,
|
146 |
"meta": {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
147 |
"params": {
|
148 |
"scenario_file": {
|
149 |
"type": {
|
150 |
"type": "<class 'str'>"
|
151 |
},
|
152 |
+
"name": "scenario_file",
|
153 |
+
"default": null
|
154 |
},
|
155 |
"node_types": {
|
156 |
+
"default": "intent_cluster",
|
157 |
"type": {
|
158 |
"type": "<class 'str'>"
|
159 |
},
|
160 |
+
"name": "node_types"
|
|
|
161 |
}
|
162 |
+
},
|
163 |
+
"inputs": {},
|
164 |
+
"outputs": {
|
165 |
+
"output": {
|
166 |
+
"position": "top",
|
167 |
+
"name": "output",
|
168 |
+
"type": {
|
169 |
+
"type": "None"
|
170 |
+
}
|
171 |
+
}
|
172 |
+
},
|
173 |
+
"type": "basic",
|
174 |
+
"name": "Scenario selector"
|
175 |
}
|
176 |
},
|
177 |
"position": {
|
178 |
"x": -549.1300345090008,
|
179 |
"y": 1086.4852248156676
|
180 |
},
|
181 |
+
"parentId": null,
|
182 |
"height": 200.0,
|
183 |
+
"width": 200.0
|
184 |
},
|
185 |
{
|
186 |
"id": "Chat API 1",
|
|
|
194 |
"error": null,
|
195 |
"meta": {
|
196 |
"name": "Chat API",
|
197 |
+
"type": "basic",
|
198 |
"outputs": {
|
199 |
"output": {
|
|
|
|
|
200 |
"type": {
|
201 |
"type": "None"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
202 |
},
|
203 |
+
"position": "top",
|
204 |
+
"name": "output"
|
205 |
}
|
206 |
},
|
207 |
"inputs": {
|
208 |
+
"chatbot": {
|
209 |
+
"name": "chatbot",
|
210 |
"type": {
|
211 |
"type": "<class 'inspect._empty'>"
|
212 |
},
|
|
|
213 |
"position": "bottom"
|
214 |
},
|
215 |
+
"chat_processor": {
|
216 |
+
"name": "chat_processor",
|
217 |
+
"position": "bottom",
|
218 |
"type": {
|
219 |
"type": "<class 'inspect._empty'>"
|
220 |
+
}
|
|
|
|
|
221 |
},
|
222 |
+
"knowledge_base": {
|
|
|
223 |
"type": {
|
224 |
"type": "<class 'inspect._empty'>"
|
225 |
},
|
226 |
+
"position": "bottom",
|
227 |
+
"name": "knowledge_base"
|
228 |
}
|
229 |
},
|
230 |
+
"params": {
|
231 |
+
"model": {
|
232 |
+
"default": "gpt-4o-mini",
|
233 |
+
"type": {
|
234 |
+
"type": "<class 'str'>"
|
235 |
+
},
|
236 |
+
"name": "model"
|
237 |
+
}
|
238 |
+
}
|
239 |
}
|
240 |
},
|
241 |
"position": {
|
|
|
243 |
"y": 258.20943122219336
|
244 |
},
|
245 |
"parentId": null,
|
246 |
+
"width": 200.0,
|
247 |
+
"height": 200.0
|
248 |
},
|
249 |
{
|
250 |
"id": "Knowledge base 1",
|
|
|
252 |
"data": {
|
253 |
"title": "Knowledge base",
|
254 |
"params": {
|
255 |
+
"template_cluster_path": "/home/darabos/nvme/lynxscribe/examples/chat_api/data/lynx/tempclusters.pickle",
|
256 |
"edges_path": "/home/darabos/nvme/lynxscribe/examples/chat_api/data/lynx/edges.pickle",
|
257 |
+
"nodes_path": "/home/darabos/nvme/lynxscribe/examples/chat_api/data/lynx/nodes.pickle"
|
258 |
},
|
259 |
"display": null,
|
260 |
"error": null,
|
261 |
"meta": {
|
262 |
+
"name": "Knowledge base",
|
263 |
+
"type": "basic",
|
264 |
"params": {
|
265 |
"nodes_path": {
|
266 |
"name": "nodes_path",
|
|
|
269 |
"type": "<class 'str'>"
|
270 |
}
|
271 |
},
|
272 |
+
"template_cluster_path": {
|
273 |
"type": {
|
274 |
"type": "<class 'str'>"
|
275 |
},
|
|
|
|
|
|
|
|
|
276 |
"name": "template_cluster_path",
|
277 |
+
"default": "tempclusters.pickle"
|
278 |
+
},
|
279 |
+
"edges_path": {
|
280 |
+
"name": "edges_path",
|
281 |
+
"default": "edges.pickle",
|
282 |
"type": {
|
283 |
"type": "<class 'str'>"
|
284 |
}
|
285 |
}
|
286 |
},
|
|
|
287 |
"inputs": {},
|
|
|
288 |
"outputs": {
|
289 |
"output": {
|
290 |
+
"position": "top",
|
291 |
"name": "output",
|
292 |
"type": {
|
293 |
"type": "None"
|
294 |
+
}
|
|
|
295 |
}
|
296 |
}
|
297 |
}
|
|
|
300 |
"x": 598.8683124946176,
|
301 |
"y": 609.9499973808545
|
302 |
},
|
303 |
+
"width": 336.0,
|
304 |
"height": 320.0,
|
305 |
+
"parentId": null
|
|
|
306 |
},
|
307 |
{
|
308 |
"id": "RAG chatbot 1",
|
|
|
311 |
"title": "RAG chatbot",
|
312 |
"params": {
|
313 |
"limits_by_type": "{\"information\": [2, 3], \"summary\": [2, 3]}",
|
|
|
314 |
"max_results": "5",
|
315 |
+
"negative_answer": "I'm sorry, but the data I've been trained on does not contain any information related to your question.",
|
316 |
"strict_limits": true
|
317 |
},
|
318 |
"display": null,
|
319 |
"error": null,
|
320 |
"meta": {
|
321 |
+
"outputs": {
|
322 |
+
"output": {
|
323 |
+
"position": "top",
|
324 |
+
"name": "output",
|
325 |
"type": {
|
326 |
+
"type": "None"
|
327 |
}
|
328 |
+
}
|
329 |
+
},
|
330 |
+
"params": {
|
331 |
"max_results": {
|
332 |
+
"default": 5.0,
|
333 |
"type": {
|
334 |
"type": "<class 'int'>"
|
335 |
},
|
336 |
+
"name": "max_results"
|
337 |
},
|
338 |
"strict_limits": {
|
|
|
339 |
"name": "strict_limits",
|
340 |
+
"default": true,
|
341 |
"type": {
|
342 |
"type": "<class 'bool'>"
|
343 |
}
|
344 |
},
|
345 |
+
"negative_answer": {
|
346 |
+
"default": "I'm sorry, but the data I've been trained on does not contain any information related to your question.",
|
347 |
+
"name": "negative_answer",
|
348 |
+
"type": {
|
349 |
+
"type": "<class 'str'>"
|
350 |
+
}
|
351 |
+
},
|
352 |
"limits_by_type": {
|
|
|
353 |
"default": "{}",
|
354 |
+
"name": "limits_by_type",
|
355 |
"type": {
|
356 |
"type": "<class 'str'>"
|
357 |
}
|
358 |
}
|
359 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
360 |
"name": "RAG chatbot",
|
361 |
+
"type": "basic",
|
362 |
"inputs": {
|
363 |
"rag_graph": {
|
|
|
364 |
"type": {
|
365 |
"type": "<class 'inspect._empty'>"
|
366 |
},
|
367 |
+
"name": "rag_graph",
|
368 |
"position": "bottom"
|
369 |
},
|
370 |
+
"llm": {
|
371 |
+
"name": "llm",
|
372 |
+
"position": "bottom",
|
373 |
"type": {
|
374 |
"type": "<class 'inspect._empty'>"
|
375 |
+
}
|
|
|
376 |
},
|
377 |
+
"scenario_selector": {
|
|
|
378 |
"type": {
|
379 |
"type": "<class 'inspect._empty'>"
|
380 |
},
|
381 |
+
"name": "scenario_selector",
|
382 |
"position": "bottom"
|
383 |
}
|
384 |
}
|
|
|
389 |
"x": -533.1301830766971,
|
390 |
"y": 547.294980747757
|
391 |
},
|
|
|
392 |
"parentId": null,
|
393 |
+
"height": 399.0,
|
394 |
+
"width": 339.0
|
395 |
},
|
396 |
{
|
397 |
"id": "RAG graph 1",
|
|
|
402 |
"display": null,
|
403 |
"error": null,
|
404 |
"meta": {
|
405 |
+
"type": "basic",
|
406 |
"inputs": {
|
407 |
+
"text_embedder": {
|
|
|
408 |
"type": {
|
409 |
"type": "<class 'inspect._empty'>"
|
410 |
},
|
411 |
+
"position": "bottom",
|
412 |
+
"name": "text_embedder"
|
413 |
},
|
414 |
+
"vector_store": {
|
415 |
+
"position": "bottom",
|
416 |
"type": {
|
417 |
"type": "<class 'inspect._empty'>"
|
418 |
},
|
419 |
+
"name": "vector_store"
|
|
|
420 |
}
|
421 |
},
|
422 |
+
"name": "RAG graph",
|
423 |
"params": {},
|
424 |
"outputs": {
|
425 |
"output": {
|
426 |
"position": "top",
|
|
|
427 |
"type": {
|
428 |
"type": "None"
|
429 |
+
},
|
430 |
+
"name": "output"
|
431 |
}
|
432 |
+
}
|
|
|
433 |
}
|
434 |
},
|
435 |
"position": {
|
436 |
"x": -817.8208895639339,
|
437 |
"y": 1014.836542916127
|
438 |
},
|
439 |
+
"parentId": null,
|
440 |
"width": 200.0,
|
441 |
+
"height": 200.0
|
442 |
},
|
443 |
{
|
444 |
"id": "Vector store 1",
|
|
|
455 |
"meta": {
|
456 |
"params": {
|
457 |
"collection_name": {
|
|
|
458 |
"type": {
|
459 |
"type": "<class 'str'>"
|
460 |
},
|
461 |
+
"default": "lynx",
|
462 |
"name": "collection_name"
|
463 |
},
|
464 |
"name": {
|
465 |
"default": "chromadb",
|
|
|
466 |
"type": {
|
467 |
"type": "<class 'str'>"
|
468 |
+
},
|
469 |
+
"name": "name"
|
470 |
}
|
471 |
},
|
472 |
+
"type": "basic",
|
473 |
"name": "Vector store",
|
474 |
"outputs": {
|
475 |
"output": {
|
|
|
476 |
"type": {
|
477 |
"type": "None"
|
478 |
},
|
479 |
+
"position": "top",
|
480 |
+
"name": "output"
|
481 |
}
|
482 |
},
|
|
|
483 |
"inputs": {}
|
484 |
}
|
485 |
},
|
|
|
502 |
"display": null,
|
503 |
"error": null,
|
504 |
"meta": {
|
|
|
505 |
"params": {
|
506 |
"model": {
|
507 |
+
"default": "text-embedding-ada-002",
|
508 |
"type": {
|
509 |
"type": "<class 'str'>"
|
510 |
},
|
511 |
+
"name": "model"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
512 |
}
|
513 |
},
|
514 |
"name": "Text embedder",
|
515 |
"outputs": {
|
516 |
"output": {
|
|
|
517 |
"type": {
|
518 |
"type": "None"
|
519 |
},
|
520 |
+
"position": "top",
|
521 |
+
"name": "output"
|
522 |
+
}
|
523 |
+
},
|
524 |
+
"type": "basic",
|
525 |
+
"inputs": {
|
526 |
+
"llm": {
|
527 |
+
"type": {
|
528 |
+
"type": "<class 'inspect._empty'>"
|
529 |
+
},
|
530 |
+
"name": "llm",
|
531 |
+
"position": "bottom"
|
532 |
}
|
533 |
}
|
534 |
}
|
|
|
538 |
"y": 1343.5978526690794
|
539 |
},
|
540 |
"width": 200.0,
|
541 |
+
"height": 200.0,
|
542 |
+
"parentId": null
|
543 |
},
|
544 |
{
|
545 |
"id": "LLM 2",
|
|
|
552 |
"display": null,
|
553 |
"error": null,
|
554 |
"meta": {
|
555 |
+
"outputs": {
|
556 |
+
"output": {
|
557 |
+
"position": "top",
|
558 |
+
"name": "output",
|
559 |
+
"type": {
|
560 |
+
"type": "None"
|
561 |
+
}
|
562 |
+
}
|
563 |
+
},
|
564 |
+
"name": "LLM",
|
565 |
"type": "basic",
|
566 |
+
"inputs": {},
|
567 |
"params": {
|
568 |
"name": {
|
|
|
569 |
"default": "openai",
|
570 |
+
"name": "name",
|
571 |
"type": {
|
572 |
"type": "<class 'str'>"
|
573 |
}
|
574 |
}
|
575 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
576 |
}
|
577 |
},
|
578 |
"position": {
|
579 |
"x": -727.6171373682814,
|
580 |
"y": 1649.7242636905507
|
581 |
},
|
|
|
582 |
"width": 200.0,
|
583 |
+
"parentId": null,
|
584 |
+
"height": 200.0
|
585 |
},
|
586 |
{
|
587 |
"id": "Truncate history 1",
|
|
|
594 |
"display": null,
|
595 |
"error": null,
|
596 |
"meta": {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
597 |
"outputs": {
|
598 |
"output": {
|
599 |
"type": {
|
|
|
602 |
"name": "output",
|
603 |
"position": "top"
|
604 |
}
|
605 |
+
},
|
606 |
+
"type": "basic",
|
607 |
+
"params": {
|
608 |
+
"max_tokens": {
|
609 |
+
"default": 10000.0,
|
610 |
+
"name": "max_tokens",
|
611 |
+
"type": {
|
612 |
+
"type": "<class 'int'>"
|
613 |
+
}
|
614 |
+
}
|
615 |
+
},
|
616 |
+
"name": "Truncate history",
|
617 |
+
"inputs": {}
|
618 |
}
|
619 |
},
|
620 |
"position": {
|
|
|
622 |
"y": 1044.7639853229612
|
623 |
},
|
624 |
"height": 200.0,
|
625 |
+
"width": 200.0,
|
626 |
+
"parentId": null
|
627 |
},
|
628 |
{
|
629 |
"id": "Chat processor 1",
|
|
|
633 |
"params": {},
|
634 |
"display": null,
|
635 |
"error": null,
|
|
|
636 |
"__execution_delay": null,
|
637 |
+
"collapsed": true,
|
638 |
"meta": {
|
639 |
+
"name": "Chat processor",
|
640 |
"inputs": {
|
641 |
"processor": {
|
642 |
+
"name": "processor",
|
643 |
"position": "bottom",
|
644 |
"type": {
|
645 |
"type": "<class 'inspect._empty'>"
|
646 |
+
}
|
|
|
647 |
}
|
648 |
},
|
649 |
"params": {},
|
650 |
+
"type": "basic",
|
651 |
"outputs": {
|
652 |
"output": {
|
|
|
|
|
653 |
"type": {
|
654 |
"type": "None"
|
655 |
+
},
|
656 |
+
"position": "top",
|
657 |
+
"name": "output"
|
658 |
}
|
659 |
+
}
|
|
|
660 |
}
|
661 |
},
|
662 |
"position": {
|
663 |
"x": 182.89729246405872,
|
664 |
"y": 778.546274223181
|
665 |
},
|
|
|
666 |
"parentId": null,
|
667 |
+
"width": 200.0,
|
668 |
"height": 200.0
|
669 |
},
|
670 |
{
|
|
|
673 |
"data": {
|
674 |
"title": "Mask",
|
675 |
"params": {
|
|
|
|
|
676 |
"mask_pattern": "masked_email_address_{}",
|
677 |
+
"name": "email",
|
678 |
+
"exceptions": "[email protected],[email protected],[email protected],[email protected]",
|
679 |
+
"regex": "([a-z0-9!#$%&'*+\\/=?^_`{|.}~-]+@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)"
|
680 |
},
|
681 |
"display": null,
|
682 |
"error": null,
|
683 |
"meta": {
|
684 |
+
"inputs": {},
|
685 |
"outputs": {
|
686 |
"output": {
|
687 |
"position": "top",
|
688 |
+
"name": "output",
|
689 |
"type": {
|
690 |
"type": "None"
|
691 |
+
}
|
|
|
692 |
}
|
693 |
},
|
694 |
+
"type": "basic",
|
695 |
+
"name": "Mask",
|
696 |
"params": {
|
697 |
"name": {
|
698 |
"default": "",
|
|
|
703 |
},
|
704 |
"exceptions": {
|
705 |
"name": "exceptions",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
706 |
"type": {
|
707 |
"type": "<class 'str'>"
|
708 |
},
|
709 |
+
"default": ""
|
710 |
},
|
711 |
"regex": {
|
712 |
"type": {
|
|
|
714 |
},
|
715 |
"name": "regex",
|
716 |
"default": ""
|
717 |
+
},
|
718 |
+
"mask_pattern": {
|
719 |
+
"default": "",
|
720 |
+
"type": {
|
721 |
+
"type": "<class 'str'>"
|
722 |
+
},
|
723 |
+
"name": "mask_pattern"
|
724 |
}
|
725 |
+
}
|
|
|
|
|
|
|
726 |
}
|
727 |
},
|
728 |
"position": {
|
729 |
"x": 233.69759202223884,
|
730 |
"y": 1041.6145468043276
|
731 |
},
|
732 |
+
"height": 200.0,
|
733 |
"parentId": null,
|
734 |
+
"width": 200.0
|
735 |
},
|
736 |
{
|
737 |
"id": "Mask 2",
|
|
|
739 |
"data": {
|
740 |
"title": "Mask",
|
741 |
"params": {
|
|
|
|
|
742 |
"regex": "((?:(?:\\\\d{4}[- ]?){3}\\\\d{4}|\\\\d{15,16}))(?![\\\\d])",
|
743 |
+
"exceptions": "",
|
744 |
+
"name": "credit_card",
|
745 |
+
"mask_pattern": "masked_credit_card_number_{}"
|
746 |
},
|
747 |
"display": null,
|
748 |
"error": null,
|
749 |
"meta": {
|
|
|
750 |
"outputs": {
|
751 |
"output": {
|
752 |
"name": "output",
|
753 |
+
"position": "top",
|
754 |
"type": {
|
755 |
"type": "None"
|
756 |
+
}
|
|
|
757 |
}
|
758 |
},
|
|
|
759 |
"inputs": {},
|
760 |
+
"name": "Mask",
|
761 |
+
"type": "basic",
|
762 |
"params": {
|
763 |
+
"exceptions": {
|
|
|
764 |
"type": {
|
765 |
"type": "<class 'str'>"
|
766 |
},
|
767 |
+
"default": "",
|
768 |
+
"name": "exceptions"
|
769 |
},
|
770 |
+
"regex": {
|
771 |
"default": "",
|
|
|
772 |
"type": {
|
773 |
"type": "<class 'str'>"
|
774 |
+
},
|
775 |
+
"name": "regex"
|
776 |
},
|
777 |
+
"mask_pattern": {
|
778 |
+
"name": "mask_pattern",
|
779 |
"type": {
|
780 |
"type": "<class 'str'>"
|
781 |
},
|
782 |
+
"default": ""
|
783 |
},
|
784 |
+
"name": {
|
785 |
+
"name": "name",
|
786 |
"default": "",
|
787 |
"type": {
|
788 |
"type": "<class 'str'>"
|
789 |
+
}
|
|
|
790 |
}
|
791 |
}
|
792 |
}
|
|
|
795 |
"x": 513.2761671440603,
|
796 |
"y": 1034.8547191984255
|
797 |
},
|
798 |
+
"width": 200.0,
|
799 |
"parentId": null,
|
800 |
+
"height": 200.0
|
801 |
},
|
802 |
{
|
803 |
"id": "Test Chat API 2",
|
|
|
809 |
},
|
810 |
"display": null,
|
811 |
"error": null,
|
812 |
+
"collapsed": false,
|
813 |
+
"__execution_delay": 0.0,
|
814 |
"meta": {
|
815 |
+
"params": {
|
816 |
+
"show_details": {
|
817 |
+
"default": false,
|
818 |
"type": {
|
819 |
+
"type": "<class 'bool'>"
|
820 |
},
|
821 |
+
"name": "show_details"
|
822 |
}
|
823 |
},
|
|
|
824 |
"inputs": {
|
825 |
+
"message": {
|
826 |
+
"name": "message",
|
827 |
+
"position": "left",
|
828 |
"type": {
|
829 |
"type": "<class 'inspect._empty'>"
|
830 |
+
}
|
|
|
831 |
},
|
832 |
+
"chat_api": {
|
833 |
+
"position": "bottom",
|
834 |
"type": {
|
835 |
"type": "<class 'inspect._empty'>"
|
836 |
},
|
837 |
+
"name": "chat_api"
|
|
|
838 |
}
|
839 |
},
|
840 |
+
"outputs": {
|
841 |
+
"output": {
|
842 |
+
"position": "right",
|
843 |
"type": {
|
844 |
+
"type": "None"
|
845 |
},
|
846 |
+
"name": "output"
|
|
|
847 |
}
|
848 |
+
},
|
849 |
+
"name": "Test Chat API",
|
850 |
+
"type": "basic"
|
851 |
+
}
|
852 |
},
|
853 |
"position": {
|
854 |
"x": -57.377776548056346,
|
lynxkite-app/data/PyTorch demo
CHANGED
@@ -11,25 +11,28 @@
|
|
11 |
"error": null,
|
12 |
"meta": {
|
13 |
"name": "Input: features",
|
14 |
-
"
|
15 |
-
"inputs": {},
|
16 |
"outputs": {
|
17 |
"x": {
|
|
|
18 |
"name": "x",
|
19 |
"type": {
|
20 |
"type": "tensor"
|
21 |
-
}
|
22 |
-
"position": "top"
|
23 |
}
|
24 |
},
|
25 |
-
"
|
26 |
-
"
|
27 |
-
}
|
|
|
|
|
28 |
},
|
29 |
"position": {
|
30 |
"x": -108.60604658638658,
|
31 |
"y": 63.96065124378427
|
32 |
},
|
|
|
|
|
33 |
"parentId": null
|
34 |
},
|
35 |
{
|
@@ -40,10 +43,13 @@
|
|
40 |
"params": {},
|
41 |
"display": null,
|
42 |
"error": null,
|
|
|
|
|
43 |
"meta": {
|
44 |
"name": "Input: graph edges",
|
45 |
-
"params": {},
|
46 |
"inputs": {},
|
|
|
|
|
47 |
"outputs": {
|
48 |
"edges": {
|
49 |
"name": "edges",
|
@@ -52,16 +58,16 @@
|
|
52 |
},
|
53 |
"position": "top"
|
54 |
}
|
55 |
-
}
|
56 |
-
"type": "basic",
|
57 |
-
"sub_nodes": null
|
58 |
}
|
59 |
},
|
60 |
"position": {
|
61 |
"x": 180.7373888617958,
|
62 |
"y": 58.54904654355781
|
63 |
},
|
64 |
-
"
|
|
|
|
|
65 |
},
|
66 |
{
|
67 |
"id": "Linear 1",
|
@@ -74,43 +80,44 @@
|
|
74 |
"display": null,
|
75 |
"error": null,
|
76 |
"meta": {
|
77 |
-
"name": "Linear",
|
78 |
-
"params": {
|
79 |
-
"output_dim": {
|
80 |
-
"name": "output_dim",
|
81 |
-
"default": "same",
|
82 |
-
"type": {
|
83 |
-
"type": "<class 'str'>"
|
84 |
-
}
|
85 |
-
}
|
86 |
-
},
|
87 |
"inputs": {
|
88 |
"x": {
|
89 |
-
"name": "x",
|
90 |
"type": {
|
91 |
"type": "tensor"
|
92 |
},
|
93 |
-
"position": "bottom"
|
|
|
94 |
}
|
95 |
},
|
|
|
|
|
96 |
"outputs": {
|
97 |
"x": {
|
98 |
-
"name": "x",
|
99 |
"type": {
|
100 |
"type": "tensor"
|
101 |
},
|
102 |
-
"position": "top"
|
|
|
103 |
}
|
104 |
},
|
105 |
-
"
|
106 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
107 |
}
|
108 |
},
|
109 |
"position": {
|
110 |
-
"x":
|
111 |
-
"y": -
|
112 |
},
|
113 |
-
"parentId": null
|
|
|
|
|
114 |
},
|
115 |
{
|
116 |
"id": "Activation 1",
|
@@ -123,11 +130,30 @@
|
|
123 |
"display": null,
|
124 |
"error": null,
|
125 |
"meta": {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
"name": "Activation",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
127 |
"params": {
|
128 |
"type": {
|
|
|
129 |
"name": "type",
|
130 |
-
"default": 1,
|
131 |
"type": {
|
132 |
"enum": [
|
133 |
"ReLU",
|
@@ -137,34 +163,16 @@
|
|
137 |
]
|
138 |
}
|
139 |
}
|
140 |
-
}
|
141 |
-
"inputs": {
|
142 |
-
"x": {
|
143 |
-
"name": "x",
|
144 |
-
"type": {
|
145 |
-
"type": "tensor"
|
146 |
-
},
|
147 |
-
"position": "bottom"
|
148 |
-
}
|
149 |
-
},
|
150 |
-
"outputs": {
|
151 |
-
"x": {
|
152 |
-
"name": "x",
|
153 |
-
"type": {
|
154 |
-
"type": "tensor"
|
155 |
-
},
|
156 |
-
"position": "top"
|
157 |
-
}
|
158 |
-
},
|
159 |
-
"type": "basic",
|
160 |
-
"sub_nodes": null
|
161 |
}
|
162 |
},
|
163 |
"position": {
|
164 |
-
"x":
|
165 |
-
"y": -
|
166 |
},
|
167 |
-
"
|
|
|
|
|
168 |
},
|
169 |
{
|
170 |
"id": "Dropout 1",
|
@@ -177,16 +185,7 @@
|
|
177 |
"display": null,
|
178 |
"error": null,
|
179 |
"meta": {
|
180 |
-
"
|
181 |
-
"params": {
|
182 |
-
"p": {
|
183 |
-
"name": "p",
|
184 |
-
"default": 0.5,
|
185 |
-
"type": {
|
186 |
-
"type": "<class 'float'>"
|
187 |
-
}
|
188 |
-
}
|
189 |
-
},
|
190 |
"inputs": {
|
191 |
"x": {
|
192 |
"name": "x",
|
@@ -196,59 +195,34 @@
|
|
196 |
"position": "bottom"
|
197 |
}
|
198 |
},
|
199 |
-
"
|
200 |
-
|
201 |
-
|
|
|
202 |
"type": {
|
203 |
-
"type": "
|
204 |
},
|
205 |
-
"
|
206 |
}
|
207 |
},
|
208 |
-
"
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
"position": {
|
213 |
-
"x": 56.938816909128036,
|
214 |
-
"y": -889.4846386414522
|
215 |
-
},
|
216 |
-
"parentId": null
|
217 |
-
},
|
218 |
-
{
|
219 |
-
"id": "Repeat 1",
|
220 |
-
"type": "area",
|
221 |
-
"data": {
|
222 |
-
"title": "Repeat",
|
223 |
-
"params": {
|
224 |
-
"times": "3"
|
225 |
-
},
|
226 |
-
"display": null,
|
227 |
-
"error": null,
|
228 |
-
"meta": {
|
229 |
-
"name": "Repeat",
|
230 |
-
"params": {
|
231 |
-
"times": {
|
232 |
-
"name": "times",
|
233 |
-
"default": 1,
|
234 |
"type": {
|
235 |
-
"type": "
|
236 |
}
|
237 |
}
|
238 |
-
}
|
239 |
-
"inputs": {},
|
240 |
-
"outputs": {},
|
241 |
-
"type": "area",
|
242 |
-
"sub_nodes": null
|
243 |
}
|
244 |
},
|
245 |
"position": {
|
246 |
-
"x":
|
247 |
-
"y": -
|
248 |
},
|
|
|
249 |
"parentId": null,
|
250 |
-
"
|
251 |
-
"height": 600
|
252 |
},
|
253 |
{
|
254 |
"id": "Graph conv 1",
|
@@ -261,11 +235,21 @@
|
|
261 |
"display": null,
|
262 |
"error": null,
|
263 |
"meta": {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
264 |
"name": "Graph conv",
|
265 |
"params": {
|
266 |
"type": {
|
267 |
"name": "type",
|
268 |
-
"default":
|
269 |
"type": {
|
270 |
"enum": [
|
271 |
"GCNConv",
|
@@ -278,10 +262,10 @@
|
|
278 |
},
|
279 |
"inputs": {
|
280 |
"x": {
|
281 |
-
"name": "x",
|
282 |
"type": {
|
283 |
"type": "tensor"
|
284 |
},
|
|
|
285 |
"position": "bottom"
|
286 |
},
|
287 |
"edges": {
|
@@ -291,61 +275,17 @@
|
|
291 |
},
|
292 |
"position": "bottom"
|
293 |
}
|
294 |
-
}
|
295 |
-
"outputs": {
|
296 |
-
"x": {
|
297 |
-
"name": "x",
|
298 |
-
"type": {
|
299 |
-
"type": "tensor"
|
300 |
-
},
|
301 |
-
"position": "top"
|
302 |
-
}
|
303 |
-
},
|
304 |
-
"type": "basic",
|
305 |
-
"sub_nodes": null
|
306 |
}
|
307 |
},
|
308 |
"position": {
|
309 |
"x": 64.08886242755246,
|
310 |
"y": -269.43023573181557
|
311 |
},
|
|
|
|
|
312 |
"parentId": null
|
313 |
},
|
314 |
-
{
|
315 |
-
"id": "Repeat 2",
|
316 |
-
"type": "area",
|
317 |
-
"data": {
|
318 |
-
"title": "Repeat",
|
319 |
-
"params": {
|
320 |
-
"times": "5"
|
321 |
-
},
|
322 |
-
"display": null,
|
323 |
-
"error": null,
|
324 |
-
"meta": {
|
325 |
-
"name": "Repeat",
|
326 |
-
"params": {
|
327 |
-
"times": {
|
328 |
-
"name": "times",
|
329 |
-
"default": 1,
|
330 |
-
"type": {
|
331 |
-
"type": "<class 'int'>"
|
332 |
-
}
|
333 |
-
}
|
334 |
-
},
|
335 |
-
"inputs": {},
|
336 |
-
"outputs": {},
|
337 |
-
"type": "area",
|
338 |
-
"sub_nodes": null
|
339 |
-
}
|
340 |
-
},
|
341 |
-
"position": {
|
342 |
-
"x": -46.21033706832179,
|
343 |
-
"y": -326.2712248181098
|
344 |
-
},
|
345 |
-
"parentId": null,
|
346 |
-
"width": 400,
|
347 |
-
"height": 200
|
348 |
-
},
|
349 |
{
|
350 |
"id": "Supervised loss 1",
|
351 |
"type": "basic",
|
@@ -354,19 +294,22 @@
|
|
354 |
"params": {},
|
355 |
"display": null,
|
356 |
"error": null,
|
|
|
|
|
357 |
"meta": {
|
358 |
-
"
|
359 |
"params": {},
|
|
|
360 |
"inputs": {
|
361 |
-
"
|
362 |
-
"name": "
|
363 |
"type": {
|
364 |
"type": "tensor"
|
365 |
},
|
366 |
"position": "bottom"
|
367 |
},
|
368 |
-
"
|
369 |
-
"name": "
|
370 |
"type": {
|
371 |
"type": "tensor"
|
372 |
},
|
@@ -375,22 +318,22 @@
|
|
375 |
},
|
376 |
"outputs": {
|
377 |
"loss": {
|
378 |
-
"
|
379 |
"type": {
|
380 |
"type": "tensor"
|
381 |
},
|
382 |
-
"
|
383 |
}
|
384 |
-
}
|
385 |
-
"type": "basic",
|
386 |
-
"sub_nodes": null
|
387 |
}
|
388 |
},
|
389 |
"position": {
|
390 |
"x": 110.53693593362718,
|
391 |
"y": -1123.9976567905628
|
392 |
},
|
393 |
-
"parentId": null
|
|
|
|
|
394 |
},
|
395 |
{
|
396 |
"id": "Input: label 1",
|
@@ -400,27 +343,30 @@
|
|
400 |
"params": {},
|
401 |
"display": null,
|
402 |
"error": null,
|
|
|
|
|
403 |
"meta": {
|
404 |
-
"name": "Input: label",
|
405 |
-
"params": {},
|
406 |
"inputs": {},
|
407 |
"outputs": {
|
408 |
"y": {
|
409 |
-
"name": "y",
|
410 |
"type": {
|
411 |
"type": "tensor"
|
412 |
},
|
413 |
-
"position": "top"
|
|
|
414 |
}
|
415 |
},
|
|
|
416 |
"type": "basic",
|
417 |
-
"
|
418 |
}
|
419 |
},
|
420 |
"position": {
|
421 |
"x": 666.110498676668,
|
422 |
"y": -898.6721561114967
|
423 |
},
|
|
|
|
|
424 |
"parentId": null
|
425 |
},
|
426 |
{
|
@@ -429,17 +375,23 @@
|
|
429 |
"data": {
|
430 |
"title": "Optimizer",
|
431 |
"params": {
|
432 |
-
"
|
433 |
-
"
|
434 |
},
|
435 |
"display": null,
|
436 |
"error": null,
|
437 |
"meta": {
|
438 |
"name": "Optimizer",
|
|
|
439 |
"params": {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
440 |
"type": {
|
441 |
-
"name": "type",
|
442 |
-
"default": 1,
|
443 |
"type": {
|
444 |
"enum": [
|
445 |
"AdamW",
|
@@ -450,35 +402,136 @@
|
|
450 |
"Paged AdamW",
|
451 |
"Galore AdamW"
|
452 |
]
|
453 |
-
}
|
454 |
-
|
455 |
-
|
456 |
-
"name": "lr",
|
457 |
-
"default": 0.001,
|
458 |
-
"type": {
|
459 |
-
"type": "<class 'float'>"
|
460 |
-
}
|
461 |
}
|
462 |
},
|
463 |
"inputs": {
|
464 |
"loss": {
|
|
|
|
|
|
|
465 |
"name": "loss",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
466 |
"type": {
|
467 |
"type": "tensor"
|
468 |
},
|
469 |
"position": "bottom"
|
470 |
}
|
471 |
},
|
472 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
473 |
"type": "basic",
|
474 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
475 |
}
|
476 |
},
|
477 |
"position": {
|
478 |
-
"x":
|
479 |
-
"y": -
|
480 |
},
|
481 |
-
"
|
|
|
482 |
}
|
483 |
],
|
484 |
"edges": [
|
@@ -537,6 +590,34 @@
|
|
537 |
"target": "Optimizer 1",
|
538 |
"sourceHandle": "loss",
|
539 |
"targetHandle": "loss"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
540 |
}
|
541 |
]
|
542 |
}
|
|
|
11 |
"error": null,
|
12 |
"meta": {
|
13 |
"name": "Input: features",
|
14 |
+
"type": "basic",
|
|
|
15 |
"outputs": {
|
16 |
"x": {
|
17 |
+
"position": "top",
|
18 |
"name": "x",
|
19 |
"type": {
|
20 |
"type": "tensor"
|
21 |
+
}
|
|
|
22 |
}
|
23 |
},
|
24 |
+
"params": {},
|
25 |
+
"inputs": {}
|
26 |
+
},
|
27 |
+
"collapsed": true,
|
28 |
+
"__execution_delay": null
|
29 |
},
|
30 |
"position": {
|
31 |
"x": -108.60604658638658,
|
32 |
"y": 63.96065124378427
|
33 |
},
|
34 |
+
"width": 200.0,
|
35 |
+
"height": 200.0,
|
36 |
"parentId": null
|
37 |
},
|
38 |
{
|
|
|
43 |
"params": {},
|
44 |
"display": null,
|
45 |
"error": null,
|
46 |
+
"__execution_delay": null,
|
47 |
+
"collapsed": true,
|
48 |
"meta": {
|
49 |
"name": "Input: graph edges",
|
|
|
50 |
"inputs": {},
|
51 |
+
"params": {},
|
52 |
+
"type": "basic",
|
53 |
"outputs": {
|
54 |
"edges": {
|
55 |
"name": "edges",
|
|
|
58 |
},
|
59 |
"position": "top"
|
60 |
}
|
61 |
+
}
|
|
|
|
|
62 |
}
|
63 |
},
|
64 |
"position": {
|
65 |
"x": 180.7373888617958,
|
66 |
"y": 58.54904654355781
|
67 |
},
|
68 |
+
"width": 200.0,
|
69 |
+
"parentId": null,
|
70 |
+
"height": 200.0
|
71 |
},
|
72 |
{
|
73 |
"id": "Linear 1",
|
|
|
80 |
"display": null,
|
81 |
"error": null,
|
82 |
"meta": {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
"inputs": {
|
84 |
"x": {
|
|
|
85 |
"type": {
|
86 |
"type": "tensor"
|
87 |
},
|
88 |
+
"position": "bottom",
|
89 |
+
"name": "x"
|
90 |
}
|
91 |
},
|
92 |
+
"type": "basic",
|
93 |
+
"name": "Linear",
|
94 |
"outputs": {
|
95 |
"x": {
|
|
|
96 |
"type": {
|
97 |
"type": "tensor"
|
98 |
},
|
99 |
+
"position": "top",
|
100 |
+
"name": "x"
|
101 |
}
|
102 |
},
|
103 |
+
"params": {
|
104 |
+
"output_dim": {
|
105 |
+
"name": "output_dim",
|
106 |
+
"type": {
|
107 |
+
"type": "<class 'str'>"
|
108 |
+
},
|
109 |
+
"default": "same"
|
110 |
+
}
|
111 |
+
}
|
112 |
}
|
113 |
},
|
114 |
"position": {
|
115 |
+
"x": 78.37881963123723,
|
116 |
+
"y": -528.3012263817914
|
117 |
},
|
118 |
+
"parentId": null,
|
119 |
+
"width": 204.0,
|
120 |
+
"height": 140.0
|
121 |
},
|
122 |
{
|
123 |
"id": "Activation 1",
|
|
|
130 |
"display": null,
|
131 |
"error": null,
|
132 |
"meta": {
|
133 |
+
"outputs": {
|
134 |
+
"x": {
|
135 |
+
"position": "top",
|
136 |
+
"type": {
|
137 |
+
"type": "tensor"
|
138 |
+
},
|
139 |
+
"name": "x"
|
140 |
+
}
|
141 |
+
},
|
142 |
"name": "Activation",
|
143 |
+
"type": "basic",
|
144 |
+
"inputs": {
|
145 |
+
"x": {
|
146 |
+
"position": "bottom",
|
147 |
+
"name": "x",
|
148 |
+
"type": {
|
149 |
+
"type": "tensor"
|
150 |
+
}
|
151 |
+
}
|
152 |
+
},
|
153 |
"params": {
|
154 |
"type": {
|
155 |
+
"default": "OptionsFor_type.ReLU",
|
156 |
"name": "type",
|
|
|
157 |
"type": {
|
158 |
"enum": [
|
159 |
"ReLU",
|
|
|
163 |
]
|
164 |
}
|
165 |
}
|
166 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
167 |
}
|
168 |
},
|
169 |
"position": {
|
170 |
+
"x": 98.44658319023353,
|
171 |
+
"y": -741.1411130550297
|
172 |
},
|
173 |
+
"height": 154.0,
|
174 |
+
"parentId": null,
|
175 |
+
"width": 173.0
|
176 |
},
|
177 |
{
|
178 |
"id": "Dropout 1",
|
|
|
185 |
"display": null,
|
186 |
"error": null,
|
187 |
"meta": {
|
188 |
+
"type": "basic",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
189 |
"inputs": {
|
190 |
"x": {
|
191 |
"name": "x",
|
|
|
195 |
"position": "bottom"
|
196 |
}
|
197 |
},
|
198 |
+
"name": "Dropout",
|
199 |
+
"params": {
|
200 |
+
"p": {
|
201 |
+
"default": 0.5,
|
202 |
"type": {
|
203 |
+
"type": "<class 'float'>"
|
204 |
},
|
205 |
+
"name": "p"
|
206 |
}
|
207 |
},
|
208 |
+
"outputs": {
|
209 |
+
"x": {
|
210 |
+
"position": "top",
|
211 |
+
"name": "x",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
212 |
"type": {
|
213 |
+
"type": "tensor"
|
214 |
}
|
215 |
}
|
216 |
+
}
|
|
|
|
|
|
|
|
|
217 |
}
|
218 |
},
|
219 |
"position": {
|
220 |
+
"x": 73.61437458187964,
|
221 |
+
"y": -929.9824215609918
|
222 |
},
|
223 |
+
"width": 207.0,
|
224 |
"parentId": null,
|
225 |
+
"height": 159.0
|
|
|
226 |
},
|
227 |
{
|
228 |
"id": "Graph conv 1",
|
|
|
235 |
"display": null,
|
236 |
"error": null,
|
237 |
"meta": {
|
238 |
+
"outputs": {
|
239 |
+
"x": {
|
240 |
+
"type": {
|
241 |
+
"type": "tensor"
|
242 |
+
},
|
243 |
+
"name": "x",
|
244 |
+
"position": "top"
|
245 |
+
}
|
246 |
+
},
|
247 |
+
"type": "basic",
|
248 |
"name": "Graph conv",
|
249 |
"params": {
|
250 |
"type": {
|
251 |
"name": "type",
|
252 |
+
"default": "OptionsFor_type.GCNConv",
|
253 |
"type": {
|
254 |
"enum": [
|
255 |
"GCNConv",
|
|
|
262 |
},
|
263 |
"inputs": {
|
264 |
"x": {
|
|
|
265 |
"type": {
|
266 |
"type": "tensor"
|
267 |
},
|
268 |
+
"name": "x",
|
269 |
"position": "bottom"
|
270 |
},
|
271 |
"edges": {
|
|
|
275 |
},
|
276 |
"position": "bottom"
|
277 |
}
|
278 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
279 |
}
|
280 |
},
|
281 |
"position": {
|
282 |
"x": 64.08886242755246,
|
283 |
"y": -269.43023573181557
|
284 |
},
|
285 |
+
"height": 200.0,
|
286 |
+
"width": 200.0,
|
287 |
"parentId": null
|
288 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
289 |
{
|
290 |
"id": "Supervised loss 1",
|
291 |
"type": "basic",
|
|
|
294 |
"params": {},
|
295 |
"display": null,
|
296 |
"error": null,
|
297 |
+
"collapsed": true,
|
298 |
+
"__execution_delay": null,
|
299 |
"meta": {
|
300 |
+
"type": "basic",
|
301 |
"params": {},
|
302 |
+
"name": "Supervised loss",
|
303 |
"inputs": {
|
304 |
+
"y": {
|
305 |
+
"name": "y",
|
306 |
"type": {
|
307 |
"type": "tensor"
|
308 |
},
|
309 |
"position": "bottom"
|
310 |
},
|
311 |
+
"x": {
|
312 |
+
"name": "x",
|
313 |
"type": {
|
314 |
"type": "tensor"
|
315 |
},
|
|
|
318 |
},
|
319 |
"outputs": {
|
320 |
"loss": {
|
321 |
+
"position": "top",
|
322 |
"type": {
|
323 |
"type": "tensor"
|
324 |
},
|
325 |
+
"name": "loss"
|
326 |
}
|
327 |
+
}
|
|
|
|
|
328 |
}
|
329 |
},
|
330 |
"position": {
|
331 |
"x": 110.53693593362718,
|
332 |
"y": -1123.9976567905628
|
333 |
},
|
334 |
+
"parentId": null,
|
335 |
+
"height": 80.0,
|
336 |
+
"width": 204.0
|
337 |
},
|
338 |
{
|
339 |
"id": "Input: label 1",
|
|
|
343 |
"params": {},
|
344 |
"display": null,
|
345 |
"error": null,
|
346 |
+
"collapsed": true,
|
347 |
+
"__execution_delay": null,
|
348 |
"meta": {
|
|
|
|
|
349 |
"inputs": {},
|
350 |
"outputs": {
|
351 |
"y": {
|
|
|
352 |
"type": {
|
353 |
"type": "tensor"
|
354 |
},
|
355 |
+
"position": "top",
|
356 |
+
"name": "y"
|
357 |
}
|
358 |
},
|
359 |
+
"name": "Input: label",
|
360 |
"type": "basic",
|
361 |
+
"params": {}
|
362 |
}
|
363 |
},
|
364 |
"position": {
|
365 |
"x": 666.110498676668,
|
366 |
"y": -898.6721561114967
|
367 |
},
|
368 |
+
"width": 200.0,
|
369 |
+
"height": 73.0,
|
370 |
"parentId": null
|
371 |
},
|
372 |
{
|
|
|
375 |
"data": {
|
376 |
"title": "Optimizer",
|
377 |
"params": {
|
378 |
+
"lr": 0.001,
|
379 |
+
"type": "AdamW"
|
380 |
},
|
381 |
"display": null,
|
382 |
"error": null,
|
383 |
"meta": {
|
384 |
"name": "Optimizer",
|
385 |
+
"outputs": {},
|
386 |
"params": {
|
387 |
+
"lr": {
|
388 |
+
"default": 0.001,
|
389 |
+
"name": "lr",
|
390 |
+
"type": {
|
391 |
+
"type": "<class 'float'>"
|
392 |
+
}
|
393 |
+
},
|
394 |
"type": {
|
|
|
|
|
395 |
"type": {
|
396 |
"enum": [
|
397 |
"AdamW",
|
|
|
402 |
"Paged AdamW",
|
403 |
"Galore AdamW"
|
404 |
]
|
405 |
+
},
|
406 |
+
"name": "type",
|
407 |
+
"default": "OptionsFor_type.AdamW"
|
|
|
|
|
|
|
|
|
|
|
408 |
}
|
409 |
},
|
410 |
"inputs": {
|
411 |
"loss": {
|
412 |
+
"type": {
|
413 |
+
"type": "tensor"
|
414 |
+
},
|
415 |
"name": "loss",
|
416 |
+
"position": "bottom"
|
417 |
+
}
|
418 |
+
},
|
419 |
+
"type": "basic"
|
420 |
+
}
|
421 |
+
},
|
422 |
+
"position": {
|
423 |
+
"x": 115.25730958703494,
|
424 |
+
"y": -1431.5320892753364
|
425 |
+
},
|
426 |
+
"width": 200.0,
|
427 |
+
"height": 233.0,
|
428 |
+
"parentId": null
|
429 |
+
},
|
430 |
+
{
|
431 |
+
"id": "Repeat 3",
|
432 |
+
"type": "basic",
|
433 |
+
"data": {
|
434 |
+
"title": "Repeat",
|
435 |
+
"params": {
|
436 |
+
"times": 1.0
|
437 |
+
},
|
438 |
+
"display": null,
|
439 |
+
"error": null,
|
440 |
+
"meta": {
|
441 |
+
"type": "basic",
|
442 |
+
"position": {
|
443 |
+
"y": 340.0,
|
444 |
+
"x": 371.0
|
445 |
+
},
|
446 |
+
"outputs": {
|
447 |
+
"output": {
|
448 |
+
"name": "output",
|
449 |
"type": {
|
450 |
"type": "tensor"
|
451 |
},
|
452 |
"position": "bottom"
|
453 |
}
|
454 |
},
|
455 |
+
"name": "Repeat",
|
456 |
+
"params": {
|
457 |
+
"times": {
|
458 |
+
"name": "times",
|
459 |
+
"default": 1.0,
|
460 |
+
"type": {
|
461 |
+
"type": "<class 'int'>"
|
462 |
+
}
|
463 |
+
}
|
464 |
+
},
|
465 |
+
"inputs": {
|
466 |
+
"input": {
|
467 |
+
"type": {
|
468 |
+
"type": "tensor"
|
469 |
+
},
|
470 |
+
"position": "top",
|
471 |
+
"name": "input"
|
472 |
+
}
|
473 |
+
}
|
474 |
+
}
|
475 |
+
},
|
476 |
+
"position": {
|
477 |
+
"x": -245.1288628776232,
|
478 |
+
"y": -276.90661040974317
|
479 |
+
},
|
480 |
+
"width": 200.0,
|
481 |
+
"height": 200.0
|
482 |
+
},
|
483 |
+
{
|
484 |
+
"id": "Repeat 1",
|
485 |
+
"type": "basic",
|
486 |
+
"data": {
|
487 |
+
"title": "Repeat",
|
488 |
+
"params": {
|
489 |
+
"times": 1.0
|
490 |
+
},
|
491 |
+
"display": null,
|
492 |
+
"error": null,
|
493 |
+
"meta": {
|
494 |
+
"outputs": {
|
495 |
+
"output": {
|
496 |
+
"position": "bottom",
|
497 |
+
"type": {
|
498 |
+
"type": "tensor"
|
499 |
+
},
|
500 |
+
"name": "output"
|
501 |
+
}
|
502 |
+
},
|
503 |
+
"params": {
|
504 |
+
"times": {
|
505 |
+
"default": 1.0,
|
506 |
+
"type": {
|
507 |
+
"type": "<class 'int'>"
|
508 |
+
},
|
509 |
+
"name": "times"
|
510 |
+
}
|
511 |
+
},
|
512 |
+
"position": {
|
513 |
+
"x": 387.0,
|
514 |
+
"y": 337.0
|
515 |
+
},
|
516 |
"type": "basic",
|
517 |
+
"name": "Repeat",
|
518 |
+
"inputs": {
|
519 |
+
"input": {
|
520 |
+
"name": "input",
|
521 |
+
"position": "top",
|
522 |
+
"type": {
|
523 |
+
"type": "tensor"
|
524 |
+
}
|
525 |
+
}
|
526 |
+
}
|
527 |
}
|
528 |
},
|
529 |
"position": {
|
530 |
+
"x": -258.0088683218416,
|
531 |
+
"y": -737.3822225246788
|
532 |
},
|
533 |
+
"width": 200.0,
|
534 |
+
"height": 200.0
|
535 |
}
|
536 |
],
|
537 |
"edges": [
|
|
|
590 |
"target": "Optimizer 1",
|
591 |
"sourceHandle": "loss",
|
592 |
"targetHandle": "loss"
|
593 |
+
},
|
594 |
+
{
|
595 |
+
"id": "Graph conv 1 Repeat 3",
|
596 |
+
"source": "Graph conv 1",
|
597 |
+
"target": "Repeat 3",
|
598 |
+
"sourceHandle": "x",
|
599 |
+
"targetHandle": "input"
|
600 |
+
},
|
601 |
+
{
|
602 |
+
"id": "Repeat 3 Graph conv 1",
|
603 |
+
"source": "Repeat 3",
|
604 |
+
"target": "Graph conv 1",
|
605 |
+
"sourceHandle": "output",
|
606 |
+
"targetHandle": "x"
|
607 |
+
},
|
608 |
+
{
|
609 |
+
"id": "Dropout 1 Repeat 1",
|
610 |
+
"source": "Dropout 1",
|
611 |
+
"target": "Repeat 1",
|
612 |
+
"sourceHandle": "x",
|
613 |
+
"targetHandle": "input"
|
614 |
+
},
|
615 |
+
{
|
616 |
+
"id": "Repeat 1 Linear 1",
|
617 |
+
"source": "Repeat 1",
|
618 |
+
"target": "Linear 1",
|
619 |
+
"sourceHandle": "output",
|
620 |
+
"targetHandle": "x"
|
621 |
}
|
622 |
]
|
623 |
}
|
lynxkite-app/data/aimo-examples.csv
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"id","problem","answer"
|
2 |
+
"229ee8","Let $k, l > 0$ be parameters. The parabola $y = kx^2 - 2kx + l$ intersects the line $y = 4$ at two points $A$ and $B$. These points are distance 6 apart. What is the sum of the squares of the distances from $A$ and $B$ to the origin?",52
|
3 |
+
"246d26","Each of the three-digits numbers $111$ to $999$ is coloured blue or yellow in such a way that the sum of any two (not necessarily different) yellow numbers is equal to a blue number. What is the maximum possible number of yellow numbers there can be?",250
|
4 |
+
"2fc4ad","Let the `sparkle' operation on positive integer $n$ consist of calculating the sum of the digits of $n$ and taking its factorial, e.g. the sparkle of 13 is $4! = 24$. A robot starts with a positive integer on a blackboard, then after each second for the rest of eternity, replaces the number on the board with its sparkle. For some `special' numbers, if they're the first number, then eventually every number that appears will be less than 6. How many such special numbers are there with at most 36 digits?",702
|
5 |
+
"430b63","What is the minimum value of $5x^2+5y^2-8xy$ when $x$ and $y$ range over all real numbers such that $|x-2y| + |y-2x| = 40$?",800
|
6 |
+
"5277ed","There exists a unique increasing geometric sequence of five 2-digit positive integers. What is their sum?",211
|
7 |
+
"739bc9","For how many positive integers $m$ does the equation $\vert \vert x-1 \vert -2 \vert=\frac{m}{100}$ have $4$ distinct solutions?",199
|
8 |
+
"82e2a0","Suppose that we roll four 6-sided fair dice with faces numbered 1 to~6. Let $a/b$ be the probability that the highest roll is a 5, where $a$ and $b$ are relatively prime positive integers. Find $a + b$.",185
|
9 |
+
"8ee6f3","The points $\left(x, y\right)$ satisfying $((\vert x + y \vert - 10)^2 + ( \vert x - y \vert - 10)^2)((\vert x \vert - 8)^2 + ( \vert y \vert - 8)^2) = 0$ enclose a convex polygon. What is the area of this convex polygon?",320
|
10 |
+
"bedda4","Let $ABCD$ be a unit square. Let $P$ be the point on $AB$ such that $|AP| = 1/{20}$ and let $Q$ be the point on $AD$ such that $|AQ| = 1/{24}$. The lines $DP$ and $BQ$ divide the square into four regions. Find the ratio between the areas of the largest region and the smallest region.",480
|
11 |
+
"d7e9c9","A function $f: \mathbb N \to \mathbb N$ satisfies the following two conditions for all positive integers $n$:$f(f(f(n)))=8n-7$ and $f(2n)=2f(n)+1$. Calculate $f(100)$.",199
|
lynxkite-app/data/example-pizza.md
ADDED
@@ -0,0 +1,136 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
hello
|
2 |
+
|
3 |
+
### 1. **Overview**
|
4 |
+
|
5 |
+
This document outlines the pricing structure and available options for our pizza delivery service. The goal is to provide clear guidance on the pricing tiers, additional offerings, and optional extras to ensure consistency across all locations and platforms (phone, online, in-app). All pricing is based on current market trends, food costs, and competitive analysis.
|
6 |
+
|
7 |
+
---
|
8 |
+
|
9 |
+
### 2. **Pizza Options**
|
10 |
+
|
11 |
+
#### 2.1 **Size & Base Pricing**
|
12 |
+
|
13 |
+
| Size | Diameter | Price (Cheese Pizza) |
|
14 |
+
|------------------|------------|----------------------|
|
15 |
+
| Small | 10 inches | $8.99 |
|
16 |
+
| Medium | 12 inches | $11.99 |
|
17 |
+
| Large | 14 inches | $14.99 |
|
18 |
+
| Extra Large | 16 inches | $17.99 |
|
19 |
+
|
20 |
+
**Note**: Cheese pizza pricing includes sauce and cheese. Toppings are additional (see section 2.3).
|
21 |
+
|
22 |
+
#### 2.2 **Crust Options**
|
23 |
+
|
24 |
+
| Crust Type | Description | Price Adjustment |
|
25 |
+
|------------------|------------------------------------------|------------------|
|
26 |
+
| Classic Hand-Tossed | Soft, airy texture | No Change |
|
27 |
+
| Thin & Crispy | Light and crunchy | No Change |
|
28 |
+
| Stuffed Crust | Filled with mozzarella | +$2.00 (M-XL) |
|
29 |
+
| Gluten-Free | 10" only; made with rice flour | +$2.50 (Small Only) |
|
30 |
+
|
31 |
+
---
|
32 |
+
|
33 |
+
### 3. **Toppings**
|
34 |
+
|
35 |
+
#### 3.1 **Standard Toppings**
|
36 |
+
**Price per topping:**
|
37 |
+
|
38 |
+
- Small: $1.00
|
39 |
+
- Medium: $1.50
|
40 |
+
- Large: $2.00
|
41 |
+
- Extra Large: $2.50
|
42 |
+
|
43 |
+
| Topping | Category |
|
44 |
+
|------------------|----------------|
|
45 |
+
| Pepperoni | Meat |
|
46 |
+
| Sausage | Meat |
|
47 |
+
| Mushrooms | Vegetable |
|
48 |
+
| Onions | Vegetable |
|
49 |
+
| Bell Peppers | Vegetable |
|
50 |
+
| Olives | Vegetable |
|
51 |
+
| Extra Cheese | Dairy |
|
52 |
+
|
53 |
+
#### 3.2 **Premium Toppings**
|
54 |
+
**Price per topping:**
|
55 |
+
|
56 |
+
- Small: $1.75
|
57 |
+
- Medium: $2.25
|
58 |
+
- Large: $2.75
|
59 |
+
- Extra Large: $3.25
|
60 |
+
|
61 |
+
| Topping | Category |
|
62 |
+
|------------------|----------------|
|
63 |
+
| Grilled Chicken | Meat |
|
64 |
+
| Bacon | Meat |
|
65 |
+
| Sun-Dried Tomatoes| Vegetable |
|
66 |
+
| Artichoke Hearts | Vegetable |
|
67 |
+
| Feta Cheese | Dairy |
|
68 |
+
| Vegan Cheese | Dairy Alternative |
|
69 |
+
|
70 |
+
---
|
71 |
+
|
72 |
+
### 4. **Specialty Pizzas**
|
73 |
+
|
74 |
+
Specialty pizzas include a combination of premium toppings and are available in all sizes. Prices below are for Medium size, with additional costs for upgrading to larger sizes.
|
75 |
+
|
76 |
+
| Pizza Name | Description | Price (Medium) |
|
77 |
+
|----------------------|----------------------------------------------------|-----------------|
|
78 |
+
| Meat Lover’s | Pepperoni, sausage, bacon, ham | $16.99 |
|
79 |
+
| Veggie Delight | Mushrooms, bell peppers, onions, olives | $14.99 |
|
80 |
+
| BBQ Chicken | BBQ sauce, grilled chicken, red onions, cilantro | $17.99 |
|
81 |
+
| Margherita | Fresh mozzarella, tomatoes, basil | $15.99 |
|
82 |
+
| Hawaiian | Ham, pineapple | $14.99 |
|
83 |
+
|
84 |
+
---
|
85 |
+
|
86 |
+
### 5. **Additional Menu Items**
|
87 |
+
|
88 |
+
#### 5.1 **Side Orders**
|
89 |
+
|
90 |
+
| Item | Description | Price |
|
91 |
+
|--------------------|--------------------------------------|---------------|
|
92 |
+
| Garlic Breadsticks | Served with marinara dipping sauce | $5.99 |
|
93 |
+
| Chicken Wings | Buffalo, BBQ, or plain (10 pieces) | $9.99 |
|
94 |
+
| Mozzarella Sticks | Served with marinara (8 pieces) | $6.99 |
|
95 |
+
| Caesar Salad | Romaine, croutons, Caesar dressing | $7.99 |
|
96 |
+
|
97 |
+
#### 5.2 **Desserts**
|
98 |
+
|
99 |
+
| Item | Description | Price |
|
100 |
+
|--------------------|--------------------------------------|---------------|
|
101 |
+
| Chocolate Brownies | Chewy and rich (6 pieces) | $4.99 |
|
102 |
+
| Cinnamon Sticks | Dusted with cinnamon sugar | $5.99 |
|
103 |
+
|
104 |
+
---
|
105 |
+
|
106 |
+
### 6. **Drinks**
|
107 |
+
|
108 |
+
| Size | Price |
|
109 |
+
|--------------------|---------------|
|
110 |
+
| 20 oz Bottle | $1.99 |
|
111 |
+
| 2-Liter Bottle | $3.50 |
|
112 |
+
|
113 |
+
Available options: Coke, Diet Coke, Sprite, Root Beer, Lemonade.
|
114 |
+
|
115 |
+
---
|
116 |
+
|
117 |
+
### 7. **Delivery Fees & Minimum Order**
|
118 |
+
|
119 |
+
- **Delivery Fee**: $2.99
|
120 |
+
- **Minimum Order**: $12.00
|
121 |
+
|
122 |
+
*Note: Delivery fees and minimum order thresholds apply to all delivery orders within a 5-mile radius. Additional charges may apply for orders outside this zone.*
|
123 |
+
|
124 |
+
---
|
125 |
+
|
126 |
+
### 8. **Promotions & Discounts**
|
127 |
+
|
128 |
+
- **Monday Madness**: Buy one large pizza, get a second pizza for 50% off.
|
129 |
+
- **Student Discount**: 10% off with valid student ID (pickup only).
|
130 |
+
- **Family Deal**: 2 large pizzas, 1 side, and 2-liter soda for $29.99.
|
131 |
+
|
132 |
+
---
|
133 |
+
|
134 |
+
### 9. **Conclusion**
|
135 |
+
|
136 |
+
This pricing and menu structure is designed to offer a wide range of choices for our customers while maintaining competitive pricing and ensuring profitability. Please ensure all team members are familiar with the details in this document and implement it accordingly.
|
lynxkite-app/data/night demo
ADDED
The diff for this file is too large to render.
See raw diff
|
|
lynxkite-app/web/src/workspace/nodes/NodeParameter.tsx
CHANGED
@@ -24,7 +24,8 @@ export default function NodeParameter({ name, value, meta, onChange }: NodeParam
|
|
24 |
<textarea className="textarea textarea-bordered w-full max-w-xs"
|
25 |
rows={6}
|
26 |
value={value}
|
27 |
-
onChange={(evt) => onChange(evt.currentTarget.value)}
|
|
|
28 |
/>
|
29 |
</> : meta?.type?.enum ? <>
|
30 |
<ParamName name={name} />
|
|
|
24 |
<textarea className="textarea textarea-bordered w-full max-w-xs"
|
25 |
rows={6}
|
26 |
value={value}
|
27 |
+
onChange={(evt) => onChange(evt.currentTarget.value, { delay: 2 })}
|
28 |
+
onBlur={(evt) => onChange(evt.currentTarget.value, { delay: 0 })}
|
29 |
/>
|
30 |
</> : meta?.type?.enum ? <>
|
31 |
<ParamName name={name} />
|
lynxkite-graph-analytics/pyproject.toml
CHANGED
@@ -6,9 +6,11 @@ readme = "README.md"
|
|
6 |
requires-python = ">=3.11"
|
7 |
dependencies = [
|
8 |
"grand-cypher>=0.12.0",
|
|
|
9 |
"lynxkite-core",
|
10 |
"matplotlib>=3.10.0",
|
11 |
"networkx>=3.4.2",
|
|
|
12 |
"pandas>=2.2.3",
|
13 |
"polars[gpu]>=1.14.0",
|
14 |
]
|
|
|
6 |
requires-python = ">=3.11"
|
7 |
dependencies = [
|
8 |
"grand-cypher>=0.12.0",
|
9 |
+
"joblib>=1.4.2",
|
10 |
"lynxkite-core",
|
11 |
"matplotlib>=3.10.0",
|
12 |
"networkx>=3.4.2",
|
13 |
+
"osmnx>=2.0.1",
|
14 |
"pandas>=2.2.3",
|
15 |
"polars[gpu]>=1.14.0",
|
16 |
]
|
lynxkite-graph-analytics/src/lynxkite_plugins/graph_analytics/lynxkite_ops.py
CHANGED
@@ -6,13 +6,16 @@ from collections import deque
|
|
6 |
import dataclasses
|
7 |
import functools
|
8 |
import grandcypher
|
|
|
9 |
import matplotlib
|
10 |
import networkx as nx
|
11 |
import pandas as pd
|
12 |
import polars as pl
|
13 |
import traceback
|
14 |
import typing
|
|
|
15 |
|
|
|
16 |
ENV = "LynxKite Graph Analytics"
|
17 |
op = ops.op_registration(ENV)
|
18 |
|
@@ -52,6 +55,8 @@ class Bundle:
|
|
52 |
d = dict(graph.nodes(data=True))
|
53 |
nodes = pd.DataFrame(d.values(), index=d.keys())
|
54 |
nodes["id"] = nodes.index
|
|
|
|
|
55 |
return cls(
|
56 |
dfs={"edges": edges, "nodes": nodes},
|
57 |
relations=[
|
@@ -187,6 +192,32 @@ def import_csv(
|
|
187 |
)
|
188 |
|
189 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
190 |
@op("Create scale-free graph")
|
191 |
def create_scale_free_graph(*, nodes: int = 10):
|
192 |
"""Creates a scale-free graph with the given number of nodes."""
|
@@ -213,6 +244,11 @@ def discard_loop_edges(graph: nx.Graph):
|
|
213 |
return graph
|
214 |
|
215 |
|
|
|
|
|
|
|
|
|
|
|
216 |
@op("SQL")
|
217 |
def sql(bundle: Bundle, *, query: ops.LongStr, save_as: str = "result"):
|
218 |
"""Run a SQL query on the DataFrames in the bundle. Save the results as a new DataFrame."""
|
@@ -286,7 +322,9 @@ def _map_color(value):
|
|
286 |
colors = cmap.colors[: len(categories)]
|
287 |
return [
|
288 |
"#{:02x}{:02x}{:02x}".format(int(r * 255), int(g * 255), int(b * 255))
|
289 |
-
for r, g, b in [
|
|
|
|
|
290 |
]
|
291 |
|
292 |
|
@@ -295,10 +333,35 @@ def visualize_graph(graph: Bundle, *, color_nodes_by: ops.NodeAttribute = None):
|
|
295 |
nodes = graph.dfs["nodes"].copy()
|
296 |
if color_nodes_by:
|
297 |
nodes["color"] = _map_color(nodes[color_nodes_by])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
298 |
nodes = nodes.to_records()
|
299 |
edges = graph.dfs["edges"].drop_duplicates(["source", "target"])
|
300 |
edges = edges.to_records()
|
301 |
-
pos = nx.spring_layout(graph.to_nx(), iterations=max(1, int(10000 / len(nodes))))
|
302 |
v = {
|
303 |
"animationDuration": 500,
|
304 |
"animationEasingUpdate": "quinticInOut",
|
@@ -308,7 +371,7 @@ def visualize_graph(graph: Bundle, *, color_nodes_by: ops.NodeAttribute = None):
|
|
308 |
"roam": True,
|
309 |
"lineStyle": {
|
310 |
"color": "gray",
|
311 |
-
"curveness":
|
312 |
},
|
313 |
"emphasis": {
|
314 |
"focus": "adjacency",
|
|
|
6 |
import dataclasses
|
7 |
import functools
|
8 |
import grandcypher
|
9 |
+
import joblib
|
10 |
import matplotlib
|
11 |
import networkx as nx
|
12 |
import pandas as pd
|
13 |
import polars as pl
|
14 |
import traceback
|
15 |
import typing
|
16 |
+
import zipfile
|
17 |
|
18 |
+
mem = joblib.Memory("../joblib-cache")
|
19 |
ENV = "LynxKite Graph Analytics"
|
20 |
op = ops.op_registration(ENV)
|
21 |
|
|
|
55 |
d = dict(graph.nodes(data=True))
|
56 |
nodes = pd.DataFrame(d.values(), index=d.keys())
|
57 |
nodes["id"] = nodes.index
|
58 |
+
if "index" in nodes.columns:
|
59 |
+
nodes.drop(columns=["index"], inplace=True)
|
60 |
return cls(
|
61 |
dfs={"edges": edges, "nodes": nodes},
|
62 |
relations=[
|
|
|
192 |
)
|
193 |
|
194 |
|
195 |
+
@op("Import GraphML")
|
196 |
+
@mem.cache
|
197 |
+
def import_graphml(*, filename: str):
|
198 |
+
"""Imports a GraphML file."""
|
199 |
+
if filename.endswith(".zip"):
|
200 |
+
with zipfile.ZipFile(filename, "r") as z:
|
201 |
+
for fn in z.namelist():
|
202 |
+
if fn.endswith(".graphml"):
|
203 |
+
with z.open(fn) as f:
|
204 |
+
G = nx.read_graphml(f)
|
205 |
+
break
|
206 |
+
else:
|
207 |
+
raise ValueError("No GraphML file found in the ZIP archive.")
|
208 |
+
else:
|
209 |
+
G = nx.read_graphml(filename)
|
210 |
+
return G
|
211 |
+
|
212 |
+
|
213 |
+
@op("Graph from OSM")
|
214 |
+
@mem.cache
|
215 |
+
def import_osm(*, location: str):
|
216 |
+
import osmnx as ox
|
217 |
+
|
218 |
+
return ox.graph.graph_from_place(location, network_type="drive")
|
219 |
+
|
220 |
+
|
221 |
@op("Create scale-free graph")
|
222 |
def create_scale_free_graph(*, nodes: int = 10):
|
223 |
"""Creates a scale-free graph with the given number of nodes."""
|
|
|
244 |
return graph
|
245 |
|
246 |
|
247 |
+
@op("Discard parallel edges")
|
248 |
+
def discard_parallel_edges(graph: nx.Graph):
|
249 |
+
return nx.DiGraph(graph)
|
250 |
+
|
251 |
+
|
252 |
@op("SQL")
|
253 |
def sql(bundle: Bundle, *, query: ops.LongStr, save_as: str = "result"):
|
254 |
"""Run a SQL query on the DataFrames in the bundle. Save the results as a new DataFrame."""
|
|
|
322 |
colors = cmap.colors[: len(categories)]
|
323 |
return [
|
324 |
"#{:02x}{:02x}{:02x}".format(int(r * 255), int(g * 255), int(b * 255))
|
325 |
+
for r, g, b in [
|
326 |
+
colors[min(len(colors) - 1, categories.get_loc(v))] for v in value
|
327 |
+
]
|
328 |
]
|
329 |
|
330 |
|
|
|
333 |
nodes = graph.dfs["nodes"].copy()
|
334 |
if color_nodes_by:
|
335 |
nodes["color"] = _map_color(nodes[color_nodes_by])
|
336 |
+
for cols in ["x y", "long lat"]:
|
337 |
+
x, y = cols.split()
|
338 |
+
if (
|
339 |
+
x in nodes.columns
|
340 |
+
and nodes[x].dtype == "float64"
|
341 |
+
and y in nodes.columns
|
342 |
+
and nodes[y].dtype == "float64"
|
343 |
+
):
|
344 |
+
cx, cy = nodes[x].mean(), nodes[y].mean()
|
345 |
+
dx, dy = nodes[x].std(), nodes[y].std()
|
346 |
+
# Scale up to avoid float precision issues and because eCharts omits short edges.
|
347 |
+
scale_x = 100 / max(dx, dy)
|
348 |
+
scale_y = scale_x
|
349 |
+
if y == "lat":
|
350 |
+
scale_y *= -1
|
351 |
+
pos = {
|
352 |
+
node_id: ((row[x] - cx) * scale_x, (row[y] - cy) * scale_y)
|
353 |
+
for node_id, row in nodes.iterrows()
|
354 |
+
}
|
355 |
+
curveness = 0 # Street maps are better with straight streets.
|
356 |
+
break
|
357 |
+
else:
|
358 |
+
pos = nx.spring_layout(
|
359 |
+
graph.to_nx(), iterations=max(1, int(10000 / len(nodes)))
|
360 |
+
)
|
361 |
+
curveness = 0.3
|
362 |
nodes = nodes.to_records()
|
363 |
edges = graph.dfs["edges"].drop_duplicates(["source", "target"])
|
364 |
edges = edges.to_records()
|
|
|
365 |
v = {
|
366 |
"animationDuration": 500,
|
367 |
"animationEasingUpdate": "quinticInOut",
|
|
|
371 |
"roam": True,
|
372 |
"lineStyle": {
|
373 |
"color": "gray",
|
374 |
+
"curveness": curveness,
|
375 |
},
|
376 |
"emphasis": {
|
377 |
"focus": "adjacency",
|
lynxkite-graph-analytics/src/lynxkite_plugins/graph_analytics/pytorch_model_ops.py
CHANGED
@@ -65,3 +65,11 @@ reg(
|
|
65 |
P.basic("lr", 0.001),
|
66 |
],
|
67 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
P.basic("lr", 0.001),
|
66 |
],
|
67 |
)
|
68 |
+
|
69 |
+
ops.register_passive_op(
|
70 |
+
ENV,
|
71 |
+
"Repeat",
|
72 |
+
inputs=[ops.Input(name="input", position="top", type="tensor")],
|
73 |
+
outputs=[ops.Output(name="output", position="bottom", type="tensor")],
|
74 |
+
params=[ops.Parameter.basic("times", 1, int)],
|
75 |
+
)
|
lynxkite-graph-analytics/uv.lock
CHANGED
@@ -10,26 +10,60 @@ resolution-markers = [
|
|
10 |
]
|
11 |
|
12 |
[[package]]
|
13 |
-
name = "
|
14 |
-
version = "
|
15 |
source = { registry = "https://pypi.org/simple" }
|
16 |
-
|
17 |
-
{ name = "idna" },
|
18 |
-
{ name = "sniffio" },
|
19 |
-
{ name = "typing-extensions", marker = "python_full_version < '3.13'" },
|
20 |
-
]
|
21 |
-
sdist = { url = "https://files.pythonhosted.org/packages/a3/73/199a98fc2dae33535d6b8e8e6ec01f8c1d76c9adb096c6b7d64823038cde/anyio-4.8.0.tar.gz", hash = "sha256:1d9fe889df5212298c0c0723fa20479d1b94883a2df44bd3897aa91083316f7a", size = 181126 }
|
22 |
wheels = [
|
23 |
-
{ url = "https://files.pythonhosted.org/packages/
|
24 |
]
|
25 |
|
26 |
[[package]]
|
27 |
-
name = "
|
28 |
-
version = "
|
29 |
source = { registry = "https://pypi.org/simple" }
|
30 |
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
31 |
wheels = [
|
32 |
-
{ url = "https://files.pythonhosted.org/packages/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
]
|
34 |
|
35 |
[[package]]
|
@@ -99,13 +133,13 @@ wheels = [
|
|
99 |
[[package]]
|
100 |
name = "cudf-polars-cu12"
|
101 |
version = "24.12.0"
|
102 |
-
source = { registry = "https://pypi.
|
103 |
dependencies = [
|
104 |
{ name = "polars" },
|
105 |
{ name = "pylibcudf-cu12" },
|
106 |
]
|
107 |
wheels = [
|
108 |
-
{ url = "https://
|
109 |
]
|
110 |
|
111 |
[[package]]
|
@@ -195,6 +229,23 @@ wheels = [
|
|
195 |
{ url = "https://files.pythonhosted.org/packages/99/3b/406d17b1f63e04a82aa621936e6e1c53a8c05458abd66300ac85ea7f9ae9/fonttools-4.55.3-py3-none-any.whl", hash = "sha256:f412604ccbeee81b091b420272841e5ec5ef68967a9790e80bffd0e30b8e2977", size = 1111638 },
|
196 |
]
|
197 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
198 |
[[package]]
|
199 |
name = "grand-cypher"
|
200 |
version = "0.12.0"
|
@@ -216,49 +267,21 @@ dependencies = [
|
|
216 |
sdist = { url = "https://files.pythonhosted.org/packages/65/c6/27400e2d81bd769ebe65c695cead44c8efb55ac3769826a01c9223d65709/grandiso-2.2.0.tar.gz", hash = "sha256:66f292d27328e13122065c7905ad0ac79c4649f69a35e7b98a3631654a0bf77c", size = 16277 }
|
217 |
|
218 |
[[package]]
|
219 |
-
name = "
|
220 |
-
version = "
|
221 |
-
source = { registry = "https://pypi.org/simple" }
|
222 |
-
sdist = { url = "https://files.pythonhosted.org/packages/f5/38/3af3d3633a34a3316095b39c8e8fb4853a28a536e55d347bd8d8e9a14b03/h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d", size = 100418 }
|
223 |
-
wheels = [
|
224 |
-
{ url = "https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761", size = 58259 },
|
225 |
-
]
|
226 |
-
|
227 |
-
[[package]]
|
228 |
-
name = "httpcore"
|
229 |
-
version = "1.0.7"
|
230 |
-
source = { registry = "https://pypi.org/simple" }
|
231 |
-
dependencies = [
|
232 |
-
{ name = "certifi" },
|
233 |
-
{ name = "h11" },
|
234 |
-
]
|
235 |
-
sdist = { url = "https://files.pythonhosted.org/packages/6a/41/d7d0a89eb493922c37d343b607bc1b5da7f5be7e383740b4753ad8943e90/httpcore-1.0.7.tar.gz", hash = "sha256:8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c", size = 85196 }
|
236 |
-
wheels = [
|
237 |
-
{ url = "https://files.pythonhosted.org/packages/87/f5/72347bc88306acb359581ac4d52f23c0ef445b57157adedb9aee0cd689d2/httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd", size = 78551 },
|
238 |
-
]
|
239 |
-
|
240 |
-
[[package]]
|
241 |
-
name = "httpx"
|
242 |
-
version = "0.28.1"
|
243 |
source = { registry = "https://pypi.org/simple" }
|
244 |
-
|
245 |
-
{ name = "anyio" },
|
246 |
-
{ name = "certifi" },
|
247 |
-
{ name = "httpcore" },
|
248 |
-
{ name = "idna" },
|
249 |
-
]
|
250 |
-
sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406 }
|
251 |
wheels = [
|
252 |
-
{ url = "https://files.pythonhosted.org/packages/
|
253 |
]
|
254 |
|
255 |
[[package]]
|
256 |
-
name = "
|
257 |
-
version = "
|
258 |
source = { registry = "https://pypi.org/simple" }
|
259 |
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
260 |
wheels = [
|
261 |
-
{ url = "https://files.pythonhosted.org/packages/
|
262 |
]
|
263 |
|
264 |
[[package]]
|
@@ -339,23 +362,23 @@ wheels = [
|
|
339 |
[[package]]
|
340 |
name = "libcudf-cu12"
|
341 |
version = "24.12.0"
|
342 |
-
source = { registry = "https://pypi.
|
343 |
dependencies = [
|
344 |
{ name = "libkvikio-cu12" },
|
345 |
{ name = "nvidia-nvcomp-cu12" },
|
346 |
]
|
347 |
wheels = [
|
348 |
-
{ url = "https://
|
349 |
-
{ url = "https://
|
350 |
]
|
351 |
|
352 |
[[package]]
|
353 |
name = "libkvikio-cu12"
|
354 |
version = "24.12.1"
|
355 |
-
source = { registry = "https://pypi.
|
356 |
wheels = [
|
357 |
-
{ url = "https://
|
358 |
-
{ url = "https://
|
359 |
]
|
360 |
|
361 |
[[package]]
|
@@ -387,27 +410,29 @@ version = "0.1.0"
|
|
387 |
source = { virtual = "." }
|
388 |
dependencies = [
|
389 |
{ name = "grand-cypher" },
|
|
|
390 |
{ name = "lynxkite-core" },
|
391 |
{ name = "matplotlib" },
|
392 |
{ name = "networkx" },
|
393 |
-
{ name = "
|
394 |
{ name = "pandas" },
|
395 |
{ name = "polars", extra = ["gpu"] },
|
396 |
]
|
397 |
|
398 |
[package.optional-dependencies]
|
399 |
gpu = [
|
400 |
-
{ name = "
|
401 |
]
|
402 |
|
403 |
[package.metadata]
|
404 |
requires-dist = [
|
405 |
{ name = "grand-cypher", specifier = ">=0.12.0" },
|
406 |
-
{ name = "
|
407 |
{ name = "lynxkite-core", virtual = "../lynxkite-core" },
|
408 |
{ name = "matplotlib", specifier = ">=3.10.0" },
|
409 |
{ name = "networkx", specifier = ">=3.4.2" },
|
410 |
-
{ name = "nx-cugraph-cu12", specifier = ">=24.12.0" },
|
|
|
411 |
{ name = "pandas", specifier = ">=2.2.3" },
|
412 |
{ name = "polars", extras = ["gpu"], specifier = ">=1.14.0" },
|
413 |
]
|
@@ -517,69 +542,69 @@ wheels = [
|
|
517 |
[[package]]
|
518 |
name = "nvidia-cublas-cu12"
|
519 |
version = "12.8.3.14"
|
520 |
-
source = { registry = "https://pypi.
|
521 |
wheels = [
|
522 |
-
{ url = "https://
|
523 |
-
{ url = "https://
|
524 |
-
{ url = "https://
|
525 |
]
|
526 |
|
527 |
[[package]]
|
528 |
name = "nvidia-curand-cu12"
|
529 |
version = "10.3.9.55"
|
530 |
-
source = { registry = "https://pypi.
|
531 |
wheels = [
|
532 |
-
{ url = "https://
|
533 |
-
{ url = "https://
|
534 |
-
{ url = "https://
|
535 |
]
|
536 |
|
537 |
[[package]]
|
538 |
name = "nvidia-cusolver-cu12"
|
539 |
version = "11.7.2.55"
|
540 |
-
source = { registry = "https://pypi.
|
541 |
dependencies = [
|
542 |
{ name = "nvidia-cublas-cu12" },
|
543 |
{ name = "nvidia-cusparse-cu12" },
|
544 |
{ name = "nvidia-nvjitlink-cu12" },
|
545 |
]
|
546 |
wheels = [
|
547 |
-
{ url = "https://
|
548 |
-
{ url = "https://
|
549 |
-
{ url = "https://
|
550 |
]
|
551 |
|
552 |
[[package]]
|
553 |
name = "nvidia-cusparse-cu12"
|
554 |
version = "12.5.7.53"
|
555 |
-
source = { registry = "https://pypi.
|
556 |
dependencies = [
|
557 |
{ name = "nvidia-nvjitlink-cu12" },
|
558 |
]
|
559 |
wheels = [
|
560 |
-
{ url = "https://
|
561 |
-
{ url = "https://
|
562 |
-
{ url = "https://
|
563 |
]
|
564 |
|
565 |
[[package]]
|
566 |
name = "nvidia-nvcomp-cu12"
|
567 |
version = "4.1.0.6"
|
568 |
-
source = { registry = "https://pypi.
|
569 |
wheels = [
|
570 |
-
{ url = "https://
|
571 |
-
{ url = "https://
|
572 |
-
{ url = "https://
|
573 |
]
|
574 |
|
575 |
[[package]]
|
576 |
name = "nvidia-nvjitlink-cu12"
|
577 |
version = "12.8.61"
|
578 |
-
source = { registry = "https://pypi.
|
579 |
wheels = [
|
580 |
-
{ url = "https://
|
581 |
-
{ url = "https://
|
582 |
-
{ url = "https://
|
583 |
]
|
584 |
|
585 |
[[package]]
|
@@ -597,15 +622,30 @@ wheels = [
|
|
597 |
[[package]]
|
598 |
name = "nx-cugraph-cu12"
|
599 |
version = "24.12.0"
|
600 |
-
source = { registry = "https://pypi.
|
601 |
dependencies = [
|
602 |
{ name = "cupy-cuda12x" },
|
603 |
{ name = "networkx" },
|
604 |
{ name = "numpy" },
|
605 |
{ name = "pylibcugraph-cu12" },
|
606 |
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
607 |
wheels = [
|
608 |
-
{ url = "https://
|
609 |
]
|
610 |
|
611 |
[[package]]
|
@@ -763,7 +803,7 @@ wheels = [
|
|
763 |
[[package]]
|
764 |
name = "pylibcudf-cu12"
|
765 |
version = "24.12.0"
|
766 |
-
source = { registry = "https://pypi.
|
767 |
dependencies = [
|
768 |
{ name = "cuda-python" },
|
769 |
{ name = "libcudf-cu12" },
|
@@ -774,16 +814,16 @@ dependencies = [
|
|
774 |
{ name = "typing-extensions" },
|
775 |
]
|
776 |
wheels = [
|
777 |
-
{ url = "https://
|
778 |
-
{ url = "https://
|
779 |
-
{ url = "https://
|
780 |
-
{ url = "https://
|
781 |
]
|
782 |
|
783 |
[[package]]
|
784 |
name = "pylibcugraph-cu12"
|
785 |
version = "24.12.0"
|
786 |
-
source = { registry = "https://pypi.
|
787 |
dependencies = [
|
788 |
{ name = "nvidia-cublas-cu12" },
|
789 |
{ name = "nvidia-curand-cu12" },
|
@@ -792,17 +832,12 @@ dependencies = [
|
|
792 |
{ name = "pylibraft-cu12" },
|
793 |
{ name = "rmm-cu12" },
|
794 |
]
|
795 |
-
|
796 |
-
{ url = "https://pypi.nvidia.com/pylibcugraph-cu12/pylibcugraph_cu12-24.12.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:314d0c35cf2fadee224577e23c141fae4c59532c7a4a9a9ccfbcfac0bfdd75a7" },
|
797 |
-
{ url = "https://pypi.nvidia.com/pylibcugraph-cu12/pylibcugraph_cu12-24.12.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:bcc370b63c3b7da535c4c33658bbd8dde8ccef1dc63a5d6454afb462b8316de4" },
|
798 |
-
{ url = "https://pypi.nvidia.com/pylibcugraph-cu12/pylibcugraph_cu12-24.12.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:fa100594d5d7f1d4d1405e1628d879bf3a39431169a6bd65619cb73f8ffe99fc" },
|
799 |
-
{ url = "https://pypi.nvidia.com/pylibcugraph-cu12/pylibcugraph_cu12-24.12.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:3ffdf0788aec9791b2483de45db0eeb2a1bafc0ae9ca8d34c8a5998a36b3120e" },
|
800 |
-
]
|
801 |
|
802 |
[[package]]
|
803 |
name = "pylibraft-cu12"
|
804 |
version = "24.12.0"
|
805 |
-
source = { registry = "https://pypi.
|
806 |
dependencies = [
|
807 |
{ name = "cuda-python" },
|
808 |
{ name = "numpy" },
|
@@ -812,11 +847,37 @@ dependencies = [
|
|
812 |
{ name = "nvidia-cusparse-cu12" },
|
813 |
{ name = "rmm-cu12" },
|
814 |
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
815 |
wheels = [
|
816 |
-
{ url = "https://
|
817 |
-
{ url = "https://
|
818 |
-
{ url = "https://
|
819 |
-
{ url = "https://
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
820 |
]
|
821 |
|
822 |
[[package]]
|
@@ -828,6 +889,35 @@ wheels = [
|
|
828 |
{ url = "https://files.pythonhosted.org/packages/1c/a7/c8a2d361bf89c0d9577c934ebb7421b25dc84bf3a8e3ac0a40aed9acc547/pyparsing-3.2.1-py3-none-any.whl", hash = "sha256:506ff4f4386c4cec0590ec19e6302d3aedb992fdc02c761e90416f158dacf8e1", size = 107716 },
|
829 |
]
|
830 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
831 |
[[package]]
|
832 |
name = "python-dateutil"
|
833 |
version = "2.9.0.post0"
|
@@ -849,38 +939,73 @@ wheels = [
|
|
849 |
{ url = "https://files.pythonhosted.org/packages/11/c3/005fcca25ce078d2cc29fd559379817424e94885510568bc1bc53d7d5846/pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725", size = 508002 },
|
850 |
]
|
851 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
852 |
[[package]]
|
853 |
name = "rmm-cu12"
|
854 |
version = "24.12.1"
|
855 |
-
source = { registry = "https://pypi.
|
856 |
dependencies = [
|
857 |
{ name = "cuda-python" },
|
858 |
{ name = "numba" },
|
859 |
{ name = "numpy" },
|
860 |
]
|
861 |
wheels = [
|
862 |
-
{ url = "https://
|
863 |
-
{ url = "https://
|
864 |
-
{ url = "https://
|
865 |
-
{ url = "https://
|
866 |
]
|
867 |
|
868 |
[[package]]
|
869 |
-
name = "
|
870 |
-
version = "
|
871 |
source = { registry = "https://pypi.org/simple" }
|
872 |
-
|
|
|
|
|
|
|
873 |
wheels = [
|
874 |
-
{ url = "https://files.pythonhosted.org/packages/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
875 |
]
|
876 |
|
877 |
[[package]]
|
878 |
-
name = "
|
879 |
-
version = "1.
|
880 |
source = { registry = "https://pypi.org/simple" }
|
881 |
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
882 |
wheels = [
|
883 |
-
{ url = "https://files.pythonhosted.org/packages/
|
884 |
]
|
885 |
|
886 |
[[package]]
|
@@ -900,3 +1025,12 @@ sdist = { url = "https://files.pythonhosted.org/packages/e1/34/943888654477a574a
|
|
900 |
wheels = [
|
901 |
{ url = "https://files.pythonhosted.org/packages/a6/ab/7e5f53c3b9d14972843a647d8d7a853969a58aecc7559cb3267302c94774/tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd", size = 346586 },
|
902 |
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
]
|
11 |
|
12 |
[[package]]
|
13 |
+
name = "certifi"
|
14 |
+
version = "2025.1.31"
|
15 |
source = { registry = "https://pypi.org/simple" }
|
16 |
+
sdist = { url = "https://files.pythonhosted.org/packages/1c/ab/c9f1e32b7b1bf505bf26f0ef697775960db7932abeb7b516de930ba2705f/certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651", size = 167577 }
|
|
|
|
|
|
|
|
|
|
|
17 |
wheels = [
|
18 |
+
{ url = "https://files.pythonhosted.org/packages/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe", size = 166393 },
|
19 |
]
|
20 |
|
21 |
[[package]]
|
22 |
+
name = "charset-normalizer"
|
23 |
+
version = "3.4.1"
|
24 |
source = { registry = "https://pypi.org/simple" }
|
25 |
+
sdist = { url = "https://files.pythonhosted.org/packages/16/b0/572805e227f01586461c80e0fd25d65a2115599cc9dad142fee4b747c357/charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3", size = 123188 }
|
26 |
wheels = [
|
27 |
+
{ url = "https://files.pythonhosted.org/packages/72/80/41ef5d5a7935d2d3a773e3eaebf0a9350542f2cab4eac59a7a4741fbbbbe/charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125", size = 194995 },
|
28 |
+
{ url = "https://files.pythonhosted.org/packages/7a/28/0b9fefa7b8b080ec492110af6d88aa3dea91c464b17d53474b6e9ba5d2c5/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1", size = 139471 },
|
29 |
+
{ url = "https://files.pythonhosted.org/packages/71/64/d24ab1a997efb06402e3fc07317e94da358e2585165930d9d59ad45fcae2/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3", size = 149831 },
|
30 |
+
{ url = "https://files.pythonhosted.org/packages/37/ed/be39e5258e198655240db5e19e0b11379163ad7070962d6b0c87ed2c4d39/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd", size = 142335 },
|
31 |
+
{ url = "https://files.pythonhosted.org/packages/88/83/489e9504711fa05d8dde1574996408026bdbdbd938f23be67deebb5eca92/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00", size = 143862 },
|
32 |
+
{ url = "https://files.pythonhosted.org/packages/c6/c7/32da20821cf387b759ad24627a9aca289d2822de929b8a41b6241767b461/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12", size = 145673 },
|
33 |
+
{ url = "https://files.pythonhosted.org/packages/68/85/f4288e96039abdd5aeb5c546fa20a37b50da71b5cf01e75e87f16cd43304/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77", size = 140211 },
|
34 |
+
{ url = "https://files.pythonhosted.org/packages/28/a3/a42e70d03cbdabc18997baf4f0227c73591a08041c149e710045c281f97b/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146", size = 148039 },
|
35 |
+
{ url = "https://files.pythonhosted.org/packages/85/e4/65699e8ab3014ecbe6f5c71d1a55d810fb716bbfd74f6283d5c2aa87febf/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd", size = 151939 },
|
36 |
+
{ url = "https://files.pythonhosted.org/packages/b1/82/8e9fe624cc5374193de6860aba3ea8070f584c8565ee77c168ec13274bd2/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6", size = 149075 },
|
37 |
+
{ url = "https://files.pythonhosted.org/packages/3d/7b/82865ba54c765560c8433f65e8acb9217cb839a9e32b42af4aa8e945870f/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8", size = 144340 },
|
38 |
+
{ url = "https://files.pythonhosted.org/packages/b5/b6/9674a4b7d4d99a0d2df9b215da766ee682718f88055751e1e5e753c82db0/charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b", size = 95205 },
|
39 |
+
{ url = "https://files.pythonhosted.org/packages/1e/ab/45b180e175de4402dcf7547e4fb617283bae54ce35c27930a6f35b6bef15/charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76", size = 102441 },
|
40 |
+
{ url = "https://files.pythonhosted.org/packages/0a/9a/dd1e1cdceb841925b7798369a09279bd1cf183cef0f9ddf15a3a6502ee45/charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545", size = 196105 },
|
41 |
+
{ url = "https://files.pythonhosted.org/packages/d3/8c/90bfabf8c4809ecb648f39794cf2a84ff2e7d2a6cf159fe68d9a26160467/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7", size = 140404 },
|
42 |
+
{ url = "https://files.pythonhosted.org/packages/ad/8f/e410d57c721945ea3b4f1a04b74f70ce8fa800d393d72899f0a40526401f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757", size = 150423 },
|
43 |
+
{ url = "https://files.pythonhosted.org/packages/f0/b8/e6825e25deb691ff98cf5c9072ee0605dc2acfca98af70c2d1b1bc75190d/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa", size = 143184 },
|
44 |
+
{ url = "https://files.pythonhosted.org/packages/3e/a2/513f6cbe752421f16d969e32f3583762bfd583848b763913ddab8d9bfd4f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d", size = 145268 },
|
45 |
+
{ url = "https://files.pythonhosted.org/packages/74/94/8a5277664f27c3c438546f3eb53b33f5b19568eb7424736bdc440a88a31f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616", size = 147601 },
|
46 |
+
{ url = "https://files.pythonhosted.org/packages/7c/5f/6d352c51ee763623a98e31194823518e09bfa48be2a7e8383cf691bbb3d0/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b", size = 141098 },
|
47 |
+
{ url = "https://files.pythonhosted.org/packages/78/d4/f5704cb629ba5ab16d1d3d741396aec6dc3ca2b67757c45b0599bb010478/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d", size = 149520 },
|
48 |
+
{ url = "https://files.pythonhosted.org/packages/c5/96/64120b1d02b81785f222b976c0fb79a35875457fa9bb40827678e54d1bc8/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a", size = 152852 },
|
49 |
+
{ url = "https://files.pythonhosted.org/packages/84/c9/98e3732278a99f47d487fd3468bc60b882920cef29d1fa6ca460a1fdf4e6/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9", size = 150488 },
|
50 |
+
{ url = "https://files.pythonhosted.org/packages/13/0e/9c8d4cb99c98c1007cc11eda969ebfe837bbbd0acdb4736d228ccaabcd22/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1", size = 146192 },
|
51 |
+
{ url = "https://files.pythonhosted.org/packages/b2/21/2b6b5b860781a0b49427309cb8670785aa543fb2178de875b87b9cc97746/charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35", size = 95550 },
|
52 |
+
{ url = "https://files.pythonhosted.org/packages/21/5b/1b390b03b1d16c7e382b561c5329f83cc06623916aab983e8ab9239c7d5c/charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f", size = 102785 },
|
53 |
+
{ url = "https://files.pythonhosted.org/packages/38/94/ce8e6f63d18049672c76d07d119304e1e2d7c6098f0841b51c666e9f44a0/charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda", size = 195698 },
|
54 |
+
{ url = "https://files.pythonhosted.org/packages/24/2e/dfdd9770664aae179a96561cc6952ff08f9a8cd09a908f259a9dfa063568/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313", size = 140162 },
|
55 |
+
{ url = "https://files.pythonhosted.org/packages/24/4e/f646b9093cff8fc86f2d60af2de4dc17c759de9d554f130b140ea4738ca6/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9", size = 150263 },
|
56 |
+
{ url = "https://files.pythonhosted.org/packages/5e/67/2937f8d548c3ef6e2f9aab0f6e21001056f692d43282b165e7c56023e6dd/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b", size = 142966 },
|
57 |
+
{ url = "https://files.pythonhosted.org/packages/52/ed/b7f4f07de100bdb95c1756d3a4d17b90c1a3c53715c1a476f8738058e0fa/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11", size = 144992 },
|
58 |
+
{ url = "https://files.pythonhosted.org/packages/96/2c/d49710a6dbcd3776265f4c923bb73ebe83933dfbaa841c5da850fe0fd20b/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f", size = 147162 },
|
59 |
+
{ url = "https://files.pythonhosted.org/packages/b4/41/35ff1f9a6bd380303dea55e44c4933b4cc3c4850988927d4082ada230273/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd", size = 140972 },
|
60 |
+
{ url = "https://files.pythonhosted.org/packages/fb/43/c6a0b685fe6910d08ba971f62cd9c3e862a85770395ba5d9cad4fede33ab/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2", size = 149095 },
|
61 |
+
{ url = "https://files.pythonhosted.org/packages/4c/ff/a9a504662452e2d2878512115638966e75633519ec11f25fca3d2049a94a/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886", size = 152668 },
|
62 |
+
{ url = "https://files.pythonhosted.org/packages/6c/71/189996b6d9a4b932564701628af5cee6716733e9165af1d5e1b285c530ed/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601", size = 150073 },
|
63 |
+
{ url = "https://files.pythonhosted.org/packages/e4/93/946a86ce20790e11312c87c75ba68d5f6ad2208cfb52b2d6a2c32840d922/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd", size = 145732 },
|
64 |
+
{ url = "https://files.pythonhosted.org/packages/cd/e5/131d2fb1b0dddafc37be4f3a2fa79aa4c037368be9423061dccadfd90091/charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407", size = 95391 },
|
65 |
+
{ url = "https://files.pythonhosted.org/packages/27/f2/4f9a69cc7712b9b5ad8fdb87039fd89abba997ad5cbe690d1835d40405b0/charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971", size = 102702 },
|
66 |
+
{ url = "https://files.pythonhosted.org/packages/0e/f6/65ecc6878a89bb1c23a086ea335ad4bf21a588990c3f535a227b9eea9108/charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85", size = 49767 },
|
67 |
]
|
68 |
|
69 |
[[package]]
|
|
|
133 |
[[package]]
|
134 |
name = "cudf-polars-cu12"
|
135 |
version = "24.12.0"
|
136 |
+
source = { registry = "https://pypi.org/simple" }
|
137 |
dependencies = [
|
138 |
{ name = "polars" },
|
139 |
{ name = "pylibcudf-cu12" },
|
140 |
]
|
141 |
wheels = [
|
142 |
+
{ url = "https://files.pythonhosted.org/packages/0f/6e/3d0b2d19ac853347f435f49815d471d461315d8f6e74f165624f16ddc7db/cudf_polars_cu12-24.12.0-py3-none-any.whl", hash = "sha256:3d2058f75251fd4921618bb1d4cfba0c99b670a12756df0d3f51559aca2298fa", size = 79456 },
|
143 |
]
|
144 |
|
145 |
[[package]]
|
|
|
229 |
{ url = "https://files.pythonhosted.org/packages/99/3b/406d17b1f63e04a82aa621936e6e1c53a8c05458abd66300ac85ea7f9ae9/fonttools-4.55.3-py3-none-any.whl", hash = "sha256:f412604ccbeee81b091b420272841e5ec5ef68967a9790e80bffd0e30b8e2977", size = 1111638 },
|
230 |
]
|
231 |
|
232 |
+
[[package]]
|
233 |
+
name = "geopandas"
|
234 |
+
version = "1.0.1"
|
235 |
+
source = { registry = "https://pypi.org/simple" }
|
236 |
+
dependencies = [
|
237 |
+
{ name = "numpy" },
|
238 |
+
{ name = "packaging" },
|
239 |
+
{ name = "pandas" },
|
240 |
+
{ name = "pyogrio" },
|
241 |
+
{ name = "pyproj" },
|
242 |
+
{ name = "shapely" },
|
243 |
+
]
|
244 |
+
sdist = { url = "https://files.pythonhosted.org/packages/39/08/2cf5d85356e45b10b8d066cf4c3ba1e9e3185423c48104eed87e8afd0455/geopandas-1.0.1.tar.gz", hash = "sha256:b8bf70a5534588205b7a56646e2082fb1de9a03599651b3d80c99ea4c2ca08ab", size = 317736 }
|
245 |
+
wheels = [
|
246 |
+
{ url = "https://files.pythonhosted.org/packages/c4/64/7d344cfcef5efddf9cf32f59af7f855828e9d74b5f862eddf5bfd9f25323/geopandas-1.0.1-py3-none-any.whl", hash = "sha256:01e147d9420cc374d26f51fc23716ac307f32b49406e4bd8462c07e82ed1d3d6", size = 323587 },
|
247 |
+
]
|
248 |
+
|
249 |
[[package]]
|
250 |
name = "grand-cypher"
|
251 |
version = "0.12.0"
|
|
|
267 |
sdist = { url = "https://files.pythonhosted.org/packages/65/c6/27400e2d81bd769ebe65c695cead44c8efb55ac3769826a01c9223d65709/grandiso-2.2.0.tar.gz", hash = "sha256:66f292d27328e13122065c7905ad0ac79c4649f69a35e7b98a3631654a0bf77c", size = 16277 }
|
268 |
|
269 |
[[package]]
|
270 |
+
name = "idna"
|
271 |
+
version = "3.10"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
272 |
source = { registry = "https://pypi.org/simple" }
|
273 |
+
sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490 }
|
|
|
|
|
|
|
|
|
|
|
|
|
274 |
wheels = [
|
275 |
+
{ url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442 },
|
276 |
]
|
277 |
|
278 |
[[package]]
|
279 |
+
name = "joblib"
|
280 |
+
version = "1.4.2"
|
281 |
source = { registry = "https://pypi.org/simple" }
|
282 |
+
sdist = { url = "https://files.pythonhosted.org/packages/64/33/60135848598c076ce4b231e1b1895170f45fbcaeaa2c9d5e38b04db70c35/joblib-1.4.2.tar.gz", hash = "sha256:2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e", size = 2116621 }
|
283 |
wheels = [
|
284 |
+
{ url = "https://files.pythonhosted.org/packages/91/29/df4b9b42f2be0b623cbd5e2140cafcaa2bef0759a00b7b70104dcfe2fb51/joblib-1.4.2-py3-none-any.whl", hash = "sha256:06d478d5674cbc267e7496a410ee875abd68e4340feff4490bcb7afb88060ae6", size = 301817 },
|
285 |
]
|
286 |
|
287 |
[[package]]
|
|
|
362 |
[[package]]
|
363 |
name = "libcudf-cu12"
|
364 |
version = "24.12.0"
|
365 |
+
source = { registry = "https://pypi.org/simple" }
|
366 |
dependencies = [
|
367 |
{ name = "libkvikio-cu12" },
|
368 |
{ name = "nvidia-nvcomp-cu12" },
|
369 |
]
|
370 |
wheels = [
|
371 |
+
{ url = "https://files.pythonhosted.org/packages/fa/ea/efccbbeb4012cdd247e3d12ed19c4cd70a770e6c22c1456d8cb569818083/libcudf_cu12-24.12.0-py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:1e78a247f31c6045221f3142a5fd15210d53c91043c5a4e260b67b5ddff43164", size = 454436993 },
|
372 |
+
{ url = "https://files.pythonhosted.org/packages/88/93/dc3a27c3904aa12a32def0df330f15a85d0f01e0420b18bc0efa8b3245ba/libcudf_cu12-24.12.0-py3-none-manylinux_2_28_x86_64.whl", hash = "sha256:47b7537a314b4462c24938f4e9118ea65bfe2de7440e99ecf278a38a14abf9ab", size = 457847164 },
|
373 |
]
|
374 |
|
375 |
[[package]]
|
376 |
name = "libkvikio-cu12"
|
377 |
version = "24.12.1"
|
378 |
+
source = { registry = "https://pypi.org/simple" }
|
379 |
wheels = [
|
380 |
+
{ url = "https://files.pythonhosted.org/packages/24/17/8dbef99dc5a73dbf56dea090ba1c345cc4343bf8d13f331a8091d0e1c362/libkvikio_cu12-24.12.1-py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:7ed5d27263204a237ea7a14ce176ed885888c8daf47341ae0fbcecd55fb2c694", size = 1875299 },
|
381 |
+
{ url = "https://files.pythonhosted.org/packages/0a/31/3be8facaf2f15849629a030e8fb1696ec80228270860b9ffd869a17a6a71/libkvikio_cu12-24.12.1-py3-none-manylinux_2_28_x86_64.whl", hash = "sha256:c4f333dbbffc35ba94a028db3b24ddb1c3dfddff9c6fb0f17488dc662a86f481", size = 1989095 },
|
382 |
]
|
383 |
|
384 |
[[package]]
|
|
|
410 |
source = { virtual = "." }
|
411 |
dependencies = [
|
412 |
{ name = "grand-cypher" },
|
413 |
+
{ name = "joblib" },
|
414 |
{ name = "lynxkite-core" },
|
415 |
{ name = "matplotlib" },
|
416 |
{ name = "networkx" },
|
417 |
+
{ name = "osmnx" },
|
418 |
{ name = "pandas" },
|
419 |
{ name = "polars", extra = ["gpu"] },
|
420 |
]
|
421 |
|
422 |
[package.optional-dependencies]
|
423 |
gpu = [
|
424 |
+
{ name = "nx-cugraph-cu12" },
|
425 |
]
|
426 |
|
427 |
[package.metadata]
|
428 |
requires-dist = [
|
429 |
{ name = "grand-cypher", specifier = ">=0.12.0" },
|
430 |
+
{ name = "joblib", specifier = ">=1.4.2" },
|
431 |
{ name = "lynxkite-core", virtual = "../lynxkite-core" },
|
432 |
{ name = "matplotlib", specifier = ">=3.10.0" },
|
433 |
{ name = "networkx", specifier = ">=3.4.2" },
|
434 |
+
{ name = "nx-cugraph-cu12", marker = "extra == 'gpu'", specifier = ">=24.12.0" },
|
435 |
+
{ name = "osmnx", specifier = ">=2.0.1" },
|
436 |
{ name = "pandas", specifier = ">=2.2.3" },
|
437 |
{ name = "polars", extras = ["gpu"], specifier = ">=1.14.0" },
|
438 |
]
|
|
|
542 |
[[package]]
|
543 |
name = "nvidia-cublas-cu12"
|
544 |
version = "12.8.3.14"
|
545 |
+
source = { registry = "https://pypi.org/simple" }
|
546 |
wheels = [
|
547 |
+
{ url = "https://files.pythonhosted.org/packages/ed/63/684a6f72f52671ea222c12ecde9bdf748a0ba025e2ad3ec374e466c26eb6/nvidia_cublas_cu12-12.8.3.14-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:93a4e0e386cc7f6e56c822531396de8170ed17068a1e18f987574895044cd8c3", size = 604900717 },
|
548 |
+
{ url = "https://files.pythonhosted.org/packages/82/df/4b01f10069e23c641f116c62fc31e31e8dc361a153175d81561d15c8143b/nvidia_cublas_cu12-12.8.3.14-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:3f0e05e7293598cf61933258b73e66a160c27d59c4422670bf0b79348c04be44", size = 609620630 },
|
549 |
+
{ url = "https://files.pythonhosted.org/packages/6c/54/fbfa3315b936d3358517f7da5f9f2557c279bf210e5261f0cf66cc0f9832/nvidia_cublas_cu12-12.8.3.14-py3-none-win_amd64.whl", hash = "sha256:9ae5eae500aead01fc4bdfc458209df638b1a3551557ce11a78eea9ece602ae9", size = 578387959 },
|
550 |
]
|
551 |
|
552 |
[[package]]
|
553 |
name = "nvidia-curand-cu12"
|
554 |
version = "10.3.9.55"
|
555 |
+
source = { registry = "https://pypi.org/simple" }
|
556 |
wheels = [
|
557 |
+
{ url = "https://files.pythonhosted.org/packages/f4/13/bbcf48e2f8a6a9adef58f130bc968810528a4e66bbbe62fad335241e699f/nvidia_curand_cu12-10.3.9.55-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:b6bb90c044fa9b07cedae2ef29077c4cf851fb6fdd6d862102321f359dca81e9", size = 63623836 },
|
558 |
+
{ url = "https://files.pythonhosted.org/packages/bd/fc/7be5d0082507269bb04ac07cc614c84b78749efb96e8cf4100a8a1178e98/nvidia_curand_cu12-10.3.9.55-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:8387d974240c91f6a60b761b83d4b2f9b938b7e0b9617bae0f0dafe4f5c36b86", size = 63618038 },
|
559 |
+
{ url = "https://files.pythonhosted.org/packages/d6/f0/91252f3cffe3f3c233a8e17262c21b41534652edfe783c1e58ea1c92c115/nvidia_curand_cu12-10.3.9.55-py3-none-win_amd64.whl", hash = "sha256:570d82475fe7f3d8ed01ffbe3b71796301e0e24c98762ca018ff8ce4f5418e1f", size = 62761446 },
|
560 |
]
|
561 |
|
562 |
[[package]]
|
563 |
name = "nvidia-cusolver-cu12"
|
564 |
version = "11.7.2.55"
|
565 |
+
source = { registry = "https://pypi.org/simple" }
|
566 |
dependencies = [
|
567 |
{ name = "nvidia-cublas-cu12" },
|
568 |
{ name = "nvidia-cusparse-cu12" },
|
569 |
{ name = "nvidia-nvjitlink-cu12" },
|
570 |
]
|
571 |
wheels = [
|
572 |
+
{ url = "https://files.pythonhosted.org/packages/8c/ce/4214a892e804b20bf66d04f04a473006fc2d3dac158160ef85f1bc906639/nvidia_cusolver_cu12-11.7.2.55-py3-none-manylinux_2_27_aarch64.whl", hash = "sha256:0fd9e98246f43c15bee5561147ad235dfdf2d037f5d07c9d41af3f7f72feb7cc", size = 260094827 },
|
573 |
+
{ url = "https://files.pythonhosted.org/packages/c2/08/953675873a136d96bb12f93b49ba045d1107bc94d2551c52b12fa6c7dec3/nvidia_cusolver_cu12-11.7.2.55-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:4d1354102f1e922cee9db51920dba9e2559877cf6ff5ad03a00d853adafb191b", size = 260373342 },
|
574 |
+
{ url = "https://files.pythonhosted.org/packages/c4/f9/e0e6f8b7aecd13e0f9e937d116fb3211329a0a92b9bea9624b1368de307a/nvidia_cusolver_cu12-11.7.2.55-py3-none-win_amd64.whl", hash = "sha256:a5a516c55da5c5aba98420d9bc9bcab18245f21ec87338cc1f930eb18dd411ac", size = 249600787 },
|
575 |
]
|
576 |
|
577 |
[[package]]
|
578 |
name = "nvidia-cusparse-cu12"
|
579 |
version = "12.5.7.53"
|
580 |
+
source = { registry = "https://pypi.org/simple" }
|
581 |
dependencies = [
|
582 |
{ name = "nvidia-nvjitlink-cu12" },
|
583 |
]
|
584 |
wheels = [
|
585 |
+
{ url = "https://files.pythonhosted.org/packages/2e/a2/313db0453087f5324a5900380ca2e57e050c8de76f407b5e11383dc762ae/nvidia_cusparse_cu12-12.5.7.53-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d869c6146ca80f4305b62e02d924b4aaced936f8173e3cef536a67eed2a91af1", size = 291963692 },
|
586 |
+
{ url = "https://files.pythonhosted.org/packages/c2/ab/31e8149c66213b846c082a3b41b1365b831f41191f9f40c6ddbc8a7d550e/nvidia_cusparse_cu12-12.5.7.53-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3c1b61eb8c85257ea07e9354606b26397612627fdcd327bfd91ccf6155e7c86d", size = 292064180 },
|
587 |
+
{ url = "https://files.pythonhosted.org/packages/7c/48/64b01653919a3d1d9b5117c156806ab0db8312c7496ff646477a5c1545bf/nvidia_cusparse_cu12-12.5.7.53-py3-none-win_amd64.whl", hash = "sha256:82c201d6781bacf6bb7c654f0446728d0fe596dfdd82ef4a04c204ce3e107441", size = 288767123 },
|
588 |
]
|
589 |
|
590 |
[[package]]
|
591 |
name = "nvidia-nvcomp-cu12"
|
592 |
version = "4.1.0.6"
|
593 |
+
source = { registry = "https://pypi.org/simple" }
|
594 |
wheels = [
|
595 |
+
{ url = "https://files.pythonhosted.org/packages/91/51/17e3acc3b53e5a6d97db7ed79035e8b5f13aefa1f5a8e703287418eac2b4/nvidia_nvcomp_cu12-4.1.0.6-py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:3bff6267fa6aae59a98155262e5e9da6142e798dac5afd01f7389b23bce89803", size = 28724365 },
|
596 |
+
{ url = "https://files.pythonhosted.org/packages/f6/3e/c90004db47c527c4f253c1c866facefbd2a5059ba50035a6967712b3b125/nvidia_nvcomp_cu12-4.1.0.6-py3-none-manylinux_2_28_x86_64.whl", hash = "sha256:aaff831f0fdbf20631df32e411ede37ddf5fd7297f78e77346441cd0d72cb787", size = 28944826 },
|
597 |
+
{ url = "https://files.pythonhosted.org/packages/ef/97/be4151c26d13741237e1b58d6fac097b79b552bee4a9c89d7f150c4959fb/nvidia_nvcomp_cu12-4.1.0.6-py3-none-win_amd64.whl", hash = "sha256:df24bedfe9df8be67ae7c59f5d21223f082c5ce689679909ee4985c563a0a89f", size = 75296662 },
|
598 |
]
|
599 |
|
600 |
[[package]]
|
601 |
name = "nvidia-nvjitlink-cu12"
|
602 |
version = "12.8.61"
|
603 |
+
source = { registry = "https://pypi.org/simple" }
|
604 |
wheels = [
|
605 |
+
{ url = "https://files.pythonhosted.org/packages/03/f8/9d85593582bd99b8d7c65634d2304780aefade049b2b94d96e44084be90b/nvidia_nvjitlink_cu12-12.8.61-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl", hash = "sha256:45fd79f2ae20bd67e8bc411055939049873bfd8fac70ff13bd4865e0b9bdab17", size = 39243473 },
|
606 |
+
{ url = "https://files.pythonhosted.org/packages/af/53/698f3758f48c5fcb1112721e40cc6714da3980d3c7e93bae5b29dafa9857/nvidia_nvjitlink_cu12-12.8.61-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:9b80ecab31085dda3ce3b41d043be0ec739216c3fc633b8abe212d5a30026df0", size = 38374634 },
|
607 |
+
{ url = "https://files.pythonhosted.org/packages/7f/c6/0d1b2bfeb2ef42c06db0570c4d081e5cde4450b54c09e43165126cfe6ff6/nvidia_nvjitlink_cu12-12.8.61-py3-none-win_amd64.whl", hash = "sha256:1166a964d25fdc0eae497574d38824305195a5283324a21ccb0ce0c802cbf41c", size = 268514099 },
|
608 |
]
|
609 |
|
610 |
[[package]]
|
|
|
622 |
[[package]]
|
623 |
name = "nx-cugraph-cu12"
|
624 |
version = "24.12.0"
|
625 |
+
source = { registry = "https://pypi.org/simple" }
|
626 |
dependencies = [
|
627 |
{ name = "cupy-cuda12x" },
|
628 |
{ name = "networkx" },
|
629 |
{ name = "numpy" },
|
630 |
{ name = "pylibcugraph-cu12" },
|
631 |
]
|
632 |
+
sdist = { url = "https://files.pythonhosted.org/packages/2e/a1/e968a05bc2980fa4ad66b3fe8e5411a48c3079f6faa4d4ed89d29d82a956/nx_cugraph_cu12-24.12.0.tar.gz", hash = "sha256:a21b60b57cad982678570a69cbbe6d58fb171b12e8c99b296f68bf89ac517813", size = 5259 }
|
633 |
+
|
634 |
+
[[package]]
|
635 |
+
name = "osmnx"
|
636 |
+
version = "2.0.1"
|
637 |
+
source = { registry = "https://pypi.org/simple" }
|
638 |
+
dependencies = [
|
639 |
+
{ name = "geopandas" },
|
640 |
+
{ name = "networkx" },
|
641 |
+
{ name = "numpy" },
|
642 |
+
{ name = "pandas" },
|
643 |
+
{ name = "requests" },
|
644 |
+
{ name = "shapely" },
|
645 |
+
]
|
646 |
+
sdist = { url = "https://files.pythonhosted.org/packages/15/c4/dec0738e6defe0299ebb51a39b6c624f4093faad1f67e684859ba312dd30/osmnx-2.0.1.tar.gz", hash = "sha256:24bb7dc4c0d548ce11a61a79de08bdeea7d74f2d1889a93b60da825051c0e374", size = 86437 }
|
647 |
wheels = [
|
648 |
+
{ url = "https://files.pythonhosted.org/packages/77/59/4de56d8db7694831bea788de3a44e196a73f5c1053560b2ccf18282782c8/osmnx-2.0.1-py3-none-any.whl", hash = "sha256:6532b28f4eaf0c7621f03f77873e64c2e4de5bf46aeafb4faa84413bc9f34f62", size = 99641 },
|
649 |
]
|
650 |
|
651 |
[[package]]
|
|
|
803 |
[[package]]
|
804 |
name = "pylibcudf-cu12"
|
805 |
version = "24.12.0"
|
806 |
+
source = { registry = "https://pypi.org/simple" }
|
807 |
dependencies = [
|
808 |
{ name = "cuda-python" },
|
809 |
{ name = "libcudf-cu12" },
|
|
|
814 |
{ name = "typing-extensions" },
|
815 |
]
|
816 |
wheels = [
|
817 |
+
{ url = "https://files.pythonhosted.org/packages/ee/0f/5a78a8bb72726de1ea50735c2e02588564542b8a0ad1069a067d9fe8e301/pylibcudf_cu12-24.12.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4c61587a6d9e9f392745b9b238f3eebcfacbbf21e3c7d9fedf7a1a672284fcce", size = 36400678 },
|
818 |
+
{ url = "https://files.pythonhosted.org/packages/98/c9/66fe3954244f809b5b9a201e33d7cf8c663b09b0911443374b01333fe28a/pylibcudf_cu12-24.12.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6459baed065bc76fbc7ef34e14912982971c1a9d4bffb2699909d78a95b0b8a3", size = 37259282 },
|
819 |
+
{ url = "https://files.pythonhosted.org/packages/fa/1b/5f43e550262de73dfab17bbc8b2ee3f0add116be28c7ed6ba61a53135859/pylibcudf_cu12-24.12.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dd130e347c28716912b89a1f7ff653ca6e202bfbc79f5abbedd7918bb9124f34", size = 36317440 },
|
820 |
+
{ url = "https://files.pythonhosted.org/packages/8e/2c/653ca775cefafeea2158d0c94296e6b78e050af2892f89fe21697bb737af/pylibcudf_cu12-24.12.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5e2bb951f1a2fddf1976b84aa4e6d1280689da22014d6d1d5f48364cc1b32e2d", size = 37180377 },
|
821 |
]
|
822 |
|
823 |
[[package]]
|
824 |
name = "pylibcugraph-cu12"
|
825 |
version = "24.12.0"
|
826 |
+
source = { registry = "https://pypi.org/simple" }
|
827 |
dependencies = [
|
828 |
{ name = "nvidia-cublas-cu12" },
|
829 |
{ name = "nvidia-curand-cu12" },
|
|
|
832 |
{ name = "pylibraft-cu12" },
|
833 |
{ name = "rmm-cu12" },
|
834 |
]
|
835 |
+
sdist = { url = "https://files.pythonhosted.org/packages/78/0f/10642063a2b228a3e9e192f5fbb1e9cf2b3914025bcb3f77fbf93d97b9b4/pylibcugraph_cu12-24.12.0.tar.gz", hash = "sha256:f8943c94db9333c53193fc575dd426f50dbdefe26c96c6715d5bbebd130b3a86", size = 3773 }
|
|
|
|
|
|
|
|
|
|
|
836 |
|
837 |
[[package]]
|
838 |
name = "pylibraft-cu12"
|
839 |
version = "24.12.0"
|
840 |
+
source = { registry = "https://pypi.org/simple" }
|
841 |
dependencies = [
|
842 |
{ name = "cuda-python" },
|
843 |
{ name = "numpy" },
|
|
|
847 |
{ name = "nvidia-cusparse-cu12" },
|
848 |
{ name = "rmm-cu12" },
|
849 |
]
|
850 |
+
sdist = { url = "https://files.pythonhosted.org/packages/97/21/7528b474119607168aae1e94148614761effbec8c45ae31f323ea75e7d68/pylibraft_cu12-24.12.0.tar.gz", hash = "sha256:88370c81ec6cad13c14f5b6df18845596cfb067f9c009d8d118fc0a2f3c78833", size = 5613 }
|
851 |
+
|
852 |
+
[[package]]
|
853 |
+
name = "pyogrio"
|
854 |
+
version = "0.10.0"
|
855 |
+
source = { registry = "https://pypi.org/simple" }
|
856 |
+
dependencies = [
|
857 |
+
{ name = "certifi" },
|
858 |
+
{ name = "numpy" },
|
859 |
+
{ name = "packaging" },
|
860 |
+
]
|
861 |
+
sdist = { url = "https://files.pythonhosted.org/packages/a5/8f/5a784595524a79c269f2b1c880f4fdb152867df700c97005dda51997da02/pyogrio-0.10.0.tar.gz", hash = "sha256:ec051cb568324de878828fae96379b71858933413e185148acb6c162851ab23c", size = 281950 }
|
862 |
wheels = [
|
863 |
+
{ url = "https://files.pythonhosted.org/packages/8d/2c/c761e6adeb81bd4029a137b3240e7214a8c9aaf225883356196afd6ef9d8/pyogrio-0.10.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:5b1a51431a27a1cb3e4e19558939c1423106e06e7b67d6285f4fba9c2d0a91b9", size = 15083526 },
|
864 |
+
{ url = "https://files.pythonhosted.org/packages/c3/e5/983aa9ddf2ff784e973d6b2ec3e874065d6655a5329ca26311b0f3b9f92f/pyogrio-0.10.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:216d69cd77b2b4a0c9d7d449bc239f8b77f3d73f4a05d9c738a0745b236902d8", size = 16457867 },
|
865 |
+
{ url = "https://files.pythonhosted.org/packages/fa/9a/7103eee7aa3b6ec88e072ef18a05c3aae1ed96fe00009a7a5ce139b50f30/pyogrio-0.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2f0b75f0077ce33256aec6278c2a9c3b79bf0637ddf4f93d3ab2609f0501d96", size = 23926332 },
|
866 |
+
{ url = "https://files.pythonhosted.org/packages/8b/b2/2ca124343aba24b9a5dcd7c1f43da81e652849cfaf3110d3f507a80af0a1/pyogrio-0.10.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:0a47f702d29808c557d2ebea8542c23903f021eae44e16838adef2ab4281c71b", size = 23138693 },
|
867 |
+
{ url = "https://files.pythonhosted.org/packages/ae/15/501aa4823c142232169d54255ab343f28c4ea9e7fa489b8433dcc873a942/pyogrio-0.10.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:11e6c71d12da6b445e77d0fc0198db1bd35a77e03a0685e45338cbab9ce02add", size = 24062952 },
|
868 |
+
{ url = "https://files.pythonhosted.org/packages/94/8d/24f21e6a93ca418231aee3bddade7a0766c89c523832f29e08a8860f83e6/pyogrio-0.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:d0d74e91a9c0ff2f9abe01b556ff663977193b2d6922208406172d0fc833beff", size = 16172573 },
|
869 |
+
{ url = "https://files.pythonhosted.org/packages/b5/b5/3c5dfd0b50cbce6f3d4e42c0484647feb1809dbe20e225c4c6abd067e69f/pyogrio-0.10.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:2d6558b180e020f71ab7aa7f82d592ed3305c9f698d98f6d0a4637ec7a84c4ce", size = 15079211 },
|
870 |
+
{ url = "https://files.pythonhosted.org/packages/b8/9a/1ba9c707a094976f343bd0177741eaba0e842fa05ecd8ab97192db4f2ec1/pyogrio-0.10.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:a99102037eead8ba491bc57825c1e395ee31c9956d7bff7b4a9e4fdbff3a13c2", size = 16442782 },
|
871 |
+
{ url = "https://files.pythonhosted.org/packages/5e/bb/b4250746c2c85fea5004cae93e9e25ad01516e9e94e04de780a2e78139da/pyogrio-0.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a4c373281d7cbf560c5b61f8f3c7442103ad7f1c7ac4ef3a84572ed7a5dd2f6", size = 23899832 },
|
872 |
+
{ url = "https://files.pythonhosted.org/packages/bd/4c/79e47e40a8e54e79a45133786a0a58209534f580591c933d40c5ed314fe7/pyogrio-0.10.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:19f18411bdf836d24cdc08b9337eb3ec415e4ac4086ba64516b36b73a2e88622", size = 23081469 },
|
873 |
+
{ url = "https://files.pythonhosted.org/packages/47/78/2b62c8a340bcb0ea56b9ddf2ef5fd3d1f101dc0e98816b9e6da87c5ac3b7/pyogrio-0.10.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:1abbcdd9876f30bebf1df8a0273f6cdeb29d03259290008275c7fddebe139f20", size = 24024758 },
|
874 |
+
{ url = "https://files.pythonhosted.org/packages/43/97/34605480f06b0ad9611bf58a174eccc6f3673275f3d519cf763391892881/pyogrio-0.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:2a3e09839590d71ff832aa95c4f23fa00a2c63c3de82c1fbd4fb8d265792acfc", size = 16160294 },
|
875 |
+
{ url = "https://files.pythonhosted.org/packages/14/4a/4c8e4f5b9edbca46e0f8d6c1c0b56c0d4af0900c29f4bea22d37853c07f3/pyogrio-0.10.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:c90478209537a31dcc65664a87a04c094bb0e08efe502908a6682b8cec0259bf", size = 15076879 },
|
876 |
+
{ url = "https://files.pythonhosted.org/packages/5f/be/7db0644eef9ef3382518399aaf3332827c43018112d2a74f78784fd496ec/pyogrio-0.10.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:fec45e1963b7058e5a1aa98598aed07c0858512c833d6aad2c672c3ec98bbf04", size = 16440405 },
|
877 |
+
{ url = "https://files.pythonhosted.org/packages/96/77/f199230ba86fe88b1f57e71428c169ed982de68a32d6082cd7c12d0f5d55/pyogrio-0.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28cb139f8a5d0365ede602230104b407ae52bb6b55173c8d5a35424d28c4a2c5", size = 23871511 },
|
878 |
+
{ url = "https://files.pythonhosted.org/packages/25/ac/ca483bec408b59c54f7129b0244cc9de21d8461aefe89ece7bd74ad33807/pyogrio-0.10.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:cea0187fcc2d574e52af8cfab041fa0a7ad71d5ef6b94b49a3f3d2a04534a27e", size = 23048830 },
|
879 |
+
{ url = "https://files.pythonhosted.org/packages/d7/3e/c35f2d8dad95b24e568c468f09ff60fb61945065465e0ec7868400596566/pyogrio-0.10.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:7c02b207ea8cf09c501ea3e95d29152781a00d3c32267286bc36fa457c332205", size = 23996873 },
|
880 |
+
{ url = "https://files.pythonhosted.org/packages/27/5d/0deb16d228362a097ee3258d0a887c9c0add4b9678bb4847b08a241e124d/pyogrio-0.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:02e54bcfb305af75f829044b0045f74de31b77c2d6546f7aaf96822066147848", size = 16158260 },
|
881 |
]
|
882 |
|
883 |
[[package]]
|
|
|
889 |
{ url = "https://files.pythonhosted.org/packages/1c/a7/c8a2d361bf89c0d9577c934ebb7421b25dc84bf3a8e3ac0a40aed9acc547/pyparsing-3.2.1-py3-none-any.whl", hash = "sha256:506ff4f4386c4cec0590ec19e6302d3aedb992fdc02c761e90416f158dacf8e1", size = 107716 },
|
890 |
]
|
891 |
|
892 |
+
[[package]]
|
893 |
+
name = "pyproj"
|
894 |
+
version = "3.7.0"
|
895 |
+
source = { registry = "https://pypi.org/simple" }
|
896 |
+
dependencies = [
|
897 |
+
{ name = "certifi" },
|
898 |
+
]
|
899 |
+
sdist = { url = "https://files.pythonhosted.org/packages/47/c2/0572c8e31aebf0270f15f3368adebd10fc473de9f09567a0743a3bc41c8d/pyproj-3.7.0.tar.gz", hash = "sha256:bf658f4aaf815d9d03c8121650b6f0b8067265c36e31bc6660b98ef144d81813", size = 225577 }
|
900 |
+
wheels = [
|
901 |
+
{ url = "https://files.pythonhosted.org/packages/e2/8f/15ff6ab10a08050e94afcd544962a1a930d0bb7ca102ad39795a847eb340/pyproj-3.7.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:e66d8d42dbdf232e121546c5a1dec097caf0454e4885c09a8e03cdcee0753c03", size = 6272213 },
|
902 |
+
{ url = "https://files.pythonhosted.org/packages/2d/4d/610fe2a17de71b4fe210af69ce25f2d65379ba0a48299129894d0d0988ee/pyproj-3.7.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:7764b64a0aefe40134a2828b3a40be88f6c8b7832c45d8a9f2bd592ace4b2a3b", size = 4634548 },
|
903 |
+
{ url = "https://files.pythonhosted.org/packages/d6/27/0327d0b0fcdfc4cf72696a2effca2963e524dcd846a0274ba503f8bf2648/pyproj-3.7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:53c442c5081dc95346996f5c4323fde2caafc69c6e60b4707aa46e88244f1e04", size = 6333913 },
|
904 |
+
{ url = "https://files.pythonhosted.org/packages/3c/e5/2cb256148c730b9c3f74bfb3c03904f5070499c6dcaea153073a9642c6c6/pyproj-3.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc5b305d4d5d7697885681d9b660623e328227612823d5c660e0a9566cb48838", size = 9460363 },
|
905 |
+
{ url = "https://files.pythonhosted.org/packages/ba/a3/4aa1e8e78ad18aa170efd2c94c1931bf2a34c526683b874d06e40fa323f6/pyproj-3.7.0-cp311-cp311-win32.whl", hash = "sha256:de2b47d748dc41cccb6b3b713d4d7dc9aa1046a82141c8665026908726426abc", size = 5820551 },
|
906 |
+
{ url = "https://files.pythonhosted.org/packages/26/0c/b084e8839a117eaad8cb4fbaa81bbb24c6f183de0ee95c6c4e2770ab6f09/pyproj-3.7.0-cp311-cp311-win_amd64.whl", hash = "sha256:38cba7c4c5679e40242dd959133e95b908d3b912dd66291094fd13510e8517ff", size = 6231788 },
|
907 |
+
{ url = "https://files.pythonhosted.org/packages/bd/19/be806b711e9ebfb80411c653054157db128fffdd7f8493e3064136c8d880/pyproj-3.7.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:8cbec92bdd6e9933ca08795c12717d1384e9b51cf4b1acf0d753db255a75c51e", size = 6261400 },
|
908 |
+
{ url = "https://files.pythonhosted.org/packages/99/3b/8497995e8cae0049d013679c6a7ac6c57b816d590c733a388748dafe5af5/pyproj-3.7.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:8c4a8e4d3ba76c3adac3c087544cf92f7f9a19ea34946904a13fca48cc1c0106", size = 4637848 },
|
909 |
+
{ url = "https://files.pythonhosted.org/packages/ea/f7/2a5b46d6f8da913d58d44942ab06ca4803b5424b73259b15344cf90040f6/pyproj-3.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82624fb42aa31f6b1a860fbc0316babd07fd712642bc31022df4e9b4056bf463", size = 6324856 },
|
910 |
+
{ url = "https://files.pythonhosted.org/packages/36/83/c257771077bcf9da20d0e97abc834f9037c219986cc76d40183903a30464/pyproj-3.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:34e1bbb3f89c68d4a6835c40b2da8b27680eec60e8cc7cdb08c09bcc725b2b62", size = 9525831 },
|
911 |
+
{ url = "https://files.pythonhosted.org/packages/d6/50/a635de79def69fe03cdef3a4bd3bec780c30987bce3a15dd7099afb2506f/pyproj-3.7.0-cp312-cp312-win32.whl", hash = "sha256:952515d5592167ad4436b355485f82acebed2a49b46722159e4584b75a763dd3", size = 5811864 },
|
912 |
+
{ url = "https://files.pythonhosted.org/packages/a1/8b/96bc8c8f3eca4eb7fa3758fde0b755d1df30a19f494376e3ee8de1ef4e79/pyproj-3.7.0-cp312-cp312-win_amd64.whl", hash = "sha256:0692f806224e8ed82fe4acfa57268ff444fdaf9f330689f24c0d96e59480cce1", size = 6224720 },
|
913 |
+
{ url = "https://files.pythonhosted.org/packages/bf/da/a17c452bea1ff4cd58d6dc573055b9c8fb6af114b7d2c694782aec770865/pyproj-3.7.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:94e8b903a9e83448fd2379c49dec3e8cd83c9ed36f54354e68b601cef56d5426", size = 6254898 },
|
914 |
+
{ url = "https://files.pythonhosted.org/packages/c2/31/ab07b389f2caa527c95ab2ea1940d28879bd2a19e67b2529cb3e94648d26/pyproj-3.7.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:64cb5c17d6f6305a8b978a40f95560c87c5b363fcac40632337955664437875a", size = 4628612 },
|
915 |
+
{ url = "https://files.pythonhosted.org/packages/1d/24/def3ded6529db3e3d8351ad73481730249ab57d8d876d502f86d7958ce06/pyproj-3.7.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c54e9bdda7ab9c4a5af50f9d6e6ee7704e05fafd504896b96ed1208c7aea098", size = 6315895 },
|
916 |
+
{ url = "https://files.pythonhosted.org/packages/dd/14/07314f78302105d199fb25e73376d723efe9c2ef3906463aae209913a6d3/pyproj-3.7.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24fa4e9e0abba875f9524808410cc520067eaf38fd5549ed0ef7c43ac39923c9", size = 9466144 },
|
917 |
+
{ url = "https://files.pythonhosted.org/packages/00/f2/2a116920db3496e3ff3c94d7d8d15da41374f35cfe1b9e79682eca500a61/pyproj-3.7.0-cp313-cp313-win32.whl", hash = "sha256:b9e8353fc3c79dc14d1f5ac758a1a6e4eee04102c3c0b138670f121f5ac52eb4", size = 5807180 },
|
918 |
+
{ url = "https://files.pythonhosted.org/packages/f8/33/3c8c6302717096b54aa14ccbb271045ba04629e21cbf348f2f2dc94f69b4/pyproj-3.7.0-cp313-cp313-win_amd64.whl", hash = "sha256:10a8dc6ec61af97c89ff032647d743f8dc023645773da42ef43f7ae1125b3509", size = 6218036 },
|
919 |
+
]
|
920 |
+
|
921 |
[[package]]
|
922 |
name = "python-dateutil"
|
923 |
version = "2.9.0.post0"
|
|
|
939 |
{ url = "https://files.pythonhosted.org/packages/11/c3/005fcca25ce078d2cc29fd559379817424e94885510568bc1bc53d7d5846/pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725", size = 508002 },
|
940 |
]
|
941 |
|
942 |
+
[[package]]
|
943 |
+
name = "requests"
|
944 |
+
version = "2.32.3"
|
945 |
+
source = { registry = "https://pypi.org/simple" }
|
946 |
+
dependencies = [
|
947 |
+
{ name = "certifi" },
|
948 |
+
{ name = "charset-normalizer" },
|
949 |
+
{ name = "idna" },
|
950 |
+
{ name = "urllib3" },
|
951 |
+
]
|
952 |
+
sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218 }
|
953 |
+
wheels = [
|
954 |
+
{ url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928 },
|
955 |
+
]
|
956 |
+
|
957 |
[[package]]
|
958 |
name = "rmm-cu12"
|
959 |
version = "24.12.1"
|
960 |
+
source = { registry = "https://pypi.org/simple" }
|
961 |
dependencies = [
|
962 |
{ name = "cuda-python" },
|
963 |
{ name = "numba" },
|
964 |
{ name = "numpy" },
|
965 |
]
|
966 |
wheels = [
|
967 |
+
{ url = "https://files.pythonhosted.org/packages/0e/c3/b08d5282116dd930e68a0ccbdecd750880efc451e0d2150e764793f03070/rmm_cu12-24.12.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d509d735201d1b0bc05b3e148e23a6216eabcfec67006a4e9311b6c25766023f", size = 1933478 },
|
968 |
+
{ url = "https://files.pythonhosted.org/packages/c7/ce/c32c1a95d53b1a22aeb258af7afa68a73a995c6c2f533fb774d2078d3cca/rmm_cu12-24.12.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c1d6b166aaf9b81495ff33f2fe5a29ad12dc1ed6089daf9f387160e7734fc901", size = 1984701 },
|
969 |
+
{ url = "https://files.pythonhosted.org/packages/c2/4b/32f7920f130536e7e1a8ea7feb591cab7fcb85aaff28311c4e8057ec23da/rmm_cu12-24.12.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:317a6641fb37f3efa6e8eb76eeb568970a8c439e0090529520861fd139ef6f0c", size = 1923807 },
|
970 |
+
{ url = "https://files.pythonhosted.org/packages/1d/f2/56faa578aefdab498f6eb73dde3316f99390769786e0cdbb6c7a6abbbf86/rmm_cu12-24.12.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a9460a386e34f1921c8d06204f320d705511de899ababb45302d314da036da5a", size = 1975053 },
|
971 |
]
|
972 |
|
973 |
[[package]]
|
974 |
+
name = "shapely"
|
975 |
+
version = "2.0.7"
|
976 |
source = { registry = "https://pypi.org/simple" }
|
977 |
+
dependencies = [
|
978 |
+
{ name = "numpy" },
|
979 |
+
]
|
980 |
+
sdist = { url = "https://files.pythonhosted.org/packages/21/c0/a911d1fd765d07a2b6769ce155219a281bfbe311584ebe97340d75c5bdb1/shapely-2.0.7.tar.gz", hash = "sha256:28fe2997aab9a9dc026dc6a355d04e85841546b2a5d232ed953e3321ab958ee5", size = 283413 }
|
981 |
wheels = [
|
982 |
+
{ url = "https://files.pythonhosted.org/packages/1d/ad/21798c2fec013e289f8ab91d42d4d3299c315b8c4460c08c75fef0901713/shapely-2.0.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5cf23400cb25deccf48c56a7cdda8197ae66c0e9097fcdd122ac2007e320bc34", size = 1473091 },
|
983 |
+
{ url = "https://files.pythonhosted.org/packages/15/63/eef4f180f1b5859c70e7f91d2f2570643e5c61e7d7c40743d15f8c6cbc42/shapely-2.0.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d8f1da01c04527f7da59ee3755d8ee112cd8967c15fab9e43bba936b81e2a013", size = 1332921 },
|
984 |
+
{ url = "https://files.pythonhosted.org/packages/fe/67/77851dd17738bbe7762a0ef1acf7bc499d756f68600dd68a987d78229412/shapely-2.0.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f623b64bb219d62014781120f47499a7adc30cf7787e24b659e56651ceebcb0", size = 2427949 },
|
985 |
+
{ url = "https://files.pythonhosted.org/packages/0b/a5/2c8dbb0f383519771df19164e3bf3a8895d195d2edeab4b6040f176ee28e/shapely-2.0.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e6d95703efaa64aaabf278ced641b888fc23d9c6dd71f8215091afd8a26a66e3", size = 2529282 },
|
986 |
+
{ url = "https://files.pythonhosted.org/packages/dc/4e/e1d608773c7fe4cde36d48903c0d6298e3233dc69412403783ac03fa5205/shapely-2.0.7-cp311-cp311-win32.whl", hash = "sha256:2f6e4759cf680a0f00a54234902415f2fa5fe02f6b05546c662654001f0793a2", size = 1295751 },
|
987 |
+
{ url = "https://files.pythonhosted.org/packages/27/57/8ec7c62012bed06731f7ee979da7f207bbc4b27feed5f36680b6a70df54f/shapely-2.0.7-cp311-cp311-win_amd64.whl", hash = "sha256:b52f3ab845d32dfd20afba86675c91919a622f4627182daec64974db9b0b4608", size = 1442684 },
|
988 |
+
{ url = "https://files.pythonhosted.org/packages/4f/3e/ea100eec5811bafd0175eb21828a3be5b0960f65250f4474391868be7c0f/shapely-2.0.7-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4c2b9859424facbafa54f4a19b625a752ff958ab49e01bc695f254f7db1835fa", size = 1482451 },
|
989 |
+
{ url = "https://files.pythonhosted.org/packages/ce/53/c6a3487716fd32e1f813d2a9608ba7b72a8a52a6966e31c6443480a1d016/shapely-2.0.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5aed1c6764f51011d69a679fdf6b57e691371ae49ebe28c3edb5486537ffbd51", size = 1345765 },
|
990 |
+
{ url = "https://files.pythonhosted.org/packages/fd/dd/b35d7891d25cc11066a70fb8d8169a6a7fca0735dd9b4d563a84684969a3/shapely-2.0.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:73c9ae8cf443187d784d57202199bf9fd2d4bb7d5521fe8926ba40db1bc33e8e", size = 2421540 },
|
991 |
+
{ url = "https://files.pythonhosted.org/packages/62/de/8dbd7df60eb23cb983bb698aac982944b3d602ef0ce877a940c269eae34e/shapely-2.0.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9469f49ff873ef566864cb3516091881f217b5d231c8164f7883990eec88b73", size = 2525741 },
|
992 |
+
{ url = "https://files.pythonhosted.org/packages/96/64/faf0413ebc7a84fe7a0790bf39ec0b02b40132b68e57aba985c0b6e4e7b6/shapely-2.0.7-cp312-cp312-win32.whl", hash = "sha256:6bca5095e86be9d4ef3cb52d56bdd66df63ff111d580855cb8546f06c3c907cd", size = 1296552 },
|
993 |
+
{ url = "https://files.pythonhosted.org/packages/63/05/8a1c279c226d6ad7604d9e237713dd21788eab96db97bf4ce0ea565e5596/shapely-2.0.7-cp312-cp312-win_amd64.whl", hash = "sha256:f86e2c0259fe598c4532acfcf638c1f520fa77c1275912bbc958faecbf00b108", size = 1443464 },
|
994 |
+
{ url = "https://files.pythonhosted.org/packages/c6/21/abea43effbfe11f792e44409ee9ad7635aa93ef1c8ada0ef59b3c1c3abad/shapely-2.0.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a0c09e3e02f948631c7763b4fd3dd175bc45303a0ae04b000856dedebefe13cb", size = 1481618 },
|
995 |
+
{ url = "https://files.pythonhosted.org/packages/d9/71/af688798da36fe355a6e6ffe1d4628449cb5fa131d57fc169bcb614aeee7/shapely-2.0.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:06ff6020949b44baa8fc2e5e57e0f3d09486cd5c33b47d669f847c54136e7027", size = 1345159 },
|
996 |
+
{ url = "https://files.pythonhosted.org/packages/67/47/f934fe2b70d31bb9774ad4376e34f81666deed6b811306ff574faa3d115e/shapely-2.0.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d6dbf096f961ca6bec5640e22e65ccdec11e676344e8157fe7d636e7904fd36", size = 2410267 },
|
997 |
+
{ url = "https://files.pythonhosted.org/packages/f5/8a/2545cc2a30afc63fc6176c1da3b76af28ef9c7358ed4f68f7c6a9d86cf5b/shapely-2.0.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:adeddfb1e22c20548e840403e5e0b3d9dc3daf66f05fa59f1fcf5b5f664f0e98", size = 2514128 },
|
998 |
+
{ url = "https://files.pythonhosted.org/packages/87/54/2344ce7da39676adec94e84fbaba92a8f1664e4ae2d33bd404dafcbe607f/shapely-2.0.7-cp313-cp313-win32.whl", hash = "sha256:a7f04691ce1c7ed974c2f8b34a1fe4c3c5dfe33128eae886aa32d730f1ec1913", size = 1295783 },
|
999 |
+
{ url = "https://files.pythonhosted.org/packages/d7/1e/6461e5cfc8e73ae165b8cff6eb26a4d65274fad0e1435137c5ba34fe4e88/shapely-2.0.7-cp313-cp313-win_amd64.whl", hash = "sha256:aaaf5f7e6cc234c1793f2a2760da464b604584fb58c6b6d7d94144fd2692d67e", size = 1442300 },
|
1000 |
]
|
1001 |
|
1002 |
[[package]]
|
1003 |
+
name = "six"
|
1004 |
+
version = "1.17.0"
|
1005 |
source = { registry = "https://pypi.org/simple" }
|
1006 |
+
sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031 }
|
1007 |
wheels = [
|
1008 |
+
{ url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050 },
|
1009 |
]
|
1010 |
|
1011 |
[[package]]
|
|
|
1025 |
wheels = [
|
1026 |
{ url = "https://files.pythonhosted.org/packages/a6/ab/7e5f53c3b9d14972843a647d8d7a853969a58aecc7559cb3267302c94774/tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd", size = 346586 },
|
1027 |
]
|
1028 |
+
|
1029 |
+
[[package]]
|
1030 |
+
name = "urllib3"
|
1031 |
+
version = "2.3.0"
|
1032 |
+
source = { registry = "https://pypi.org/simple" }
|
1033 |
+
sdist = { url = "https://files.pythonhosted.org/packages/aa/63/e53da845320b757bf29ef6a9062f5c669fe997973f966045cb019c3f4b66/urllib3-2.3.0.tar.gz", hash = "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d", size = 307268 }
|
1034 |
+
wheels = [
|
1035 |
+
{ url = "https://files.pythonhosted.org/packages/c8/19/4ec628951a74043532ca2cf5d97b7b14863931476d117c471e8e2b1eb39f/urllib3-2.3.0-py3-none-any.whl", hash = "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df", size = 128369 },
|
1036 |
+
]
|
lynxkite-lynxscribe/README.md
CHANGED
@@ -15,3 +15,12 @@ Run tests with:
|
|
15 |
```bash
|
16 |
uv run pytest
|
17 |
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
```bash
|
16 |
uv run pytest
|
17 |
```
|
18 |
+
|
19 |
+
The LLM agent flow examples use local models.
|
20 |
+
|
21 |
+
```bash
|
22 |
+
uv pip install infinity-emb[all]
|
23 |
+
infinity_emb v2 --model-id michaelfeil/bge-small-en-v1.5
|
24 |
+
uv pip install "sglang[all]>=0.4.2.post2" --find-links https://flashinfer.ai/whl/cu124/torch2.5/flashinfer/
|
25 |
+
python -m sglang.launch_server --model-path SultanR/SmolTulu-1.7b-Instruct --port 8080
|
26 |
+
```
|
lynxkite-lynxscribe/src/lynxkite_plugins/lynxscribe/__init__.py
CHANGED
@@ -1,2 +1,5 @@
|
|
1 |
from . import lynxscribe_ops
|
2 |
from . import llm_ops
|
|
|
|
|
|
|
|
1 |
from . import lynxscribe_ops
|
2 |
from . import llm_ops
|
3 |
+
from .lynxscribe_ops import api_service_post, api_service_get
|
4 |
+
|
5 |
+
__all__ = ["api_service_post", "api_service_get"]
|
lynxkite-lynxscribe/src/lynxkite_plugins/lynxscribe/llm_ops.py
CHANGED
@@ -120,7 +120,7 @@ def ask_llm(input, *, model: str, accepted_regex: str = None, max_tokens: int =
|
|
120 |
options = {}
|
121 |
if accepted_regex:
|
122 |
options["extra_body"] = {
|
123 |
-
"
|
124 |
}
|
125 |
results = chat(
|
126 |
model=model,
|
@@ -212,7 +212,7 @@ def rag(
|
|
212 |
results = [db[int(r)] for r in results["ids"][0]]
|
213 |
return {**input, "rag": results, "_collection": collection}
|
214 |
if engine == RagEngine.Custom:
|
215 |
-
model = "
|
216 |
chat = input[input_field]
|
217 |
embeddings = [embedding(input=[r[db_field]], model=model) for r in db]
|
218 |
q = embedding(input=[chat], model=model)
|
|
|
120 |
options = {}
|
121 |
if accepted_regex:
|
122 |
options["extra_body"] = {
|
123 |
+
"regex": accepted_regex,
|
124 |
}
|
125 |
results = chat(
|
126 |
model=model,
|
|
|
212 |
results = [db[int(r)] for r in results["ids"][0]]
|
213 |
return {**input, "rag": results, "_collection": collection}
|
214 |
if engine == RagEngine.Custom:
|
215 |
+
model = "michaelfeil/bge-small-en-v1.5"
|
216 |
chat = input[input_field]
|
217 |
embeddings = [embedding(input=[r[db_field]], model=model) for r in db]
|
218 |
q = embedding(input=[chat], model=model)
|
lynxkite-lynxscribe/src/lynxkite_plugins/lynxscribe/lynxscribe_ops.py
CHANGED
@@ -160,11 +160,12 @@ async def test_chat_api(message, chat_api, *, show_details=False):
|
|
160 |
model="",
|
161 |
messages=[{"role": "user", "content": message["text"]}],
|
162 |
)
|
163 |
-
response = await chat_api.answer(request)
|
|
|
164 |
if show_details:
|
165 |
-
return {**response.__dict__}
|
166 |
else:
|
167 |
-
return {"answer":
|
168 |
|
169 |
|
170 |
@op("Input chat")
|
@@ -237,22 +238,9 @@ async def get_chat_api(ws):
|
|
237 |
|
238 |
async def stream_chat_api_response(request):
|
239 |
chat_api = await get_chat_api(request["model"])
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
{
|
244 |
-
**response,
|
245 |
-
"id": "asd",
|
246 |
-
"object": "chat.completion.chunk",
|
247 |
-
"model": request["model"],
|
248 |
-
"choices": [
|
249 |
-
{
|
250 |
-
"index": 0,
|
251 |
-
"delta": {"role": "assistant", "content": response["answer"]},
|
252 |
-
}
|
253 |
-
],
|
254 |
-
}
|
255 |
-
)
|
256 |
|
257 |
|
258 |
async def api_service_post(request):
|
|
|
160 |
model="",
|
161 |
messages=[{"role": "user", "content": message["text"]}],
|
162 |
)
|
163 |
+
response = await chat_api.answer(request, stream=False)
|
164 |
+
answer = response.choices[0].message.content
|
165 |
if show_details:
|
166 |
+
return {"answer": answer, **response.__dict__}
|
167 |
else:
|
168 |
+
return {"answer": answer}
|
169 |
|
170 |
|
171 |
@op("Input chat")
|
|
|
238 |
|
239 |
async def stream_chat_api_response(request):
|
240 |
chat_api = await get_chat_api(request["model"])
|
241 |
+
request = ChatCompletionPrompt(**request)
|
242 |
+
async for chunk in await chat_api.answer(request, stream=True):
|
243 |
+
yield chunk.model_dump_json()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
244 |
|
245 |
|
246 |
async def api_service_post(request):
|
lynxkite-pillow-example/pyproject.toml
CHANGED
@@ -5,6 +5,7 @@ description = "An example LynxKite plugin that wraps some Pillow image processin
|
|
5 |
readme = "README.md"
|
6 |
requires-python = ">=3.11"
|
7 |
dependencies = [
|
|
|
8 |
"lynxkite-core",
|
9 |
"pillow>=11.1.0",
|
10 |
]
|
|
|
5 |
readme = "README.md"
|
6 |
requires-python = ">=3.11"
|
7 |
dependencies = [
|
8 |
+
"fsspec>=2025.2.0",
|
9 |
"lynxkite-core",
|
10 |
"pillow>=11.1.0",
|
11 |
]
|
lynxkite-pillow-example/src/lynxkite_plugins/pillow_example/__init__.py
CHANGED
@@ -4,6 +4,7 @@ from lynxkite.core import ops
|
|
4 |
from lynxkite.core.executors import one_by_one
|
5 |
from PIL import Image, ImageFilter
|
6 |
import base64
|
|
|
7 |
import io
|
8 |
|
9 |
ENV = "Pillow"
|
@@ -13,12 +14,15 @@ one_by_one.register(ENV, cache=False)
|
|
13 |
|
14 |
@op("Open image")
|
15 |
def open_image(*, filename: str):
|
16 |
-
|
|
|
|
|
17 |
|
18 |
|
19 |
@op("Save image")
|
20 |
def save_image(image: Image, *, filename: str):
|
21 |
-
|
|
|
22 |
|
23 |
|
24 |
@op("Crop")
|
@@ -59,7 +63,7 @@ def to_grayscale(image: Image):
|
|
59 |
@op("View image", view="image")
|
60 |
def view_image(image: Image):
|
61 |
buffered = io.BytesIO()
|
62 |
-
image.save(buffered, format="
|
63 |
b64 = base64.b64encode(buffered.getvalue()).decode("utf-8")
|
64 |
data_url = "data:image/jpeg;base64," + b64
|
65 |
return data_url
|
|
|
4 |
from lynxkite.core.executors import one_by_one
|
5 |
from PIL import Image, ImageFilter
|
6 |
import base64
|
7 |
+
import fsspec
|
8 |
import io
|
9 |
|
10 |
ENV = "Pillow"
|
|
|
14 |
|
15 |
@op("Open image")
|
16 |
def open_image(*, filename: str):
|
17 |
+
with fsspec.open(filename, "rb") as f:
|
18 |
+
data = io.BytesIO(f.read())
|
19 |
+
return Image.open(data)
|
20 |
|
21 |
|
22 |
@op("Save image")
|
23 |
def save_image(image: Image, *, filename: str):
|
24 |
+
with fsspec.open(filename, "wb") as f:
|
25 |
+
image.save(f)
|
26 |
|
27 |
|
28 |
@op("Crop")
|
|
|
63 |
@op("View image", view="image")
|
64 |
def view_image(image: Image):
|
65 |
buffered = io.BytesIO()
|
66 |
+
image.save(buffered, format="webp")
|
67 |
b64 = base64.b64encode(buffered.getvalue()).decode("utf-8")
|
68 |
data_url = "data:image/jpeg;base64," + b64
|
69 |
return data_url
|
lynxkite-pillow-example/uv.lock
CHANGED
@@ -1,22 +1,33 @@
|
|
1 |
version = 1
|
2 |
requires-python = ">=3.11"
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
[[package]]
|
5 |
name = "lynxkite-core"
|
6 |
version = "0.1.0"
|
7 |
source = { virtual = "../lynxkite-core" }
|
8 |
|
9 |
[[package]]
|
10 |
-
name = "lynxkite-pillow"
|
11 |
version = "0.1.0"
|
12 |
source = { virtual = "." }
|
13 |
dependencies = [
|
|
|
14 |
{ name = "lynxkite-core" },
|
15 |
{ name = "pillow" },
|
16 |
]
|
17 |
|
18 |
[package.metadata]
|
19 |
requires-dist = [
|
|
|
20 |
{ name = "lynxkite-core", virtual = "../lynxkite-core" },
|
21 |
{ name = "pillow", specifier = ">=11.1.0" },
|
22 |
]
|
|
|
1 |
version = 1
|
2 |
requires-python = ">=3.11"
|
3 |
|
4 |
+
[[package]]
|
5 |
+
name = "fsspec"
|
6 |
+
version = "2025.2.0"
|
7 |
+
source = { registry = "https://pypi.org/simple" }
|
8 |
+
sdist = { url = "https://files.pythonhosted.org/packages/b5/79/68612ed99700e6413de42895aa725463e821a6b3be75c87fcce1b4af4c70/fsspec-2025.2.0.tar.gz", hash = "sha256:1c24b16eaa0a1798afa0337aa0db9b256718ab2a89c425371f5628d22c3b6afd", size = 292283 }
|
9 |
+
wheels = [
|
10 |
+
{ url = "https://files.pythonhosted.org/packages/e2/94/758680531a00d06e471ef649e4ec2ed6bf185356a7f9fbfbb7368a40bd49/fsspec-2025.2.0-py3-none-any.whl", hash = "sha256:9de2ad9ce1f85e1931858535bc882543171d197001a0a5eb2ddc04f1781ab95b", size = 184484 },
|
11 |
+
]
|
12 |
+
|
13 |
[[package]]
|
14 |
name = "lynxkite-core"
|
15 |
version = "0.1.0"
|
16 |
source = { virtual = "../lynxkite-core" }
|
17 |
|
18 |
[[package]]
|
19 |
+
name = "lynxkite-pillow-example"
|
20 |
version = "0.1.0"
|
21 |
source = { virtual = "." }
|
22 |
dependencies = [
|
23 |
+
{ name = "fsspec" },
|
24 |
{ name = "lynxkite-core" },
|
25 |
{ name = "pillow" },
|
26 |
]
|
27 |
|
28 |
[package.metadata]
|
29 |
requires-dist = [
|
30 |
+
{ name = "fsspec", specifier = ">=2025.2.0" },
|
31 |
{ name = "lynxkite-core", virtual = "../lynxkite-core" },
|
32 |
{ name = "pillow", specifier = ">=11.1.0" },
|
33 |
]
|