import requests import json class BingChatAPI: def __init__(self, base_url="https://devsdocode-bing.hf.space"): self.base_url = base_url def generate(self, conversation_history, realtime=False, md_format=True, convo_tone="Balanced"): """ Generate a response using the Bing Chat API. Args: conversation_history (list or str): A list of message objects or a string query. realtime (bool): Whether to stream the response in real-time. convo_tone (str): The desired conversational style or tone. - Balanced - Creative - Precise md_format (bool): Whether to format the response in Markdown. Returns: dict: The API response. """ endpoint = f"{self.base_url}/generate" if isinstance(conversation_history, str): conversation_history = [{"role": "user", "content": conversation_history}] params = { "conversation_history": json.dumps(conversation_history), "realtime": str(realtime).lower(), "md_format": str(md_format).lower(), "convo_tone": convo_tone } response = requests.get(endpoint, params=params) response.raise_for_status() # Raise an exception for bad status codes return response.json() def get_available_models(self): """Get the list of available models.""" endpoint = f"{self.base_url}/available_models" response = requests.get(endpoint) response.raise_for_status() return response.json() def get_endpoints(self): """Get the list of available endpoints.""" endpoint = f"{self.base_url}/endpoints" response = requests.get(endpoint) response.raise_for_status() return response.json() def get_developer_info(self): """Get the developer information.""" endpoint = f"{self.base_url}/developer_info" response = requests.get(endpoint) response.raise_for_status() return response.json() # Example usage if __name__ == "__main__": api = BingChatAPI() # Generate a response conversation = [ {"role": "user", "content": "My name is Devs Do Code"}, {"role": "assistant", "content": "**Devs Do Code** is a platform dedicated to providing resources and tutorials on AI and Python programming. His Owner is Sreejan. They have a YouTube channel where they share unique Python projects, tutorials, and showcases of their AI developments[^1^]. One of their notable projects is **AI4Free**, a Python library that offers free access to various large language models without requiring API keys or fees[^2^].\n\nYou can explore their content on their [YouTube channel](https://www.youtube.com/@DevsDoCode) and check out their projects on [GitHub](https://github.com/Devs-Do-Code)[^1^][^2^]. If you're interested in AI and Python, their resources could be quite valuable!"}, {"role": "user", "content": "What is the Owner?"} ] response = api.generate(conversation) print("Generated Response:", response) # Get available models models = api.get_available_models() print("Available Models:", models) # Get endpoints endpoints = api.get_endpoints() print("Endpoints:", endpoints) # Get developer info dev_info = api.get_developer_info() print("Developer Info:", dev_info)