hellm 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -0
- data/VERSION +1 -1
- data/example/.hellm/agents/alfred.agent.md +1 -1
- data/example/example2.sh +3 -0
- data/lib/hellm/builder.rb +4 -2
- data/lib/hellm/tools/web_tool.rb +32 -0
- metadata +18 -2
- /data/example/{example.sh → example1.sh} +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 85820167c185b4609e3b81e23a3280063d41c85d70c5880b9e3b676dc378a193
|
|
4
|
+
data.tar.gz: e24df7e76af2cae1500adfc01bc9f4ef75ffe8641acdbc8a33fad7ffc92c028a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6c0bedef17b6862c8302f14f51c3c9cdfaace1a07f40523574c9316ce6b3d775e0000edce7f83168bb7da50e1c24c5458ab29d0ce19fde3bdf1290a648e9cc53
|
|
7
|
+
data.tar.gz: 50342bcd317ac5427189e1318233e6902e73a80cd3d9bca2cd6521331c95d34d72cf4ae43daf72bbf181df640a4a06fa785c0673e52d96051b42c19bb296fd19
|
data/README.md
CHANGED
|
@@ -48,6 +48,7 @@ hellm Alfred "Tell me your favorite color and which month fits it."
|
|
|
48
48
|
The framework provides the following tools for agents to use:
|
|
49
49
|
|
|
50
50
|
* `calculator` - a simple calculator for basic arithmetic operations.
|
|
51
|
+
* `web` - fetches web pages or other content from URLs.
|
|
51
52
|
|
|
52
53
|
|
|
53
54
|
### Custom Tools
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.0.
|
|
1
|
+
0.0.3
|
data/example/example2.sh
ADDED
data/lib/hellm/builder.rb
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
require_relative "markdown_file"
|
|
2
|
+
require_relative "stream_adapter"
|
|
1
3
|
require_relative "agent"
|
|
2
4
|
require_relative "skill"
|
|
3
|
-
require_relative "stream_adapter"
|
|
4
5
|
require_relative "tools/skill_tool"
|
|
5
|
-
require_relative "
|
|
6
|
+
require_relative "tools/web_tool"
|
|
6
7
|
|
|
7
8
|
class Hellm::Builder
|
|
8
9
|
attr_accessor :project_dir, :hellm_dir, :stream_adapter
|
|
@@ -42,6 +43,7 @@ class Hellm::Builder
|
|
|
42
43
|
private
|
|
43
44
|
def add_builtin_tools_to_registry
|
|
44
45
|
Hellm::Tools::Registry.instance.add(:calculator) { Langchain::Tool::Calculator.new }
|
|
46
|
+
Hellm::Tools::Registry.instance.add(:web) { Hellm::Tools::WebTool.new }
|
|
45
47
|
end
|
|
46
48
|
|
|
47
49
|
def get_skills_from_project_dir
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
require "open-uri"
|
|
2
|
+
require "nokogiri"
|
|
3
|
+
|
|
4
|
+
module Hellm::Tools
|
|
5
|
+
class WebTool
|
|
6
|
+
extend Langchain::ToolDefinition
|
|
7
|
+
|
|
8
|
+
define_function :read, description: "Reads content from a URL. Use this function when you want to get text/binary raw data from the response, e.g. to check the HTML-code of a page." do
|
|
9
|
+
property :url, type: "string", description: "The URL to read from."
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
define_function :read_text, description: "Reads HTML text content from a URL. Use this function to extract text only from a HTML page." do
|
|
13
|
+
property :url, type: "string", description: "The URL to read from."
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def read(url:)
|
|
17
|
+
URI.open(url).read
|
|
18
|
+
rescue StandardError => e
|
|
19
|
+
"Failed to read from URL #{url}: #{e.message}"
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def read_text(url:)
|
|
23
|
+
html_content = URI.open(url).read
|
|
24
|
+
text = Nokogiri::HTML(html_content).text
|
|
25
|
+
lines = text.lines.map(&:strip).reject(&:empty?)
|
|
26
|
+
lines.join("\n")
|
|
27
|
+
rescue StandardError => e
|
|
28
|
+
"Failed to extract text from URL #{url}: #{e.message}"
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
end
|
|
32
|
+
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: hellm
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- ubity UG
|
|
@@ -66,6 +66,20 @@ dependencies:
|
|
|
66
66
|
- - "~>"
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
68
|
version: 1.6.5
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: nokogiri
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - "~>"
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: 1.19.4
|
|
76
|
+
type: :runtime
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - "~>"
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: 1.19.4
|
|
69
83
|
- !ruby/object:Gem::Dependency
|
|
70
84
|
name: google_search_results
|
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -102,7 +116,8 @@ files:
|
|
|
102
116
|
- example/.hellm/agents/alfred.agent.md
|
|
103
117
|
- example/.hellm/agents/mathematician.agent.md
|
|
104
118
|
- example/.hellm/skills/farben/SKILL.md
|
|
105
|
-
- example/
|
|
119
|
+
- example/example1.sh
|
|
120
|
+
- example/example2.sh
|
|
106
121
|
- lib/hellm.rb
|
|
107
122
|
- lib/hellm/agent.rb
|
|
108
123
|
- lib/hellm/builder.rb
|
|
@@ -112,6 +127,7 @@ files:
|
|
|
112
127
|
- lib/hellm/tools/agent_tool_factory.rb
|
|
113
128
|
- lib/hellm/tools/registry.rb
|
|
114
129
|
- lib/hellm/tools/skill_tool.rb
|
|
130
|
+
- lib/hellm/tools/web_tool.rb
|
|
115
131
|
- lib/hellm/version.rb
|
|
116
132
|
- sig/hellm.rbs
|
|
117
133
|
homepage: https://gitlab.com/ubity/gems/hellm
|
|
File without changes
|