code: def test_langfuse_logging_tool_calling():
      litellm.set_verbose = True
  
      def get_current_weather(location, unit="fahrenheit"):
          """Get the current weather in a given location"""
          if "tokyo" in location.lower():
              return json.dumps(
                  {
                      "location": "Tokyo",
                      "temperature": "10",
                      "unit": "celsius",
                  }
              )
          elif "san francisco" in location.lower():
              return json.dumps(
                  {
                      "location": "San Francisco",
                      "temperature": "72",
                      "unit": "fahrenheit",
                  }
              )
          elif "paris" in location.lower():
              return json.dumps(
                  {
                      "location": "Paris",
                      "temperature": "22",
                      "unit": "celsius",
                  }
              )
          else:
              return json.dumps(
                  {"location": location, "temperature": "unknown"}
              )
  
      messages = [
          {
              "role": "user",
              "content": "What's the weather like in San Francisco, Tokyo, and Paris?",
          }
      ]
      tools = [
          {
              "type": "function",
              "function": {
                  "name": "get_current_weather",
                  "description": "Get the current weather in a given location",
                  "parameters": {
                      "type": "object",
                      "properties": {
                          "location": {
                              "type": "string",
                              "description": "The city and state, e.g. San Francisco, CA",
                          },
                          "unit": {
                              "type": "string",
                              "enum": ["celsius", "fahrenheit"],
                          },
                      },
                      "required": ["location"],
                  },
              },
          }
      ]
  
      response = litellm.completion(
          model="gpt-3.5-turbo-1106",
          messages=messages,
          tools=tools,
          tool_choice="auto",  # auto is default, but we'll be explicit
      )
      print("\nLLM Response1:\n", response)
      response_message = response.choices[0].message
      tool_calls = response.choices[0].message.tool_calls
  
file_path: litellm/litellm/tests/test_alangfuse.py
imports: import json
  import sys
  import os
  import io, asyncio
  import logging
  from litellm import completion
  import litellm
  import time
  import pytest
label_desc: Use image node_id 8 for calling a global function with example usage: test_langfuse_logging_tool_calling() and returns: json, json, json, json