rag.py 717 B

1234567891011121314151617181920212223
  1. # -*- coding: utf-8 -*-
  2. from .__load__ import *
  3. from langchain_core.language_models.chat_models import HumanMessage
  4. from langchain_core.prompts import ChatPromptTemplate
  5. from langchain_core.output_parsers import StrOutputParser
  6. class Chat(object):
  7. chain = False
  8. def say(self, content):
  9. return [HumanMessage(content=content)]
  10. def set(self, prompts = []):
  11. chain = ChatPromptTemplate.from_messages(prompts)
  12. if not self.chain:
  13. self.chain = chain
  14. else:
  15. self.chain = self.chain | chain
  16. def out(self, handle, var = {}):
  17. chain = self.chain | handle | StrOutputParser()
  18. for chunk in chain.stream(var):
  19. print(chunk, end="")