Mandrindra ny fantsona LLM lehibe miaraka amin'ny DSPy sy LangChain ho an'ny DevOps nohatsaraina
Fampidirana
Ny fahatongavan'ny Large Language Models (LLMs) dia nanova ny sehatry ny Natural Language Processing (NLP) sy Artificial Intelligence (AI). Na izany aza, rehefa mitombo ny fahasarotana sy ny halehiben'ny rafitra mifototra amin'ny LLM, dia mitombo koa ny filàna fitaovana orkestra sy automatique matanjaka sy mahomby. Ato amin'ity lahatsoratra ity, isika dia hiditra ao amin'ny tontolon'ny DSPy sy LangChain, rafitra roa matanjaka izay ahafahan'ny fananganana rafitra rindrambaiko matanjaka sy azo ekena amin'ny vanim-potoanan'ny AI.
Ny fanamby amin'ny fantsona LLM lehibe
Ny fantsona LLM midadasika dia misy singa marobe, ao anatin'izany ny fanodinana data, fanofanana modely ary inference. Mety ho sarotra ireo fantsona ireo, miaraka amin'ny fiankinan-doha sy fifandraisana maro eo amin'ireo singa samihafa. Rehefa mitombo ny halehiben'ireo fantsona ireo, dia mitombo koa ny mety hisian'ny hadisoana, ny fahatarana ary ny tsy fahampian'ny loharanon-karena.
Ampidiro DSPy sy LangChain
DSPy sy LangChain dia rafitra roa mikendry ny hanatsotra ny orkestra sy ny automatique ny fantsona LLM lehibe. DSPy dia rafitra mifototra amin'ny Python izay manome fomba tsotra sy mahomby amin'ny fananganana sy fitantanana ny fantsona angon-drakitra sarotra, raha toa kosa ny LangChain dia rafitra ahafahan'ny fananganana rafitra AI miendrika sy maharitra.
DSPy: Framework mifototra amin'ny Python ho an'ny fantsona data
DSPy dia rafitra mifototra amin'ny Python izay manome fomba tsotra sy mahomby amin'ny fananganana sy fitantanana ireo fantsona angon-drakitra sarotra. Miaraka amin'ny DSPy, ny mpamorona dia afaka mamorona fantsona angon-drakitra izay azo esorina, maharitra ary mora karakaraina.
Ity misy ohatra iray amin'ny fantsona angon-drakitra tsotra namboarina tamin'ny DSPy:
manafatra dspy ho dsp
data_source = dsp.Source(
name="my_data_source",
type="csv",
path="/path/to/data.csv"
)
# Farito ny processeur data
data_processor = dsp.Processor(
name="my_data_processor",
type="pandas",
func=lambda x: x.dropna()
)
# Farito ny fisintahana data
data_sink = dsp.Sink(
anarana="my_data_sink",
type="csv",
path="/path/to/output.csv"
)
# Mamorona fantsona data
fantsona = dsp.Pipeline(
anarana="my_pipeline",
loharano=[loharano_databatra],
processeurs=[data_processor],
milentika=[data_sink]
)
# Mandehana ny fantsona
pipeline.run()
Amin'ity ohatra ity, dia mamaritra loharano angona, processeur data, ary dobo data, ary avy eo mamorona fantsona data mampifandray ireo singa ireo. Ny fantsona dia mandeha amin'ny alàlan'ny fomba run().
LangChain: Rafitra iray ho an'ny rafitra AI azo havaozina sy maharitra
LangChain dia rafitra iray ahafahan'ny fananganana rafitra AI mivelatra sy maharitra. Miaraka amin'ny LangChain, ny mpamorona dia afaka mamorona rafitra AI izay mora tazonina, azo ampitomboina ary mahazaka ny tsy fahombiazana.
Ity misy ohatra iray amin'ny rafitra AI tsotra natsangana tamin'ny LangChain:
manafatra langchain ho lc
# Farito modely
modely = lc.Model(
anarana="my_model",
type="transformer",
path="/path/to/model"
)
# Farito ny bitsika
prompt = lc. Prompt(
anarana="my_prompt",
text="Ity dia santionany bitsika"
)
# Mamorona rafitra AI
ai_system = lc.AISystem(
anarana="my_ai_system",
modely = modely,
prompt=prompt
)
# Mandehana ny rafitra AI
ai_system.run()
Amin'ity ohatra ity dia mamaritra modely, bitsika, ary avy eo mamorona rafitra AI izay mampifandray ireo singa ireo. Ny rafitra AI dia mandeha amin'ny alàlan'ny fomba run().
Mandrindra ny fantsona LLM lehibe miaraka amin'ny DSPy sy LangChain
Mba handrindrana ny fantsona LLM lehibe miaraka amin'ny DSPy sy LangChain dia afaka mampiasa ity fomba manaraka ity isika:
- Farito ny fantsona angon-drakitra mampiasa DSPy izay mampifandray loharanon-kevitra, processeur, ary rendrika maro.
- Farito ny rafitra AI mampiasa LangChain izay mampifandray modely maro, bitsika ary vokatra.
- Ampiasao ny DSPy hitantana ny fantsona data ary LangChain hitantana ny rafitra AI.
- Mampiasà fandaharam-potoana toy ny Apache Airflow na Kubernetes handaminana ny fanatanterahana ny fantsona data sy ny rafitra AI.
Ity misy ohatra amin'ny script orkestra tsotra izay mampiasa DSPy sy LangChain:
manafatra dspy ho dsp
manafatra langchain ho lc
manafatra apache_airflow ho af
# Farito ny fantsona data
data_pipeline = dsp.Pipeline(
name="my_data_pipeline",
loharano=[dsp.Source(name="my_data_source", type="csv", path="/path/to/data.csv")],
processeurs=[dsp.Processor(name="my_data_processor", type="pandas", func=lambda x: x.dropna())],
milentika=[dsp.Sink(name="my_data_sink", type="csv", path="/path/to/output.csv")]
)
# Farito ny rafitra AI
ai_system = lc.AISystem(
anarana="my_ai_system",
model=lc.Model(name="my_model", type="transformer", path="/path/to/model"),
prompt=lc.Prompt(name="my_prompt", text="Santionany bitsika ity")
)
# Manomàna ny fanatanterahana ny fantsona data sy ny rafitra AI
af.schedule_task(
task_id="my_task",
dag_id="my_dag",
pipeline=data_pipeline,
system=ai_system
)
Amin'ity ohatra ity dia mamaritra ny fantsona data sy ny rafitra AI mampiasa DSPy sy LangChain izahay, ary avy eo dia mandamina ny famonoana ireo singa ireo amin'ny fampiasana Apache Airflow.
Didy/Snippet 5-10 ambony indrindra
Ireto ny baiko / snippets 5-10 ambony indrindra ho an'ny DSPy sy LangChain:
dsp.Pipeline(name="my_pipeline", source=[source], processeurs=[processeur], sinks=[sink])lc.Model(name="my_model", type="transformer", path="/path/to/model")lc.Prompt(name="my_prompt", text="Santionany bitsika ity")dsp.Source(name="my_data_source", type="csv", path="/path/to/data.csv")dsp.Processor(name="my_data_processor", type="pandas", func=lambda x: x.dropna())dsp.Sink(name="my_data_sink", type="csv", path="/path/to/output.csv")lc.AISystem(name="my_ai_system", model=model, prompt=prompt)af.schedule_task(task_id="my_task", dag_id="my_dag", pipeline=pipeline, system=system)dsp.run_pipeline(pipeline)lc.run_system(system)
Visualization
Ity misy sary momba ny rafitra DSPy sy LangChain amin'ny fampiasana Chart.js:
{
"type": "bar",
"data": {
"labels": ["DSPy", "LangChain"],
"datasets": [
{
"label": "Endri-javatra",
"data": [10, 15],
"loko loko": [
"rgba(255, 99, 132, 0.2)",
"rgba(54, 162, 235, 0.2)"
],
"BorderColor": [
"rgba(255, 99, 132, 1)",
"rgba(54, 162, 235, 1)"
],
"BorderWidth": 1
}
]
},
"safidy": {}
}
Ity sary ity dia mampiseho ny isan'ny endri-javatra ao amin'ny DSPy sy LangChain.
Famaranana
Ho fehin-kevitra, DSPy sy LangChain dia rafitra roa matanjaka izay ahafahan'ny fananganana rafitra rindrambaiko matanjaka sy azo esorina amin'ny taonan'ny AI. Amin'ny alàlan'ny fampiasana ireo rafitra ireo, ny mpamorona dia afaka mamorona fantsona LLM midadasika izay mora karakaraina, azo esorina ary mahatohitra ny tsy fahombiazana. Miaraka amin'ny fanampian'ny orkestra sy fitaovana automatique toy ny Apache Airflow sy Kubernetes, ny mpamorona dia afaka mandamina ny fanatanterahana ireo fantsona sy rafitra ireo, izay manamora ny fitantanana ny rafitra AI sarotra.
Asa ho avy
Ny asa ho avy dia ahitana:
- Famolavolana endri-javatra bebe kokoa ho an'ny DSPy sy LangChain.
- Fanatsarana ny fahombiazan'ny DSPy sy ny LangChain.
- Mamolavola fitaovana orkestra sy automatique bebe kokoa ho an'ny DSPy sy LangChain.
- Mamorona sary sy dashboard bebe kokoa ho an'ny DSPy sy LangChain.
Reference
- Taratasy DSPy: https://dspy.readthedocs.io/en/latest/
- antontan-taratasy LangChain: https://langchain.readthedocs.io/en/latest/
- Taratasy Apache Airflow: https://airflow.apache.org/docs/apache-airflow/stable/index.html
- antontan-taratasy Kubernetes: https://kubernetes.io/docs/home/