import os from huggingface_hub import InferenceClient from langchain_community.tools import DuckDuckGoSearchRun import config def callWebSearch(query): return DuckDuckGo(query) def callLLM(query): if "LOCALLLM" in os.environ: return callLocalLLM(query) else: return callHfInferenceClientLLM(query) def DuckDuckGo(query): search_tool = DuckDuckGoSearchRun() results = search_tool.invoke(query) return results def callLocalLLM(query): response = OllamaChat(model=os.environ["LOCALLLM"], messages=[ { 'role': 'user', 'content': query } ]) return response['message']['content'] def callHfInferenceClientLLM(query): client = InferenceClient(config.hfMoldel) response = client.chat.completions.create( messages = [ {"role": "user", "content": query } ], stream=False, max_tokens=1024 ) return response.choices[0].message.content if __name__ == "__main__": os.environ["LOCALLLM"] = "llama3.2" from ollama import chat as OllamaChat response = callLLM("What is the capital of France?") print(response) response = callWebSearch("who is the president of France") print(response) response = callHfInferenceClientLLM("What is the capital of France?") print(response)