File size: 2,471 Bytes
a8ee0db |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
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
|