Spaces:
Sleeping
Sleeping
| import os | |
| from dotenv import load_dotenv | |
| load_dotenv() | |
| from langchain_groq import ChatGroq | |
| from langchain_community.document_loaders import PyPDFLoader | |
| from langchain_openai import ChatOpenAI | |
| from typing import Dict, List, Any, Tuple, Optional, Type | |
| from crewai import LLM | |
| ######################################################################################################### | |
| # formatage du json | |
| def format_cv(document): | |
| def format_section(title, data, indent=0): | |
| prefix = " " * indent | |
| lines = [f"{title}:"] | |
| if isinstance(data, dict): | |
| for k, v in data.items(): | |
| if isinstance(v, (dict, list)): | |
| lines.append(f"{prefix}- {k.capitalize()}:") | |
| lines.extend(format_section("", v, indent + 1)) | |
| else: | |
| lines.append(f"{prefix}- {k.capitalize()}: {v}") | |
| elif isinstance(data, list): | |
| for i, item in enumerate(data): | |
| lines.append(f"{prefix}- Élément {i + 1}:") | |
| lines.extend(format_section("", item, indent + 1)) | |
| else: | |
| lines.append(f"{prefix}- {data}") | |
| return lines | |
| sections = [] | |
| for section_name, content in document.items(): | |
| title = section_name.replace("_", " ").capitalize() | |
| sections.extend(format_section(title, content)) | |
| sections.append("") | |
| return "\n".join(sections) | |
| def read_system_prompt(file_path): | |
| with open(file_path, 'r', encoding='utf-8') as file: | |
| return file.read() | |
| def load_pdf(pdf_path): | |
| loader = PyPDFLoader(pdf_path) | |
| pages = loader.load_and_split() | |
| cv_text = "" | |
| for page in pages: | |
| cv_text += page.page_content + "\n\n" | |
| return cv_text | |
| ######################################################################################################### | |
| # modéles | |
| """GEMINI_API_KEY = os.getenv("GOOGLE_API_KEY") | |
| model_google = "gemini/gemma-3-27b-it" | |
| def chat_gemini(): | |
| llm = ChatGoogleGenerativeAI("gemini/gemma-3-27b-it")""" | |
| OPENAI_API_KEY = os.getenv("OPENAI_API_KEY") | |
| model_openai = "gpt-4o" | |
| def crew_openai(): | |
| llm = ChatOpenAI( | |
| model="gpt-4o-mini", | |
| temperature=0.1, | |
| api_key=OPENAI_API_KEY | |
| ) | |
| return llm | |
| def chat_openai(): | |
| llm = ChatOpenAI( | |
| model="gpt-4o", | |
| temperature=0.6, | |
| api_key=OPENAI_API_KEY | |
| ) | |
| return llm | |