Spaces:
Running
Running
import json | |
import requests | |
from typing import Union | |
def generate(message: str, model: str='meta-llama/Meta-Llama-3-70B-Instruct', system_prompt: str = "Be Helpful and Friendly. Keep your response straightfoward, short and concise", max_tokens: int = 512, temperature: float = 0.7) -> Union[str, None]: | |
""" | |
Utilizes a variety of large language models (LLMs) to engage in conversational interactions. | |
Parameters: | |
- model (str): The name or identifier of the LLM to be used for conversation. Available models include: | |
- "meta-llama/Meta-Llama-3-70B-Instruct" | |
- "meta-llama/Meta-Llama-3-8B-Instruct" | |
- "mistralai/Mixtral-8x22B-Instruct-v0.1" | |
- "mistralai/Mixtral-8x22B-v0.1" | |
- "microsoft/WizardLM-2-8x22B" | |
- "microsoft/WizardLM-2-7B" | |
- "HuggingFaceH4/zephyr-orpo-141b-A35b-v0.1" | |
- "google/gemma-1.1-7b-it" | |
- "databricks/dbrx-instruct" | |
- "mistralai/Mixtral-8x7B-Instruct-v0.1" | |
- "mistralai/Mistral-7B-Instruct-v0.2" | |
- "meta-llama/Llama-2-70b-chat-hf" | |
- "cognitivecomputations/dolphin-2.6-mixtral-8x7b" | |
- message (str): The message to be sent to the LLM to initiate or continue the conversation. | |
- system_prompt (str): Optional. The initial system message to start the conversation. Defaults to "Talk Like Shakespeare". | |
Returns: | |
- Union[str, None]: The response message from the LLM if successful, otherwise None. | |
""" | |
url = "https://api.deepinfra.com/v1/openai/chat/completions" | |
headers ={ | |
"Authorization" : "Bearer jwt:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJnaDoxMjE3NTEyOTkiLCJleHAiOjE3MTcwODExMzN9.L51dMtUEJgsWb684EkNAyXIsznZqyJWdrbcPboM2ZgI" | |
} | |
data = json.dumps( | |
{ | |
'model': model, | |
'messages': [{"role": "system", "content": system_prompt}] + [{"role": "user", "content": message}] , | |
'temperature': temperature, | |
'max_tokens': max_tokens, | |
'stop': [], | |
'stream': False | |
}, separators=(',', ':') | |
) | |
try: | |
result = requests.post(url=url, headers=headers, data=data) | |
return result.json()['choices'][0]['message']['content'] | |
except Exception as e: | |
print("Error:", e) | |
return None | |
if __name__ == "__main__": | |
model_names = [ | |
"meta-llama/Meta-Llama-3-70B-Instruct", | |
"meta-llama/Meta-Llama-3-8B-Instruct", | |
"mistralai/Mixtral-8x22B-Instruct-v0.1", | |
"mistralai/Mixtral-8x22B-v0.1", | |
"microsoft/WizardLM-2-8x22B", | |
"microsoft/WizardLM-2-7B", | |
"HuggingFaceH4/zephyr-orpo-141b-A35b-v0.1", | |
"google/gemma-1.1-7b-it", | |
"databricks/dbrx-instruct", | |
"mistralai/Mixtral-8x7B-Instruct-v0.1", | |
"mistralai/Mistral-7B-Instruct-v0.2", | |
"meta-llama/Llama-2-70b-chat-hf", | |
"cognitivecomputations/dolphin-2.6-mixtral-8x7b" | |
] | |
for name in model_names: | |
messages = "Introduce yourself and tell who made you and about your owner company" # Add more messages as needed | |
response = generate(name, messages, system_prompt="Respond very concisely and shortly") | |
print(f"• Model: {name} -", response) |