Views
No views yet
1import torch, textwrap
2from transformers import AutoTokenizer, AutoModelForCausalLM, GenerationConfig, pipeline
3from langchain import HuggingFacePipeline, PromptTemplate
4from langchain.chains import LLMChain
5
6model_name = "voxreality/mistral-7B-navigation-new-instructions"
7
8user_msg = "I need to go to the social area."
9knowledge = "start, turn left, crossing yellow sphere left, arrive wall opening, turn left, turn right, pass corridor, crossing magenta sphere left, arrive conference room, finish"
10
11tokenizer = AutoTokenizer.from_pretrained(model_name, use_fast=True)
12model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.float16, trust_remote_code=True, device_map="auto")
13
14generation_config = GenerationConfig.from_pretrained(model_name)
15generation_config.max_new_tokens = 1024
16generation_config.temperature = 0.0001
17generation_config.top_p = 0.95
18generation_config.do_sample = True
19generation_config.repetition_penalty = 1.15
20
21text_pipeline = pipeline("text-generation", model=model, tokenizer=tokenizer, generation_config=generation_config)
22llm = HuggingFacePipeline(pipeline=text_pipeline, model_kwargs={"temperature": 0})
23
24text_pipeline = pipeline(
25 "text-generation",
26 model=model,
27 tokenizer=tokenizer,
28 generation_config=generation_config)
29
30model = HuggingFacePipeline(pipeline=text_pipeline, model_kwargs={"temperature": 0})
31
32prompt = textwrap.dedent("""
33 [INST] <>
34 You are a navigation assistant at a conference venue. Your task is to guide users to specific locations within the venue, including "booth 1", "booth 2", "booth 3", "booth 4", "social area", "exit", "business room", and "conference room".
35
36 - For clear directions, respond with numbered steps using the details provided in the 'knowledge' field.
37 - Ensure to translate the directions from the 'knowledge' field into a user-friendly format with clear, numbered steps."
38 "" \n\n
39 <>
40
41 ### input: {input}
42
43 ### knowledge: {knowledge}
44
45 [/INST]
46 """)
47
48prompt = PromptTemplate(input_variables=["input", "knowledge"], template= prompt)
49chain = LLMChain(llm=model, prompt=prompt)
50
51print(chain.run(input=user_msg, knowledge=knowledge))
52