Adds chat completion... but this doesn't work right
This commit is contained in:
1 parent
c4b6bab452
commit
ac9cd831a5
3 files changed
+62
No files matched your search
@@ -0,0 +1,41 @@
|
||||
# Plugin for bot LLM chat
|
||||
from discord.ext import commands
|
||||
import discord
|
||||
import yaml
|
||||
import random
|
||||
import os
|
||||
import llm
|
||||
|
||||
plugin_folder=os.path.dirname(os.path.realpath(__file__))
|
||||
prompts_folder=os.path.join(plugin_folder, 'prompts')
|
||||
default_prompt="default.txt"
|
||||
config_filename=os.path.join(plugin_folder, 'settings.yaml')
|
||||
llm_data = {}
|
||||
|
||||
async def get_chat_history(ctx, limit=20):
|
||||
messages = [message async for message in ctx.channel.history(limit=limit)]
|
||||
plain_messages = list(map(lambda m: f"{m.author.name}: {m.content}", messages))
|
||||
plain_messages.reverse()
|
||||
return plain_messages
|
||||
|
||||
@commands.command(name='llm')
|
||||
async def llm_response(ctx):
|
||||
prompt_file = os.path.join(prompts_folder, default_prompt)
|
||||
with open(prompt_file, 'r') as prompt_file:
|
||||
prompt = prompt_file.read()
|
||||
history_arr = await get_chat_history(ctx)
|
||||
history_str = '\n'.join(history_arr)
|
||||
full_prompt = prompt.replace("<CONVHISTORY>", history_str)
|
||||
response = llm_data["model"].prompt(full_prompt)
|
||||
print(response)
|
||||
|
||||
async def setup(bot):
|
||||
with open(config_filename, 'r') as conf_file:
|
||||
yaml_config = yaml.safe_load(conf_file)
|
||||
model = llm.get_model("gpt-3.5-turbo-instruct")
|
||||
model.key = yaml_config["api_key"]
|
||||
model.api_base = yaml_config["api_base"]
|
||||
model.completion = True
|
||||
llm_data["model"] = model
|
||||
bot.add_command(llm_response)
|
||||
print("LLM interface initialized")
|
||||
Reference in new issue
Block a user