mirror of
https://github.com/mudler/LocalAI.git
synced 2024-12-25 07:11:03 +00:00
46 lines
1.6 KiB
Python
46 lines
1.6 KiB
Python
import os
|
|
import logging
|
|
|
|
from langchain.chat_models import ChatOpenAI
|
|
from langchain import PromptTemplate, LLMChain
|
|
from langchain.prompts.chat import (
|
|
ChatPromptTemplate,
|
|
SystemMessagePromptTemplate,
|
|
AIMessagePromptTemplate,
|
|
HumanMessagePromptTemplate,
|
|
)
|
|
from langchain.schema import (
|
|
AIMessage,
|
|
HumanMessage,
|
|
SystemMessage
|
|
)
|
|
|
|
# This logging incantation makes it easy to see that you're actually reaching your LocalAI instance rather than OpenAI.
|
|
logging.basicConfig(level=logging.DEBUG)
|
|
|
|
print('Langchain + LocalAI PYTHON Tests')
|
|
|
|
base_path = os.environ.get('OPENAI_API_BASE', 'http://api:8080/v1')
|
|
key = os.environ.get('OPENAI_API_KEY', '-')
|
|
model_name = os.environ.get('MODEL_NAME', 'gpt-3.5-turbo')
|
|
|
|
|
|
chat = ChatOpenAI(temperature=0, openai_api_base=base_path, openai_api_key=key, model_name=model_name, max_tokens=100)
|
|
|
|
print("Created ChatOpenAI for ", chat.model_name)
|
|
|
|
template = "You are a helpful assistant that translates {input_language} to {output_language}. The next message will be a sentence in {input_language}. Respond ONLY with the translation in {output_language}. Do not respond in {input_language}!"
|
|
system_message_prompt = SystemMessagePromptTemplate.from_template(template)
|
|
human_template = "{text}"
|
|
human_message_prompt = HumanMessagePromptTemplate.from_template(human_template)
|
|
|
|
chat_prompt = ChatPromptTemplate.from_messages([system_message_prompt, human_message_prompt])
|
|
|
|
print("ABOUT to execute")
|
|
|
|
# get a chat completion from the formatted messages
|
|
response = chat(chat_prompt.format_prompt(input_language="English", output_language="French", text="I love programming.").to_messages())
|
|
|
|
print(response)
|
|
|
|
print("."); |