Spaces:
				
			
			
	
			
			
		Sleeping
		
	
	
	
			
			
	
	
	
	
		
		
		Sleeping
		
	
		Alexandros Popov
		
	commited on
		
		
					Commit 
							
							·
						
						a4cf580
	
1
								Parent(s):
							
							73b811a
								
included telemetry.
Browse files- .pre-commit-config.yaml +4 -4
- agents.py +18 -0
- pyproject.toml +4 -0
- uv.lock +40 -3
    	
        .pre-commit-config.yaml
    CHANGED
    
    | @@ -29,10 +29,10 @@ repos: | |
| 29 | 
             
                  - id: mypy
         | 
| 30 | 
             
                    args: ["--ignore-missing-imports", "--install-types", "--non-interactive"]
         | 
| 31 |  | 
| 32 | 
            -
              - repo: https://github.com/PyCQA/isort
         | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
             | 
| 36 |  | 
| 37 | 
             
              - repo: https://github.com/PyCQA/bandit
         | 
| 38 | 
             
                rev: 1.7.7
         | 
|  | |
| 29 | 
             
                  - id: mypy
         | 
| 30 | 
             
                    args: ["--ignore-missing-imports", "--install-types", "--non-interactive"]
         | 
| 31 |  | 
| 32 | 
            +
              # - repo: https://github.com/PyCQA/isort
         | 
| 33 | 
            +
              #   rev: 5.13.2
         | 
| 34 | 
            +
              #   hooks:
         | 
| 35 | 
            +
              #     - id: isort
         | 
| 36 |  | 
| 37 | 
             
              - repo: https://github.com/PyCQA/bandit
         | 
| 38 | 
             
                rev: 1.7.7
         | 
    	
        agents.py
    CHANGED
    
    | @@ -1,13 +1,31 @@ | |
| 1 | 
             
            import argparse
         | 
|  | |
| 2 | 
             
            import os
         | 
| 3 | 
             
            import tempfile
         | 
| 4 |  | 
|  | |
|  | |
|  | |
|  | |
| 5 | 
             
            from PIL import Image
         | 
| 6 | 
             
            from smolagents import CodeAgent, InferenceClientModel
         | 
| 7 |  | 
| 8 | 
             
            import filters as flt
         | 
| 9 | 
             
            import judges as jdg
         | 
| 10 |  | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 11 | 
             
            HUGGING_FACE_TOKEN = os.environ["HUGGING_FACE_TOKEN"]
         | 
| 12 |  | 
| 13 | 
             
            image_operator_model = InferenceClientModel(
         | 
|  | |
| 1 | 
             
            import argparse
         | 
| 2 | 
            +
            import base64
         | 
| 3 | 
             
            import os
         | 
| 4 | 
             
            import tempfile
         | 
| 5 |  | 
| 6 | 
            +
            from openinference.instrumentation.smolagents import SmolagentsInstrumentor
         | 
| 7 | 
            +
            from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
         | 
| 8 | 
            +
            from opentelemetry.sdk.trace import TracerProvider
         | 
| 9 | 
            +
            from opentelemetry.sdk.trace.export import SimpleSpanProcessor
         | 
| 10 | 
             
            from PIL import Image
         | 
| 11 | 
             
            from smolagents import CodeAgent, InferenceClientModel
         | 
| 12 |  | 
| 13 | 
             
            import filters as flt
         | 
| 14 | 
             
            import judges as jdg
         | 
| 15 |  | 
| 16 | 
            +
            LANGFUSE_PUBLIC_KEY = os.environ["LANGFURE_PUBLIC_KEY"]
         | 
| 17 | 
            +
            LANGFUSE_SECRET_KEY = os.environ["LANGFUSE_SECRET_KEY"]
         | 
| 18 | 
            +
            LANGFUSE_AUTH = base64.b64encode(f"{LANGFUSE_PUBLIC_KEY}:{LANGFUSE_SECRET_KEY}".encode()).decode()
         | 
| 19 | 
            +
             | 
| 20 | 
            +
            os.environ["OTEL_EXPORTER_OTLP_ENDPOINT"] = "https://cloud.langfuse.com/api/public/otel"  # EU data region
         | 
| 21 | 
            +
            os.environ["OTEL_EXPORTER_OTLP_HEADERS"] = f"Authorization=Basic {LANGFUSE_AUTH}"
         | 
| 22 | 
            +
             | 
| 23 | 
            +
            trace_provider = TracerProvider()
         | 
| 24 | 
            +
            trace_provider.add_span_processor(SimpleSpanProcessor(OTLPSpanExporter()))
         | 
| 25 | 
            +
             | 
| 26 | 
            +
            SmolagentsInstrumentor().instrument(tracer_provider=trace_provider)
         | 
| 27 | 
            +
             | 
| 28 | 
            +
             | 
| 29 | 
             
            HUGGING_FACE_TOKEN = os.environ["HUGGING_FACE_TOKEN"]
         | 
| 30 |  | 
| 31 | 
             
            image_operator_model = InferenceClientModel(
         | 
    	
        pyproject.toml
    CHANGED
    
    | @@ -6,9 +6,13 @@ readme = "README.md" | |
| 6 | 
             
            requires-python = ">=3.10"
         | 
| 7 | 
             
            dependencies = [
         | 
| 8 | 
             
                "gradio>=5.32.1",
         | 
|  | |
| 9 | 
             
                "numpy>=2.2.6",
         | 
| 10 | 
             
                "openai>=1.84.0",
         | 
| 11 | 
             
                "opencv-python>=4.11.0.86",
         | 
|  | |
|  | |
|  | |
| 12 | 
             
                "pillow>=11.2.1",
         | 
| 13 | 
             
                "replicate>=1.0.7",
         | 
| 14 | 
             
                "smolagents[telemetry,toolkit]>=1.17.0",
         | 
|  | |
| 6 | 
             
            requires-python = ">=3.10"
         | 
| 7 | 
             
            dependencies = [
         | 
| 8 | 
             
                "gradio>=5.32.1",
         | 
| 9 | 
            +
                "langfuse>=3.0.0",
         | 
| 10 | 
             
                "numpy>=2.2.6",
         | 
| 11 | 
             
                "openai>=1.84.0",
         | 
| 12 | 
             
                "opencv-python>=4.11.0.86",
         | 
| 13 | 
            +
                "openinference-instrumentation-smolagents>=0.1.12",
         | 
| 14 | 
            +
                "opentelemetry-exporter-otlp>=1.34.0",
         | 
| 15 | 
            +
                "opentelemetry-sdk>=1.34.0",
         | 
| 16 | 
             
                "pillow>=11.2.1",
         | 
| 17 | 
             
                "replicate>=1.0.7",
         | 
| 18 | 
             
                "smolagents[telemetry,toolkit]>=1.17.0",
         | 
    	
        uv.lock
    CHANGED
    
    | @@ -21,9 +21,13 @@ version = "0.1.0" | |
| 21 | 
             
            source = { virtual = "." }
         | 
| 22 | 
             
            dependencies = [
         | 
| 23 | 
             
                { name = "gradio" },
         | 
|  | |
| 24 | 
             
                { name = "numpy" },
         | 
| 25 | 
             
                { name = "openai" },
         | 
| 26 | 
             
                { name = "opencv-python" },
         | 
|  | |
|  | |
|  | |
| 27 | 
             
                { name = "pillow" },
         | 
| 28 | 
             
                { name = "replicate" },
         | 
| 29 | 
             
                { name = "smolagents", extra = ["telemetry", "toolkit"] },
         | 
| @@ -32,9 +36,13 @@ dependencies = [ | |
| 32 | 
             
            [package.metadata]
         | 
| 33 | 
             
            requires-dist = [
         | 
| 34 | 
             
                { name = "gradio", specifier = ">=5.32.1" },
         | 
|  | |
| 35 | 
             
                { name = "numpy", specifier = ">=2.2.6" },
         | 
| 36 | 
             
                { name = "openai", specifier = ">=1.84.0" },
         | 
| 37 | 
             
                { name = "opencv-python", specifier = ">=4.11.0.86" },
         | 
|  | |
|  | |
|  | |
| 38 | 
             
                { name = "pillow", specifier = ">=11.2.1" },
         | 
| 39 | 
             
                { name = "replicate", specifier = ">=1.0.7" },
         | 
| 40 | 
             
                { name = "smolagents", extras = ["telemetry", "toolkit"], specifier = ">=1.17.0" },
         | 
| @@ -255,6 +263,15 @@ wheels = [ | |
| 255 | 
             
                { url = "https://files.pythonhosted.org/packages/84/29/587c189bbab1ccc8c86a03a5d0e13873df916380ef1be461ebe6acebf48d/authlib-1.6.0-py2.py3-none-any.whl", hash = "sha256:91685589498f79e8655e8a8947431ad6288831d643f11c55c2143ffcc738048d", size = 239981 },
         | 
| 256 | 
             
            ]
         | 
| 257 |  | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 258 | 
             
            [[package]]
         | 
| 259 | 
             
            name = "beautifulsoup4"
         | 
| 260 | 
             
            version = "4.13.4"
         | 
| @@ -953,6 +970,26 @@ wheels = [ | |
| 953 | 
             
                { url = "https://files.pythonhosted.org/packages/7d/4f/1195bbac8e0c2acc5f740661631d8d750dc38d4a32b23ee5df3cde6f4e0d/joblib-1.5.1-py3-none-any.whl", hash = "sha256:4719a31f054c7d766948dcd83e9613686b27114f190f717cec7eaa2084f8a74a", size = 307746 },
         | 
| 954 | 
             
            ]
         | 
| 955 |  | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 956 | 
             
            [[package]]
         | 
| 957 | 
             
            name = "lxml"
         | 
| 958 | 
             
            version = "5.4.0"
         | 
| @@ -1474,11 +1511,11 @@ wheels = [ | |
| 1474 |  | 
| 1475 | 
             
            [[package]]
         | 
| 1476 | 
             
            name = "packaging"
         | 
| 1477 | 
            -
            version = " | 
| 1478 | 
             
            source = { registry = "https://pypi.org/simple" }
         | 
| 1479 | 
            -
            sdist = { url = "https://files.pythonhosted.org/packages/ | 
| 1480 | 
             
            wheels = [
         | 
| 1481 | 
            -
                { url = "https://files.pythonhosted.org/packages/ | 
| 1482 | 
             
            ]
         | 
| 1483 |  | 
| 1484 | 
             
            [[package]]
         | 
|  | |
| 21 | 
             
            source = { virtual = "." }
         | 
| 22 | 
             
            dependencies = [
         | 
| 23 | 
             
                { name = "gradio" },
         | 
| 24 | 
            +
                { name = "langfuse" },
         | 
| 25 | 
             
                { name = "numpy" },
         | 
| 26 | 
             
                { name = "openai" },
         | 
| 27 | 
             
                { name = "opencv-python" },
         | 
| 28 | 
            +
                { name = "openinference-instrumentation-smolagents" },
         | 
| 29 | 
            +
                { name = "opentelemetry-exporter-otlp" },
         | 
| 30 | 
            +
                { name = "opentelemetry-sdk" },
         | 
| 31 | 
             
                { name = "pillow" },
         | 
| 32 | 
             
                { name = "replicate" },
         | 
| 33 | 
             
                { name = "smolagents", extra = ["telemetry", "toolkit"] },
         | 
|  | |
| 36 | 
             
            [package.metadata]
         | 
| 37 | 
             
            requires-dist = [
         | 
| 38 | 
             
                { name = "gradio", specifier = ">=5.32.1" },
         | 
| 39 | 
            +
                { name = "langfuse", specifier = ">=3.0.0" },
         | 
| 40 | 
             
                { name = "numpy", specifier = ">=2.2.6" },
         | 
| 41 | 
             
                { name = "openai", specifier = ">=1.84.0" },
         | 
| 42 | 
             
                { name = "opencv-python", specifier = ">=4.11.0.86" },
         | 
| 43 | 
            +
                { name = "openinference-instrumentation-smolagents", specifier = ">=0.1.12" },
         | 
| 44 | 
            +
                { name = "opentelemetry-exporter-otlp", specifier = ">=1.34.0" },
         | 
| 45 | 
            +
                { name = "opentelemetry-sdk", specifier = ">=1.34.0" },
         | 
| 46 | 
             
                { name = "pillow", specifier = ">=11.2.1" },
         | 
| 47 | 
             
                { name = "replicate", specifier = ">=1.0.7" },
         | 
| 48 | 
             
                { name = "smolagents", extras = ["telemetry", "toolkit"], specifier = ">=1.17.0" },
         | 
|  | |
| 263 | 
             
                { url = "https://files.pythonhosted.org/packages/84/29/587c189bbab1ccc8c86a03a5d0e13873df916380ef1be461ebe6acebf48d/authlib-1.6.0-py2.py3-none-any.whl", hash = "sha256:91685589498f79e8655e8a8947431ad6288831d643f11c55c2143ffcc738048d", size = 239981 },
         | 
| 264 | 
             
            ]
         | 
| 265 |  | 
| 266 | 
            +
            [[package]]
         | 
| 267 | 
            +
            name = "backoff"
         | 
| 268 | 
            +
            version = "2.2.1"
         | 
| 269 | 
            +
            source = { registry = "https://pypi.org/simple" }
         | 
| 270 | 
            +
            sdist = { url = "https://files.pythonhosted.org/packages/47/d7/5bbeb12c44d7c4f2fb5b56abce497eb5ed9f34d85701de869acedd602619/backoff-2.2.1.tar.gz", hash = "sha256:03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba", size = 17001 }
         | 
| 271 | 
            +
            wheels = [
         | 
| 272 | 
            +
                { url = "https://files.pythonhosted.org/packages/df/73/b6e24bd22e6720ca8ee9a85a0c4a2971af8497d8f3193fa05390cbd46e09/backoff-2.2.1-py3-none-any.whl", hash = "sha256:63579f9a0628e06278f7e47b7d7d5b6ce20dc65c5e96a6f3ca99a6adca0396e8", size = 15148 },
         | 
| 273 | 
            +
            ]
         | 
| 274 | 
            +
             | 
| 275 | 
             
            [[package]]
         | 
| 276 | 
             
            name = "beautifulsoup4"
         | 
| 277 | 
             
            version = "4.13.4"
         | 
|  | |
| 970 | 
             
                { url = "https://files.pythonhosted.org/packages/7d/4f/1195bbac8e0c2acc5f740661631d8d750dc38d4a32b23ee5df3cde6f4e0d/joblib-1.5.1-py3-none-any.whl", hash = "sha256:4719a31f054c7d766948dcd83e9613686b27114f190f717cec7eaa2084f8a74a", size = 307746 },
         | 
| 971 | 
             
            ]
         | 
| 972 |  | 
| 973 | 
            +
            [[package]]
         | 
| 974 | 
            +
            name = "langfuse"
         | 
| 975 | 
            +
            version = "3.0.0"
         | 
| 976 | 
            +
            source = { registry = "https://pypi.org/simple" }
         | 
| 977 | 
            +
            dependencies = [
         | 
| 978 | 
            +
                { name = "backoff" },
         | 
| 979 | 
            +
                { name = "httpx" },
         | 
| 980 | 
            +
                { name = "opentelemetry-api" },
         | 
| 981 | 
            +
                { name = "opentelemetry-exporter-otlp" },
         | 
| 982 | 
            +
                { name = "opentelemetry-sdk" },
         | 
| 983 | 
            +
                { name = "packaging" },
         | 
| 984 | 
            +
                { name = "pydantic" },
         | 
| 985 | 
            +
                { name = "requests" },
         | 
| 986 | 
            +
                { name = "wrapt" },
         | 
| 987 | 
            +
            ]
         | 
| 988 | 
            +
            sdist = { url = "https://files.pythonhosted.org/packages/21/13/5faae9cc988c135a63eddc247d4cc5808b956f6cde1cd95469e7c67802bf/langfuse-3.0.0.tar.gz", hash = "sha256:c47449ae93a3007efee6b861484f529efb187ddbfb5093e0cb94b84636e0a605", size = 147241 }
         | 
| 989 | 
            +
            wheels = [
         | 
| 990 | 
            +
                { url = "https://files.pythonhosted.org/packages/5d/3f/4ebe4e2977b48ba8876dc8a9deecd721655a17dde5d898df19212e9c5609/langfuse-3.0.0-py3-none-any.whl", hash = "sha256:5f493bd15760b15195cc71ec7aaa4f93008058a1f5dfe4b32f72f31cbdc6f605", size = 291814 },
         | 
| 991 | 
            +
            ]
         | 
| 992 | 
            +
             | 
| 993 | 
             
            [[package]]
         | 
| 994 | 
             
            name = "lxml"
         | 
| 995 | 
             
            version = "5.4.0"
         | 
|  | |
| 1511 |  | 
| 1512 | 
             
            [[package]]
         | 
| 1513 | 
             
            name = "packaging"
         | 
| 1514 | 
            +
            version = "24.2"
         | 
| 1515 | 
             
            source = { registry = "https://pypi.org/simple" }
         | 
| 1516 | 
            +
            sdist = { url = "https://files.pythonhosted.org/packages/d0/63/68dbb6eb2de9cb10ee4c9c14a0148804425e13c4fb20d61cce69f53106da/packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f", size = 163950 }
         | 
| 1517 | 
             
            wheels = [
         | 
| 1518 | 
            +
                { url = "https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759", size = 65451 },
         | 
| 1519 | 
             
            ]
         | 
| 1520 |  | 
| 1521 | 
             
            [[package]]
         |