luo 0.1.25 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +7 -4
- data/exe/luo +2 -3
- data/lib/luo/cli/init_app.rb +17 -0
- data/lib/luo/cli/init_base.rb +45 -0
- data/lib/luo/cli/init_notebook.rb +20 -0
- data/lib/luo/cli.rb +33 -49
- data/lib/luo/helpers.rb +54 -0
- data/lib/luo/{init_project.rb → init_project._rb} +1 -1
- data/lib/luo/marqo.rb +1 -1
- data/lib/luo/open_ai_agent_runner.rb +15 -4
- data/lib/luo/parser_markdown.rb +34 -0
- data/lib/luo/project_init.rb +9 -0
- data/lib/luo/prompt_template.rb +7 -3
- data/lib/luo/prompts.rb +30 -2
- data/lib/luo/version.rb +1 -1
- data/lib/luo/xinghuo.rb +9 -8
- data/lib/luo/xinghuo_agent_runner.rb +7 -3
- data/lib/luo.rb +24 -2
- data/luo.gemspec +4 -1
- data/sig/luo/prompt_template.rbs +1 -1
- data/templates/AppGemfile +3 -0
- data/templates/NoteBookGemfile +5 -0
- data/{lib/luo/projects → templates}/application.rb +5 -1
- data/templates/luo.ipynb +292 -0
- data/templates/prompts/luo_error.md.erb +8 -0
- metadata +70 -46
- data/.idea/.gitignore +0 -8
- data/.idea/dictionaries/mj.xml +0 -7
- data/.idea/inspectionProfiles/Project_Default.xml +0 -9
- data/.idea/luo.iml +0 -81
- data/.idea/misc.xml +0 -4
- data/.idea/modules.xml +0 -8
- data/.idea/vcs.xml +0 -6
- data/init.rb +0 -16
- data/lib/luo/projects/luo.ipynb +0 -167
- data/lib/luo/templates/agent_input.md.erb +0 -39
- data/lib/luo/templates/agent_system.md.erb +0 -4
- data/lib/luo/templates/agent_tool_input.md.erb +0 -10
- data/lib/luo/templates/demo.md.erb +0 -1
- data/lib/luo/templates/luo_xinghuo_agent_tool_input.md.erb +0 -16
- data/lib/luo/templates/xinghuo_agent_input.md.erb +0 -10
- data/lib/luo/templates/xinghuo_response_error.md.erb +0 -10
- data/luo.ipynb +0 -84
- data/templates/luo_agent_input.md.erb +0 -39
- data/templates/luo_agent_system.md.erb +0 -4
- data/templates/luo_agent_tool_input.md.erb +0 -10
- data/templates/luo_commit.md.erb +0 -2
- data/templates/luo_xinghuo_agent_input.md.erb +0 -10
- data/templates/luo_xinghuo_agent_tool_input.md.erb +0 -16
- data/templates/luo_xinghuo_response_error.md.erb +0 -10
- data/templates/prompt.demo.erb +0 -1
- /data/{lib/luo/projects → templates}/env +0 -0
- /data/{lib/luo/projects → templates}/init.rb +0 -0
- /data/{lib/luo/projects → templates}/prompts/agent_input.md.erb +0 -0
- /data/{lib/luo/projects → templates}/prompts/agent_system.md.erb +0 -0
- /data/{lib/luo/projects → templates}/prompts/agent_tool_input.md.erb +0 -0
- /data/{lib/luo/templates → templates/prompts}/luo_commit.md.erb +0 -0
- /data/{lib/luo/projects → templates}/prompts/xinghuo_agent_input.md.erb +0 -0
- /data/{lib/luo/projects → templates}/prompts/xinghuo_response_error.md.erb +0 -0
- /data/{lib/luo/projects → templates}/test.yml +0 -0
- /data/{lib/luo/projects → templates}/time_agent.rb +0 -0
- /data/{lib/luo/projects → templates}/weather_agent.rb +0 -0
data/templates/luo.ipynb
ADDED
@@ -0,0 +1,292 @@
|
|
1
|
+
{
|
2
|
+
"cells": [
|
3
|
+
{
|
4
|
+
"cell_type": "markdown",
|
5
|
+
"id": "ac60deeb-0d75-478e-823a-dfe39e73aa72",
|
6
|
+
"metadata": {},
|
7
|
+
"source": [
|
8
|
+
"欢迎使用luo实验室"
|
9
|
+
]
|
10
|
+
},
|
11
|
+
{
|
12
|
+
"cell_type": "code",
|
13
|
+
"execution_count": 1,
|
14
|
+
"id": "785fea13-bdfb-4bc6-80e7-1c53d8ca2f84",
|
15
|
+
"metadata": {
|
16
|
+
"tags": []
|
17
|
+
},
|
18
|
+
"outputs": [
|
19
|
+
{
|
20
|
+
"name": "stdout",
|
21
|
+
"output_type": "stream",
|
22
|
+
"text": [
|
23
|
+
"0.2.0\n"
|
24
|
+
]
|
25
|
+
}
|
26
|
+
],
|
27
|
+
"source": [
|
28
|
+
"# 初始化运行环境\n",
|
29
|
+
"require 'luo'\n",
|
30
|
+
"\n",
|
31
|
+
"Luo.notebook_setup do |loader|\n",
|
32
|
+
" loader.push_dir(File.join(__dir__, 'agents'))\n",
|
33
|
+
"end\n",
|
34
|
+
"\n",
|
35
|
+
"puts Luo::VERSION"
|
36
|
+
]
|
37
|
+
},
|
38
|
+
{
|
39
|
+
"cell_type": "code",
|
40
|
+
"execution_count": 2,
|
41
|
+
"id": "87d49a44-a485-4331-b982-6a9143490771",
|
42
|
+
"metadata": {
|
43
|
+
"tags": []
|
44
|
+
},
|
45
|
+
"outputs": [
|
46
|
+
{
|
47
|
+
"data": {
|
48
|
+
"text/plain": [
|
49
|
+
"Luo::XinghuoFinalAgent"
|
50
|
+
]
|
51
|
+
},
|
52
|
+
"execution_count": 2,
|
53
|
+
"metadata": {},
|
54
|
+
"output_type": "execute_result"
|
55
|
+
}
|
56
|
+
],
|
57
|
+
"source": [
|
58
|
+
"class Runner < XinghuoAgentRunner\n",
|
59
|
+
" register WeatherAgent\n",
|
60
|
+
" register TimeAgent\n",
|
61
|
+
" register XinghuoFinalAgent\n",
|
62
|
+
"end"
|
63
|
+
]
|
64
|
+
},
|
65
|
+
{
|
66
|
+
"cell_type": "code",
|
67
|
+
"execution_count": 3,
|
68
|
+
"id": "3b2b57cf-332e-4f4e-8b54-ee35950a0501",
|
69
|
+
"metadata": {
|
70
|
+
"tags": []
|
71
|
+
},
|
72
|
+
"outputs": [
|
73
|
+
{
|
74
|
+
"data": {
|
75
|
+
"text/plain": [
|
76
|
+
":input"
|
77
|
+
]
|
78
|
+
},
|
79
|
+
"execution_count": 3,
|
80
|
+
"metadata": {},
|
81
|
+
"output_type": "execute_result"
|
82
|
+
}
|
83
|
+
],
|
84
|
+
"source": [
|
85
|
+
"$runner = Runner.new\n",
|
86
|
+
"\n",
|
87
|
+
"def input(text)\n",
|
88
|
+
" context = $runner.call(text)\n",
|
89
|
+
" Helpers.display_md <<~MD\n",
|
90
|
+
" ## Input:\n",
|
91
|
+
" #{text}\n",
|
92
|
+
"\n",
|
93
|
+
" ## Response:\n",
|
94
|
+
" #{context.response}\n",
|
95
|
+
"\n",
|
96
|
+
" ## Final Result:\n",
|
97
|
+
" #{context.final_result}\n",
|
98
|
+
"\n",
|
99
|
+
" ## History:\n",
|
100
|
+
" \n",
|
101
|
+
" ```ruby\n",
|
102
|
+
" #{context.histories.to_a}\n",
|
103
|
+
" ```\n",
|
104
|
+
" MD\n",
|
105
|
+
" puts \"\\n\\n\\n\"\n",
|
106
|
+
"end"
|
107
|
+
]
|
108
|
+
},
|
109
|
+
{
|
110
|
+
"cell_type": "code",
|
111
|
+
"execution_count": 4,
|
112
|
+
"id": "4e5c17eb-1c13-4547-8a2e-d9aa886031a6",
|
113
|
+
"metadata": {
|
114
|
+
"tags": []
|
115
|
+
},
|
116
|
+
"outputs": [
|
117
|
+
{
|
118
|
+
"name": "stdout",
|
119
|
+
"output_type": "stream",
|
120
|
+
"text": [
|
121
|
+
"** call aiui weather **\n"
|
122
|
+
]
|
123
|
+
},
|
124
|
+
{
|
125
|
+
"data": {
|
126
|
+
"text/html": [
|
127
|
+
"<style>.highlight table td { padding: 5px; }\n",
|
128
|
+
".highlight table pre { margin: 0; }\n",
|
129
|
+
".highlight, .highlight .w {\n",
|
130
|
+
" color: #24292f;\n",
|
131
|
+
" background-color: #f6f8fa;\n",
|
132
|
+
"}\n",
|
133
|
+
".highlight .k, .highlight .kd, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kt, .highlight .kv {\n",
|
134
|
+
" color: #cf222e;\n",
|
135
|
+
"}\n",
|
136
|
+
".highlight .gr {\n",
|
137
|
+
" color: #f6f8fa;\n",
|
138
|
+
"}\n",
|
139
|
+
".highlight .gd {\n",
|
140
|
+
" color: #82071e;\n",
|
141
|
+
" background-color: #ffebe9;\n",
|
142
|
+
"}\n",
|
143
|
+
".highlight .nb {\n",
|
144
|
+
" color: #953800;\n",
|
145
|
+
"}\n",
|
146
|
+
".highlight .nc {\n",
|
147
|
+
" color: #953800;\n",
|
148
|
+
"}\n",
|
149
|
+
".highlight .no {\n",
|
150
|
+
" color: #953800;\n",
|
151
|
+
"}\n",
|
152
|
+
".highlight .nn {\n",
|
153
|
+
" color: #953800;\n",
|
154
|
+
"}\n",
|
155
|
+
".highlight .sr {\n",
|
156
|
+
" color: #116329;\n",
|
157
|
+
"}\n",
|
158
|
+
".highlight .na {\n",
|
159
|
+
" color: #116329;\n",
|
160
|
+
"}\n",
|
161
|
+
".highlight .nt {\n",
|
162
|
+
" color: #116329;\n",
|
163
|
+
"}\n",
|
164
|
+
".highlight .gi {\n",
|
165
|
+
" color: #116329;\n",
|
166
|
+
" background-color: #dafbe1;\n",
|
167
|
+
"}\n",
|
168
|
+
".highlight .kc {\n",
|
169
|
+
" color: #0550ae;\n",
|
170
|
+
"}\n",
|
171
|
+
".highlight .l, .highlight .ld, .highlight .m, .highlight .mb, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .mx {\n",
|
172
|
+
" color: #0550ae;\n",
|
173
|
+
"}\n",
|
174
|
+
".highlight .sb {\n",
|
175
|
+
" color: #0550ae;\n",
|
176
|
+
"}\n",
|
177
|
+
".highlight .bp {\n",
|
178
|
+
" color: #0550ae;\n",
|
179
|
+
"}\n",
|
180
|
+
".highlight .ne {\n",
|
181
|
+
" color: #0550ae;\n",
|
182
|
+
"}\n",
|
183
|
+
".highlight .nl {\n",
|
184
|
+
" color: #0550ae;\n",
|
185
|
+
"}\n",
|
186
|
+
".highlight .py {\n",
|
187
|
+
" color: #0550ae;\n",
|
188
|
+
"}\n",
|
189
|
+
".highlight .nv, .highlight .vc, .highlight .vg, .highlight .vi, .highlight .vm {\n",
|
190
|
+
" color: #0550ae;\n",
|
191
|
+
"}\n",
|
192
|
+
".highlight .o, .highlight .ow {\n",
|
193
|
+
" color: #0550ae;\n",
|
194
|
+
"}\n",
|
195
|
+
".highlight .gh {\n",
|
196
|
+
" color: #0550ae;\n",
|
197
|
+
" font-weight: bold;\n",
|
198
|
+
"}\n",
|
199
|
+
".highlight .gu {\n",
|
200
|
+
" color: #0550ae;\n",
|
201
|
+
" font-weight: bold;\n",
|
202
|
+
"}\n",
|
203
|
+
".highlight .s, .highlight .sa, .highlight .sc, .highlight .dl, .highlight .sd, .highlight .s2, .highlight .se, .highlight .sh, .highlight .sx, .highlight .s1, .highlight .ss {\n",
|
204
|
+
" color: #0a3069;\n",
|
205
|
+
"}\n",
|
206
|
+
".highlight .nd {\n",
|
207
|
+
" color: #8250df;\n",
|
208
|
+
"}\n",
|
209
|
+
".highlight .nf, .highlight .fm {\n",
|
210
|
+
" color: #8250df;\n",
|
211
|
+
"}\n",
|
212
|
+
".highlight .err {\n",
|
213
|
+
" color: #f6f8fa;\n",
|
214
|
+
" background-color: #82071e;\n",
|
215
|
+
"}\n",
|
216
|
+
".highlight .c, .highlight .ch, .highlight .cd, .highlight .cm, .highlight .cp, .highlight .cpf, .highlight .c1, .highlight .cs {\n",
|
217
|
+
" color: #6e7781;\n",
|
218
|
+
"}\n",
|
219
|
+
".highlight .gl {\n",
|
220
|
+
" color: #6e7781;\n",
|
221
|
+
"}\n",
|
222
|
+
".highlight .gt {\n",
|
223
|
+
" color: #6e7781;\n",
|
224
|
+
"}\n",
|
225
|
+
".highlight .ni {\n",
|
226
|
+
" color: #24292f;\n",
|
227
|
+
"}\n",
|
228
|
+
".highlight .si {\n",
|
229
|
+
" color: #24292f;\n",
|
230
|
+
"}\n",
|
231
|
+
".highlight .ge {\n",
|
232
|
+
" color: #24292f;\n",
|
233
|
+
" font-style: italic;\n",
|
234
|
+
"}\n",
|
235
|
+
".highlight .gs {\n",
|
236
|
+
" color: #24292f;\n",
|
237
|
+
" font-weight: bold;\n",
|
238
|
+
"}</style>\n",
|
239
|
+
"<h2>Input:</h2>\n",
|
240
|
+
"\n",
|
241
|
+
"<p>明天的天气怎么样</p>\n",
|
242
|
+
"\n",
|
243
|
+
"<h2>Response:</h2>\n",
|
244
|
+
"\n",
|
245
|
+
"<p>调用工具:天气查询。</p>\n",
|
246
|
+
"\n",
|
247
|
+
"<h2>Final Result:</h2>\n",
|
248
|
+
"\n",
|
249
|
+
"<p>北京市明天全天小雨转多云,出门记得带伞,气温16℃ ~ 26℃,有南风转北风微风,气候温暖。</p>\n",
|
250
|
+
"\n",
|
251
|
+
"<h2>History:</h2>\n",
|
252
|
+
"<pre class=\"highlight\"><span class=\"p\">[{</span><span class=\"ss\">:role</span><span class=\"o\">=></span><span class=\"s2\">\"user\"</span><span class=\"p\">,</span> <span class=\"ss\">:content</span><span class=\"o\">=></span><span class=\"s2\">\"明天的天气怎么样\"</span><span class=\"p\">},</span> <span class=\"p\">{</span><span class=\"ss\">:role</span><span class=\"o\">=></span><span class=\"s2\">\"assistant\"</span><span class=\"p\">,</span> <span class=\"ss\">:content</span><span class=\"o\">=></span><span class=\"s2\">\"北京市明天全天小雨转多云,出门记得带伞,气温16℃ ~ 26℃,有南风转北风微风,气候温暖。\"</span><span class=\"p\">}]</span>\n",
|
253
|
+
"</pre>\n"
|
254
|
+
],
|
255
|
+
"text/plain": [
|
256
|
+
"\"<style>.highlight table td { padding: 5px; }\\n.highlight table pre { margin: 0; }\\n.highlight, .highlight .w {\\n color: #24292f;\\n background-color: #f6f8fa;\\n}\\n.highlight .k, .highlight .kd, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kt, .highlight .kv {\\n color: #cf222e;\\n}\\n.highlight .gr {\\n color: #f6f8fa;\\n}\\n.highlight .gd {\\n color: #82071e;\\n background-color: #ffebe9;\\n}\\n.highlight .nb {\\n color: #953800;\\n}\\n.highlight .nc {\\n color: #953800;\\n}\\n.highlight .no {\\n color: #953800;\\n}\\n.highlight .nn {\\n color: #953800;\\n}\\n.highlight .sr {\\n color: #116329;\\n}\\n.highlight .na {\\n color: #116329;\\n}\\n.highlight .nt {\\n color: #116329;\\n}\\n.highlight .gi {\\n color: #116329;\\n background-color: #dafbe1;\\n}\\n.highlight .kc {\\n color: #0550ae;\\n}\\n.highlight .l, .highlight .ld, .highlight .m, .highlight .mb, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .mx {\\n color: #0550ae;\\n}\\n.highlight .sb {\\n color: #0550ae;\\n}\\n.highlight .bp {\\n color: #0550ae;\\n}\\n.highlight .ne {\\n color: #0550ae;\\n}\\n.highlight .nl {\\n color: #0550ae;\\n}\\n.highlight .py {\\n color: #0550ae;\\n}\\n.highlight .nv, .highlight .vc, .highlight .vg, .highlight .vi, .highlight .vm {\\n color: #0550ae;\\n}\\n.highlight .o, .highlight .ow {\\n color: #0550ae;\\n}\\n.highlight .gh {\\n color: #0550ae;\\n font-weight: bold;\\n}\\n.highlight .gu {\\n color: #0550ae;\\n font-weight: bold;\\n}\\n.highlight .s, .highlight .sa, .highlight .sc, .highlight .dl, .highlight .sd, .highlight .s2, .highlight .se, .highlight .sh, .highlight .sx, .highlight .s1, .highlight .ss {\\n color: #0a3069;\\n}\\n.highlight .nd {\\n color: #8250df;\\n}\\n.highlight .nf, .highlight .fm {\\n color: #8250df;\\n}\\n.highlight .err {\\n color: #f6f8fa;\\n background-color: #82071e;\\n}\\n.highlight .c, .highlight .ch, .highlight .cd, .highlight .cm, .highlight .cp, .highlight .cpf, .highlight .c1, .highlight .cs {\\n color: #6e7781;\\n}\\n.highlight .gl {\\n color: #6e7781;\\n}\\n.highlight .gt {\\n color: #6e7781;\\n}\\n.highlight .ni {\\n color: #24292f;\\n}\\n.highlight .si {\\n color: #24292f;\\n}\\n.highlight .ge {\\n color: #24292f;\\n font-style: italic;\\n}\\n.highlight .gs {\\n color: #24292f;\\n font-weight: bold;\\n}</style>\\n<h2>Input:</h2>\\n\\n<p>明天的天气怎么样</p>\\n\\n<h2>Response:</h2>\\n\\n<p>调用工具:天气查询。</p>\\n\\n<h2>Final Result:</h2>\\n\\n<p>北京市明天全天小雨转多云,出门记得带伞,气温16℃ ~ 26℃,有南风转北风微风,气候温暖。</p>\\n\\n<h2>History:</h2>\\n<pre class=\\\"highlight\\\"><span class=\\\"p\\\">[{</span><span class=\\\"ss\\\">:role</span><span class=\\\"o\\\">=></span><span class=\\\"s2\\\">\\\"user\\\"</span><span class=\\\"p\\\">,</span> <span class=\\\"ss\\\">:content</span><span class=\\\"o\\\">=></span><span class=\\\"s2\\\">\\\"明天的天气怎么样\\\"</span><span class=\\\"p\\\">},</span> <span class=\\\"p\\\">{</span><span class=\\\"ss\\\">:role</span><span class=\\\"o\\\">=></span><span class=\\\"s2\\\">\\\"assistant\\\"</span><span class=\\\"p\\\">,</span> <span class=\\\"ss\\\">:content</span><span class=\\\"o\\\">=></span><span class=\\\"s2\\\">\\\"北京市明天全天小雨转多云,出门记得带伞,气温16℃ ~ 26℃,有南风转北风微风,气候温暖。\\\"</span><span class=\\\"p\\\">}]</span>\\n</pre>\\n\""
|
257
|
+
]
|
258
|
+
},
|
259
|
+
"metadata": {},
|
260
|
+
"output_type": "display_data"
|
261
|
+
},
|
262
|
+
{
|
263
|
+
"name": "stdout",
|
264
|
+
"output_type": "stream",
|
265
|
+
"text": [
|
266
|
+
"\n",
|
267
|
+
"\n",
|
268
|
+
"\n"
|
269
|
+
]
|
270
|
+
}
|
271
|
+
],
|
272
|
+
"source": [
|
273
|
+
"input \"明天的天气怎么样\""
|
274
|
+
]
|
275
|
+
}
|
276
|
+
],
|
277
|
+
"metadata": {
|
278
|
+
"kernelspec": {
|
279
|
+
"display_name": "Ruby 3.2.1",
|
280
|
+
"language": "ruby",
|
281
|
+
"name": "ruby"
|
282
|
+
},
|
283
|
+
"language_info": {
|
284
|
+
"file_extension": ".rb",
|
285
|
+
"mimetype": "application/x-ruby",
|
286
|
+
"name": "ruby",
|
287
|
+
"version": "3.2.1"
|
288
|
+
}
|
289
|
+
},
|
290
|
+
"nbformat": 4,
|
291
|
+
"nbformat_minor": 5
|
292
|
+
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: luo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- MJ
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-05-
|
11
|
+
date: 2023-05-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: zeitwerk
|
@@ -125,33 +125,73 @@ dependencies:
|
|
125
125
|
- !ruby/object:Gem::Version
|
126
126
|
version: 1.0.1
|
127
127
|
- !ruby/object:Gem::Dependency
|
128
|
-
name:
|
128
|
+
name: tty-markdown
|
129
129
|
requirement: !ruby/object:Gem::Requirement
|
130
130
|
requirements:
|
131
131
|
- - "~>"
|
132
132
|
- !ruby/object:Gem::Version
|
133
|
-
version:
|
133
|
+
version: 0.7.2
|
134
134
|
type: :runtime
|
135
135
|
prerelease: false
|
136
136
|
version_requirements: !ruby/object:Gem::Requirement
|
137
137
|
requirements:
|
138
138
|
- - "~>"
|
139
139
|
- !ruby/object:Gem::Version
|
140
|
-
version:
|
140
|
+
version: 0.7.2
|
141
141
|
- !ruby/object:Gem::Dependency
|
142
|
-
name:
|
142
|
+
name: redcarpet
|
143
143
|
requirement: !ruby/object:Gem::Requirement
|
144
144
|
requirements:
|
145
145
|
- - "~>"
|
146
146
|
- !ruby/object:Gem::Version
|
147
|
-
version:
|
147
|
+
version: '3.6'
|
148
148
|
type: :runtime
|
149
149
|
prerelease: false
|
150
150
|
version_requirements: !ruby/object:Gem::Requirement
|
151
151
|
requirements:
|
152
152
|
- - "~>"
|
153
153
|
- !ruby/object:Gem::Version
|
154
|
-
version:
|
154
|
+
version: '3.6'
|
155
|
+
- !ruby/object:Gem::Dependency
|
156
|
+
name: rouge
|
157
|
+
requirement: !ruby/object:Gem::Requirement
|
158
|
+
requirements:
|
159
|
+
- - "~>"
|
160
|
+
- !ruby/object:Gem::Version
|
161
|
+
version: '4.1'
|
162
|
+
- - ">="
|
163
|
+
- !ruby/object:Gem::Version
|
164
|
+
version: 4.1.1
|
165
|
+
type: :runtime
|
166
|
+
prerelease: false
|
167
|
+
version_requirements: !ruby/object:Gem::Requirement
|
168
|
+
requirements:
|
169
|
+
- - "~>"
|
170
|
+
- !ruby/object:Gem::Version
|
171
|
+
version: '4.1'
|
172
|
+
- - ">="
|
173
|
+
- !ruby/object:Gem::Version
|
174
|
+
version: 4.1.1
|
175
|
+
- !ruby/object:Gem::Dependency
|
176
|
+
name: thor
|
177
|
+
requirement: !ruby/object:Gem::Requirement
|
178
|
+
requirements:
|
179
|
+
- - "~>"
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
version: '1.2'
|
182
|
+
- - ">="
|
183
|
+
- !ruby/object:Gem::Version
|
184
|
+
version: 1.2.2
|
185
|
+
type: :runtime
|
186
|
+
prerelease: false
|
187
|
+
version_requirements: !ruby/object:Gem::Requirement
|
188
|
+
requirements:
|
189
|
+
- - "~>"
|
190
|
+
- !ruby/object:Gem::Version
|
191
|
+
version: '1.2'
|
192
|
+
- - ">="
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: 1.2.2
|
155
195
|
- !ruby/object:Gem::Dependency
|
156
196
|
name: rspec
|
157
197
|
requirement: !ruby/object:Gem::Requirement
|
@@ -174,13 +214,6 @@ executables:
|
|
174
214
|
extensions: []
|
175
215
|
extra_rdoc_files: []
|
176
216
|
files:
|
177
|
-
- ".idea/.gitignore"
|
178
|
-
- ".idea/dictionaries/mj.xml"
|
179
|
-
- ".idea/inspectionProfiles/Project_Default.xml"
|
180
|
-
- ".idea/luo.iml"
|
181
|
-
- ".idea/misc.xml"
|
182
|
-
- ".idea/modules.xml"
|
183
|
-
- ".idea/vcs.xml"
|
184
217
|
- ".rspec"
|
185
218
|
- Dockerfile
|
186
219
|
- Gemfile
|
@@ -190,51 +223,34 @@ files:
|
|
190
223
|
- Rakefile
|
191
224
|
- docker-compose.yml
|
192
225
|
- exe/luo
|
193
|
-
- init.rb
|
194
226
|
- lib/luo.rb
|
195
227
|
- lib/luo/agent.rb
|
196
228
|
- lib/luo/agent_runner_base.rb
|
197
229
|
- lib/luo/agent_runner_context.rb
|
198
230
|
- lib/luo/aiui.rb
|
199
231
|
- lib/luo/cli.rb
|
232
|
+
- lib/luo/cli/init_app.rb
|
233
|
+
- lib/luo/cli/init_base.rb
|
234
|
+
- lib/luo/cli/init_notebook.rb
|
200
235
|
- lib/luo/configurable.rb
|
201
236
|
- lib/luo/helpers.rb
|
202
237
|
- lib/luo/http_client.rb
|
203
|
-
- lib/luo/init_project.
|
238
|
+
- lib/luo/init_project._rb
|
204
239
|
- lib/luo/loader.rb
|
205
240
|
- lib/luo/marqo.rb
|
206
241
|
- lib/luo/memory_history.rb
|
207
242
|
- lib/luo/messages.rb
|
208
243
|
- lib/luo/open_ai.rb
|
209
244
|
- lib/luo/open_ai_agent_runner.rb
|
210
|
-
- lib/luo/
|
211
|
-
- lib/luo/
|
212
|
-
- lib/luo/projects/init.rb
|
213
|
-
- lib/luo/projects/luo.ipynb
|
214
|
-
- lib/luo/projects/prompts/agent_input.md.erb
|
215
|
-
- lib/luo/projects/prompts/agent_system.md.erb
|
216
|
-
- lib/luo/projects/prompts/agent_tool_input.md.erb
|
217
|
-
- lib/luo/projects/prompts/xinghuo_agent_input.md.erb
|
218
|
-
- lib/luo/projects/prompts/xinghuo_response_error.md.erb
|
219
|
-
- lib/luo/projects/test.yml
|
220
|
-
- lib/luo/projects/time_agent.rb
|
221
|
-
- lib/luo/projects/weather_agent.rb
|
245
|
+
- lib/luo/parser_markdown.rb
|
246
|
+
- lib/luo/project_init.rb
|
222
247
|
- lib/luo/prompt_template.rb
|
223
248
|
- lib/luo/prompts.rb
|
224
|
-
- lib/luo/templates/agent_input.md.erb
|
225
|
-
- lib/luo/templates/agent_system.md.erb
|
226
|
-
- lib/luo/templates/agent_tool_input.md.erb
|
227
|
-
- lib/luo/templates/demo.md.erb
|
228
|
-
- lib/luo/templates/luo_commit.md.erb
|
229
|
-
- lib/luo/templates/luo_xinghuo_agent_tool_input.md.erb
|
230
|
-
- lib/luo/templates/xinghuo_agent_input.md.erb
|
231
|
-
- lib/luo/templates/xinghuo_response_error.md.erb
|
232
249
|
- lib/luo/version.rb
|
233
250
|
- lib/luo/xinghuo.rb
|
234
251
|
- lib/luo/xinghuo_agent_runner.rb
|
235
252
|
- luo
|
236
253
|
- luo.gemspec
|
237
|
-
- luo.ipynb
|
238
254
|
- luo.ps1
|
239
255
|
- sig/luo.rbs
|
240
256
|
- sig/luo/agent.rbs
|
@@ -252,14 +268,22 @@ files:
|
|
252
268
|
- sig/luo/prompt_template.rbs
|
253
269
|
- sig/luo/prompts.rbs
|
254
270
|
- sig/luo/xinghuo.rbs
|
255
|
-
- templates/
|
256
|
-
- templates/
|
257
|
-
- templates/
|
258
|
-
- templates/
|
259
|
-
- templates/
|
260
|
-
- templates/
|
261
|
-
- templates/
|
262
|
-
- templates/
|
271
|
+
- templates/AppGemfile
|
272
|
+
- templates/NoteBookGemfile
|
273
|
+
- templates/application.rb
|
274
|
+
- templates/env
|
275
|
+
- templates/init.rb
|
276
|
+
- templates/luo.ipynb
|
277
|
+
- templates/prompts/agent_input.md.erb
|
278
|
+
- templates/prompts/agent_system.md.erb
|
279
|
+
- templates/prompts/agent_tool_input.md.erb
|
280
|
+
- templates/prompts/luo_commit.md.erb
|
281
|
+
- templates/prompts/luo_error.md.erb
|
282
|
+
- templates/prompts/xinghuo_agent_input.md.erb
|
283
|
+
- templates/prompts/xinghuo_response_error.md.erb
|
284
|
+
- templates/test.yml
|
285
|
+
- templates/time_agent.rb
|
286
|
+
- templates/weather_agent.rb
|
263
287
|
homepage: https://github.com/mjason/luo
|
264
288
|
licenses: []
|
265
289
|
metadata:
|
data/.idea/.gitignore
DELETED
data/.idea/dictionaries/mj.xml
DELETED
@@ -1,9 +0,0 @@
|
|
1
|
-
<component name="InspectionProjectProfileManager">
|
2
|
-
<profile version="1.0">
|
3
|
-
<option name="myName" value="Project Default" />
|
4
|
-
<inspection_tool class="RubyClassVariableUsageInspection" enabled="false" level="WARNING" enabled_by_default="false" />
|
5
|
-
<inspection_tool class="RubyResolve" enabled="false" level="WARNING" enabled_by_default="false">
|
6
|
-
<option name="warnImplicitResults" value="false" />
|
7
|
-
</inspection_tool>
|
8
|
-
</profile>
|
9
|
-
</component>
|
data/.idea/luo.iml
DELETED
@@ -1,81 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<module type="RUBY_MODULE" version="4">
|
3
|
-
<component name="ModuleRunConfigurationManager">
|
4
|
-
<shared />
|
5
|
-
</component>
|
6
|
-
<component name="NewModuleRootManager">
|
7
|
-
<content url="file://$MODULE_DIR$">
|
8
|
-
<sourceFolder url="file://$MODULE_DIR$/features" isTestSource="true" />
|
9
|
-
<sourceFolder url="file://$MODULE_DIR$/spec" isTestSource="true" />
|
10
|
-
<sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
|
11
|
-
<excludeFolder url="file://$MODULE_DIR$/bundle_gems/cache" />
|
12
|
-
</content>
|
13
|
-
<orderEntry type="jdk" jdkName="ruby-3.2.1-p31" jdkType="RUBY_SDK" />
|
14
|
-
<orderEntry type="sourceFolder" forTests="false" />
|
15
|
-
<orderEntry type="library" scope="PROVIDED" name="bundler (v2.4.6, ruby-3.2.1-p31) [gem]" level="application" />
|
16
|
-
<orderEntry type="library" scope="PROVIDED" name="concurrent-ruby (v1.2.2, ruby-3.2.1-p31) [gem]" level="application" />
|
17
|
-
<orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.5.0, ruby-3.2.1-p31) [gem]" level="application" />
|
18
|
-
<orderEntry type="library" scope="PROVIDED" name="dotenv (v2.8.1, ruby-3.2.1-p31) [gem]" level="application" />
|
19
|
-
<orderEntry type="library" scope="PROVIDED" name="dry-cli (v1.0.0, ruby-3.2.1-p31) [gem]" level="application" />
|
20
|
-
<orderEntry type="library" scope="PROVIDED" name="dry-configurable (v1.0.1, ruby-3.2.1-p31) [gem]" level="application" />
|
21
|
-
<orderEntry type="library" scope="PROVIDED" name="dry-core (v1.0.0, ruby-3.2.1-p31) [gem]" level="application" />
|
22
|
-
<orderEntry type="library" scope="PROVIDED" name="dry-inflector (v1.0.0, ruby-3.2.1-p31) [gem]" level="application" />
|
23
|
-
<orderEntry type="library" scope="PROVIDED" name="dry-initializer (v3.1.1, ruby-3.2.1-p31) [gem]" level="application" />
|
24
|
-
<orderEntry type="library" scope="PROVIDED" name="dry-logic (v1.5.0, ruby-3.2.1-p31) [gem]" level="application" />
|
25
|
-
<orderEntry type="library" scope="PROVIDED" name="dry-schema (v1.13.1, ruby-3.2.1-p31) [gem]" level="application" />
|
26
|
-
<orderEntry type="library" scope="PROVIDED" name="dry-types (v1.7.1, ruby-3.2.1-p31) [gem]" level="application" />
|
27
|
-
<orderEntry type="library" scope="PROVIDED" name="faraday (v2.7.4, ruby-3.2.1-p31) [gem]" level="application" />
|
28
|
-
<orderEntry type="library" scope="PROVIDED" name="faraday-net_http (v3.0.2, ruby-3.2.1-p31) [gem]" level="application" />
|
29
|
-
<orderEntry type="library" scope="PROVIDED" name="faraday-retry (v2.1.0, ruby-3.2.1-p31) [gem]" level="application" />
|
30
|
-
<orderEntry type="library" scope="PROVIDED" name="kramdown (v2.4.0, ruby-3.2.1-p31) [gem]" level="application" />
|
31
|
-
<orderEntry type="library" scope="PROVIDED" name="pastel (v0.8.0, ruby-3.2.1-p31) [gem]" level="application" />
|
32
|
-
<orderEntry type="library" scope="PROVIDED" name="rake (v13.0.6, ruby-3.2.1-p31) [gem]" level="application" />
|
33
|
-
<orderEntry type="library" scope="PROVIDED" name="rexml (v3.2.5, ruby-3.2.1-p31) [gem]" level="application" />
|
34
|
-
<orderEntry type="library" scope="PROVIDED" name="rouge (v4.1.0, ruby-3.2.1-p31) [gem]" level="application" />
|
35
|
-
<orderEntry type="library" scope="PROVIDED" name="rspec (v3.12.0, ruby-3.2.1-p31) [gem]" level="application" />
|
36
|
-
<orderEntry type="library" scope="PROVIDED" name="rspec-core (v3.12.2, ruby-3.2.1-p31) [gem]" level="application" />
|
37
|
-
<orderEntry type="library" scope="PROVIDED" name="rspec-expectations (v3.12.3, ruby-3.2.1-p31) [gem]" level="application" />
|
38
|
-
<orderEntry type="library" scope="PROVIDED" name="rspec-mocks (v3.12.5, ruby-3.2.1-p31) [gem]" level="application" />
|
39
|
-
<orderEntry type="library" scope="PROVIDED" name="rspec-support (v3.12.0, ruby-3.2.1-p31) [gem]" level="application" />
|
40
|
-
<orderEntry type="library" scope="PROVIDED" name="strings (v0.2.1, ruby-3.2.1-p31) [gem]" level="application" />
|
41
|
-
<orderEntry type="library" scope="PROVIDED" name="strings-ansi (v0.2.0, ruby-3.2.1-p31) [gem]" level="application" />
|
42
|
-
<orderEntry type="library" scope="PROVIDED" name="tty-color (v0.6.0, ruby-3.2.1-p31) [gem]" level="application" />
|
43
|
-
<orderEntry type="library" scope="PROVIDED" name="tty-markdown (v0.7.2, ruby-3.2.1-p31) [gem]" level="application" />
|
44
|
-
<orderEntry type="library" scope="PROVIDED" name="tty-screen (v0.8.1, ruby-3.2.1-p31) [gem]" level="application" />
|
45
|
-
<orderEntry type="library" scope="PROVIDED" name="unicode-display_width (v2.4.2, ruby-3.2.1-p31) [gem]" level="application" />
|
46
|
-
<orderEntry type="library" scope="PROVIDED" name="unicode_utils (v1.4.0, ruby-3.2.1-p31) [gem]" level="application" />
|
47
|
-
<orderEntry type="library" scope="PROVIDED" name="zeitwerk (v2.6.8, ruby-3.2.1-p31) [gem]" level="application" />
|
48
|
-
</component>
|
49
|
-
<component name="RakeTasksCache">
|
50
|
-
<option name="myRootTask">
|
51
|
-
<RakeTaskImpl id="rake">
|
52
|
-
<subtasks>
|
53
|
-
<RakeTaskImpl description="Build luo-0.1.4.gem into the pkg directory" fullCommand="build" id="build" />
|
54
|
-
<RakeTaskImpl id="build">
|
55
|
-
<subtasks>
|
56
|
-
<RakeTaskImpl description="Generate SHA512 checksum if luo-0.1.4.gem into the checksums directory" fullCommand="build:checksum" id="checksum" />
|
57
|
-
</subtasks>
|
58
|
-
</RakeTaskImpl>
|
59
|
-
<RakeTaskImpl description="Remove any temporary products" fullCommand="clean" id="clean" />
|
60
|
-
<RakeTaskImpl description="Remove any generated files" fullCommand="clobber" id="clobber" />
|
61
|
-
<RakeTaskImpl description="Build and install luo-0.1.4.gem into system gems" fullCommand="install" id="install" />
|
62
|
-
<RakeTaskImpl id="install">
|
63
|
-
<subtasks>
|
64
|
-
<RakeTaskImpl description="Build and install luo-0.1.4.gem into system gems without network access" fullCommand="install:local" id="local" />
|
65
|
-
</subtasks>
|
66
|
-
</RakeTaskImpl>
|
67
|
-
<RakeTaskImpl description="Create tag v0.1.4 and build and push luo-0.1.4.gem to rubygems.org" fullCommand="release[remote]" id="release[remote]" />
|
68
|
-
<RakeTaskImpl description="" fullCommand="default" id="default" />
|
69
|
-
<RakeTaskImpl description="" fullCommand="release" id="release" />
|
70
|
-
<RakeTaskImpl id="release">
|
71
|
-
<subtasks>
|
72
|
-
<RakeTaskImpl description="" fullCommand="release:guard_clean" id="guard_clean" />
|
73
|
-
<RakeTaskImpl description="" fullCommand="release:rubygem_push" id="rubygem_push" />
|
74
|
-
<RakeTaskImpl description="" fullCommand="release:source_control_push" id="source_control_push" />
|
75
|
-
</subtasks>
|
76
|
-
</RakeTaskImpl>
|
77
|
-
</subtasks>
|
78
|
-
</RakeTaskImpl>
|
79
|
-
</option>
|
80
|
-
</component>
|
81
|
-
</module>
|
data/.idea/misc.xml
DELETED
data/.idea/modules.xml
DELETED