Spaces:
Sleeping
Sleeping
import base64 | |
import os | |
os.environ["HF_TOKEN"] = os.getenv("HF_TOKEN") | |
from smolagents import CodeAgent, HfApiModel | |
from faq_retriever import faq_tool | |
from tools import search_tool | |
import gradio as gr | |
from opentelemetry.sdk.trace import TracerProvider | |
from opentelemetry.sdk.trace.export import SimpleSpanProcessor | |
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter | |
from opentelemetry import trace | |
from openinference.instrumentation.smolagents import SmolagentsInstrumentor | |
model = HfApiModel() | |
faq_bot = CodeAgent( | |
tools=[faq_tool, search_tool], | |
model=model, | |
planning_interval=3 | |
) | |
def ask_bot(question): | |
return faq_bot.run(question) | |
#LANGFUSE | |
LANGFUSE_PUBLIC_KEY = "pk-lf-c59ee623-3a51-4e53-b07c-1cbe0643b3f9" | |
LANGFUSE_SECRET_KEY = "sk-lf-4f3adebf-6428-473d-8599-71d030b390a6" | |
LANGFUSE_HOST = "https://cloud.langfuse.com" | |
os.environ["LANGFUSE_PUBLIC_KEY"] = LANGFUSE_PUBLIC_KEY | |
os.environ["LANGFUSE_SECRET_KEY"] = LANGFUSE_SECRET_KEY | |
os.environ["LANGFUSE_HOST"] = LANGFUSE_HOST | |
auth = base64.b64encode(f"{LANGFUSE_PUBLIC_KEY}:{LANGFUSE_SECRET_KEY}".encode()).decode() | |
os.environ["OTEL_EXPORTER_OTLP_ENDPOINT"] = f"{LANGFUSE_HOST}/api/public/otel" | |
os.environ["OTEL_EXPORTER_OTLP_HEADERS"] = f"Authorization=Basic {auth}" | |
# Create the tracer provider | |
provider = TracerProvider() | |
processor = SimpleSpanProcessor(OTLPSpanExporter()) | |
provider.add_span_processor(processor) | |
trace.set_tracer_provider(provider) | |
# Instrument Smolagents | |
SmolagentsInstrumentor().instrument(tracer_provider=provider) | |
#GRADIO | |
demo = gr.Interface( | |
fn=ask_bot, | |
inputs="text", | |
outputs="text", | |
title="π Company FAQ Assistant", | |
description="Ask about APIs, onboarding, security, and operations." | |
) | |
demo.launch() | |