ddewaele's picture
updates
218536f
from doctest import debug
import yaml
from smolagents import (
load_tool,
CodeAgent,
HfApiModel,
VisitWebpageTool,
)
from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from openinference.instrumentation.smolagents import SmolagentsInstrumentor
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
from opentelemetry.sdk.trace.export import ConsoleSpanExporter, SimpleSpanProcessor
from gradio_ui import GradioUI
endpoint = "http://0.0.0.0:6006/v1/traces"
trace_provider = TracerProvider()
trace_provider.add_span_processor(SimpleSpanProcessor(OTLPSpanExporter(endpoint)))
SmolagentsInstrumentor().instrument(tracer_provider=trace_provider)
model_id='Qwen/Qwen2.5-Coder-32B-Instruct'
# model_id='meta-llama/Llama-3.3-70B-Instruct'
model = HfApiModel(
max_tokens=200,
temperature=0.5,
model_id=model_id,
custom_role_conversions=None,
)
# Import tool from Hub
image_generation_tool = load_tool("m-ric/text-to-image", trust_remote_code=True)
model = HfApiModel(model_id)
visitWebpageTool = VisitWebpageTool()
with open("prompts.yaml", 'r') as stream:
prompt_templates = yaml.safe_load(stream)
examples = [
[{"text": "what are AI agents ?"}],
[{"text": "how are tools used and how do they fit in ?"}],
[{"text": "What do you know about tokenization"}],
[{"text": "What do you know about ReAct ?"}],
[{"text": "What are special tokens ?"}],
[{"text": "What are actions ?"}],
[{"text": "What is the role of an LLM ?"}],
[{"text": "What are some of the topics covered in the course ?"}],
]
# Initialize the agent with the image generation tool
agent = CodeAgent(tools=[visitWebpageTool, image_generation_tool], model=model, prompt_templates=prompt_templates)
gr = GradioUI(agent).launch()
# Loop over each example and call agent.run() with the text
# for prompt in prompts:
# text = prompt[0]["text"]
# response = agent.run(text)
# print(f"Input: {text}\nResponse: {response}\n")
# messages = gr.State([])
# messages.append(gr.ChatMessage(role="assistant", content="testing"))