File size: 1,328 Bytes
d48ca0f
 
 
ddd7620
d48ca0f
 
 
 
 
 
 
 
ddd7620
 
 
d48ca0f
 
 
 
 
ddd7620
d48ca0f
79a23f3
 
 
 
 
d48ca0f
ddd7620
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9ae7b02
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#import gradio as gr
#gr.load("models/mistralai/Mistral-7B-Instruct-v0.3").launch()
import os
import discord
import requests
from dotenv import load_dotenv

# Load the environment variables from the .env file
load_dotenv()

API_URL = "https://api-inference.huggingface.co/models/mistralai/Mistral-7B-Instruct-v0.3"
headers = {"Authorization": f"Bearer {os.getenv('HFREAD')}"}
DISCORD_TOKEN = os.getenv('dsTOK')

client = discord.Client()

def query(payload):
    response = requests.post(API_URL, headers=headers, json=payload)
    return response.json()

def get_response(input_text):
    response = query({"inputs": input_text})
    if isinstance(response, dict) and 'generated_text' in response:
        return response['generated_text']
    elif isinstance(response, list) and len(response) > 0 and 'generated_text' in response[0]:
        return response[0]['generated_text']
    return 'No response generated.'

@client.event
async def on_ready():
    print(f'We have logged in as {client.user}')

@client.event
async def on_message(message):
    if message.author == client.user:
        return

    if message.content.startswith('!chat'):
        input_text = message.content[len('!chat '):]
        response_text = get_response(input_text)
        await message.channel.send(response_text)

client.run(DISCORD_TOKEN)