| from langchain_groq import ChatGroq |
| from dotenv import load_dotenv |
| from typing import Optional |
| import os |
|
|
|
|
|
|
| class LlamaModel: |
| """ |
| This class is used to interact with the Llama LLM models for text generation. |
| |
| Args: |
| model: The name of the model to be used. Defaults to 'gemini-pro'. |
| max_output_tokens: The maximum number of tokens to generate. Defaults to 1024. |
| top_p: The probability of generating the next token. Defaults to 1.0. |
| temperature: The temperature of the model. Defaults to 0.0. |
| top_k: The number of top tokens to consider. Defaults to 5. |
| """ |
|
|
| def __init__(self, |
| model: Optional[str] = 'llama3-70b-8192', |
| ): |
| |
| |
| load_dotenv() |
| |
| self.model = llm = ChatGroq(groq_api_key = os.getenv('groq_llama70_key'),model = model) |
| |
|
|
| def execute(self, prompt: str) -> str: |
| |
| try: |
| response = self.model.invoke(prompt) |
| res=response.content |
| meta=response.response_metadata |
| return {'text':res,'meta':meta} |
| except Exception as e: |
| return f"An error occurred: {e}" |