import os import requests import json from ddtrace import patch_all from ddtrace.opentelemetry import TracerProvider, trace from opentelemetry import trace as ot_trace # Initialize Datadog tracing patch_all() provider = TracerProvider() ot_trace.set_tracer_provider(provider) tracer = ot_trace.get_tracer(__name__) # Set up environment variables os.environ['DD_LLMOBS_ENABLED'] = '1' os.environ['DD_LLMOBS_ML_APP'] = 'anything-api' os.environ['DD_LLMOBS_AGENTLESS_ENABLED'] = '1' # Ensure DD_API_KEY and DD_SITE are set in your environment variables @trace def send_message(message): url = 'https://severian-anything.hf.space/api/v1/workspace/Scoreboard/chat' headers = { 'accept': 'application/json', 'Authorization': 'Bearer TYQYM46-RPCMQ98-GCGJMNB-Q23K6HC', 'Content-Type': 'application/json' } data = { "message": message, "mode": "query" } data_json = json.dumps(data) with tracer.start_as_current_span("llm_api_call") as span: span.set_attribute("llm.request.model", "anything-api") span.set_attribute("llm.request.input", message) try: response = requests.post(url, headers=headers, data=data_json) response_data = response.json() bot_response = response_data.get("textResponse") span.set_attribute("llm.response.output", bot_response) if bot_response: print(f"Bot: {bot_response}") new_message = input("You: ") return new_message except requests.RequestException as e: span.record_exception(e) print(f"Request failed: {e}") return None except Exception as e: span.record_exception(e) print(f"An error occurred: {e}") return None if __name__ == "__main__": message = input("You: ") while message.lower() != "exit": message = send_message(message) print("Chat ended.")