12345678910111213141516171819202122232425262728293031323334353637 |
- from typing import List, Dict, Any, Optional
- from langchain import LLMChain as LCLLMChain
- from langchain.callbacks.manager import CallbackManagerForChainRun
- from langchain.schema import LLMResult, Generation
- from langchain.schema.language_model import BaseLanguageModel
- from core.model_providers.models.entity.message import to_prompt_messages
- from core.model_providers.models.llm.base import BaseLLM
- from core.third_party.langchain.llms.fake import FakeLLM
- class LLMChain(LCLLMChain):
- model_instance: BaseLLM
- """The language model instance to use."""
- llm: BaseLanguageModel = FakeLLM(response="")
- def generate(
- self,
- input_list: List[Dict[str, Any]],
- run_manager: Optional[CallbackManagerForChainRun] = None,
- ) -> LLMResult:
- """Generate LLM result from inputs."""
- prompts, stop = self.prep_prompts(input_list, run_manager=run_manager)
- messages = prompts[0].to_messages()
- prompt_messages = to_prompt_messages(messages)
- result = self.model_instance.run(
- messages=prompt_messages,
- stop=stop
- )
- generations = [
- [Generation(text=result.content)]
- ]
- return LLMResult(generations=generations)
|