kdamevski's picture
Upload folder using huggingface_hub
f6d53eb
import os
from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate
from langchain.prompts.few_shot import FewShotPromptTemplate
from langchain.chains import LLMChain
from langchain.chains import SimpleSequentialChain
from prompts import prompt_transcribe, prompt_command, examples_few_shot
class FewShot4UAVs:
def __init__(self) -> None:
self.llm = OpenAI(model_name="text-davinci-003", temperature=0.0)
def get_transcription(self, text):
transcribe_prompt = PromptTemplate(
input_variables=["text"],
template=prompt_transcribe
)
sentence_chain = LLMChain(llm=self.llm,
prompt=transcribe_prompt,
output_key="sentence")
return sentence_chain
def format_command(self, chain):
command = PromptTemplate(
input_variables=["sentence", "command"],
template="sentence: {sentence}\n{command}"
)
few_shot_prompt = FewShotPromptTemplate(
examples=examples_few_shot,
example_prompt=command,
suffix="sentence: {sentence}",
input_variables=["sentence"]
)
command_chain = LLMChain(llm=self.llm, prompt=few_shot_prompt, output_key="output")
sentence_chain = chain
sentence_command_chain = SimpleSequentialChain(
chains=[sentence_chain, command_chain], verbose=True
)
return sentence_command_chain
def to_file(self, text):
try:
with open("commands.txt", "w") as f:
f.write(text)
print("Command successfully written to the file.")
except Exception as e:
print(f"Error: {e}")
def get_command(self, text):
command = self.format_command(self.get_transcription(text))
self.to_file(command.run(text))
return command.run(text)