国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
介紹
概述
目錄
關(guān)于Langgraph的簡介
先決條件
通過API訪問LLM
獲取新聞數(shù)據(jù)
發(fā)送電子郵件
需要庫
定義應(yīng)用程序流
獲取新聞
得分新聞
解釋
首頁 科技周邊 人工智能 使用AI代理創(chuàng)建個(gè)性化的新聞?wù)?/span>

使用AI代理創(chuàng)建個(gè)性化的新聞?wù)?/h1> Apr 12, 2025 am 11:18 AM


介紹

大語言模型(LLM)的功能正在迅速發(fā)展。它們使我們能夠構(gòu)建各種LLM應(yīng)用程序。這些范圍從任務(wù)自動(dòng)化到工作流優(yōu)化。一個(gè)令人興奮的應(yīng)用程序是使用LLMS創(chuàng)建智能新聞文摘或新聞通訊代理。該代理可以提取相關(guān)內(nèi)容,總結(jié)它并以自定義格式交付。它可以與外部工具和數(shù)據(jù)源動(dòng)態(tài)交互以獲取相關(guān)信息。在本文中,讓我們學(xué)習(xí)如何使用Langgraph和News API(例如News API)為個(gè)性化的每日新聞?wù)獦?gòu)建新聞?wù)怼?/p>

使用AI代理創(chuàng)建個(gè)性化的新聞?wù)? ></p>
<h4 id=概述

  • 了解Langgraph及其關(guān)鍵組件(狀態(tài),節(jié)點(diǎn)和邊緣)的體系結(jié)構(gòu),以構(gòu)建可自定義的工作流代理。
  • 了解如何將新聞紙這樣的外部API集成以獲取新聞通訊中動(dòng)態(tài)內(nèi)容的實(shí)時(shí)數(shù)據(jù)。
  • 通過實(shí)施根據(jù)質(zhì)量標(biāo)準(zhǔn)對(duì)新聞文章進(jìn)行排名的評(píng)分系統(tǒng),開發(fā)使用LLM進(jìn)行內(nèi)容評(píng)估的技能。
  • 使用Python的電子郵件匯編庫將其自動(dòng)化電子郵件交付自動(dòng)化的實(shí)用知識(shí)。

目錄

  • 關(guān)于Langgraph的簡介
  • 先決條件
  • 定義應(yīng)用程序流
    • 獲取新聞
    • 得分新聞
    • 發(fā)送電子郵件
  • 建造代理
  • 常見問題

關(guān)于Langgraph的簡介

Langgraph建在Langchain的頂部。 Langgraph是一個(gè)框架,旨在構(gòu)建將LLM與自定義邏輯和工具集成的動(dòng)態(tài)工作流程。這允許高度定制且復(fù)雜的工作流程結(jié)合多個(gè)工具和API。

Langgraph由三個(gè)核心組成部分組成:

  1. 狀態(tài):狀態(tài)包含整個(gè)應(yīng)用程序中共享的數(shù)據(jù)??梢允侨魏慰梢猿钟袛?shù)據(jù)的Python數(shù)據(jù)結(jié)構(gòu)。我們可以使用具有不同參數(shù)的狀態(tài)對(duì)象來定義它。另外,我們還可以使用僅包含消息列表的預(yù)構(gòu)建的MessagessTate。
  2. 節(jié)點(diǎn):節(jié)點(diǎn)是可以讀取和修改狀態(tài)的函數(shù)。這些功能將狀態(tài)作為讀或?qū)懭霠顟B(tài)的第一個(gè)參數(shù)。我們還有一個(gè)開始節(jié)點(diǎn)來表示哪個(gè)節(jié)點(diǎn)將獲取用戶輸入,并首先稱為“表示圖”末尾的末端節(jié)點(diǎn)。
  3. 邊緣:邊緣通過不同的節(jié)點(diǎn)定義數(shù)據(jù)流。我們還具有有條件的邊緣,該邊緣使用函數(shù)來確定下一步要轉(zhuǎn)到哪個(gè)節(jié)點(diǎn)。 Langgraph的優(yōu)點(diǎn)是我們可以通過許多方式自定義代理。因此,可以有不止一種方法來構(gòu)建該代理。

使用AI代理創(chuàng)建個(gè)性化的新聞?wù)? ></p>
<p>如圖所示,邊緣連接節(jié)點(diǎn),節(jié)點(diǎn)在狀態(tài)中讀取或?qū)懭霐?shù)據(jù)。</p>
<p><em>另請(qǐng)閱讀:優(yōu)化組織與Genai代理商的電子郵件營銷</em></p>
<h2 id=先決條件

在開始構(gòu)建LLM代理之前,請(qǐng)確保我們擁有所需的鍵和密碼。

通過API訪問LLM

首先為您使用的LLM生成一個(gè)API鍵。創(chuàng)建一個(gè)名稱為“ .env”的文本文件。將此密鑰牢固地存儲(chǔ)在.env文件中,以使其私密且在項(xiàng)目中易于訪問。

這是一個(gè).env文件的示例

使用AI代理創(chuàng)建個(gè)性化的新聞?wù)? ></p>
<h4 id=獲取新聞數(shù)據(jù)

要收集新聞內(nèi)容,我們將使用https://newsapi.org/。注冊(cè)一個(gè)API鍵并將其存儲(chǔ)在同一.ENV文件中以進(jìn)行安全訪問。

發(fā)送電子郵件

要使用Python發(fā)送電子郵件,我們可以啟用“較不安全的應(yīng)用程序”,然后將Gmail密碼存儲(chǔ)在.ENV文件中。如果該選項(xiàng)不可用,我們可以按照此處提到的步驟訪問Gmail。

需要庫

我們已將以下版本用于主要庫:

  • Langchain - 0.2.14
  • Langgraph - 0.2.14
  • Langchain-Openai - 0.1.14
  • Newsapi-Python - 0.2.7

定義應(yīng)用程序流

目的是使用自然語言查詢代理商,以收集有關(guān)特定主題的新聞,并通過電子郵件獲取新聞通訊。為了實(shí)現(xiàn)此流程,我們將首先定義三個(gè)工具來處理每個(gè)關(guān)鍵任務(wù),然后構(gòu)建代理來調(diào)用LLM和工具。

這三個(gè)工具如下:

  1. 獲取新聞:新聞API根據(jù)解析的查詢檢索相關(guān)的新聞文章。
  2. 評(píng)分新聞:被提取的文章傳遞給另一個(gè)LLM,該法學(xué)碩士評(píng)估和評(píng)分為質(zhì)量。輸出是按其質(zhì)量得分排序的文章列表。
  3. 發(fā)表新聞:最高得分的文章將格式化為可讀的電子郵件,并發(fā)送給用戶。

現(xiàn)在,我們可以開始定義功能。

獲取新聞

導(dǎo)入必要的庫并加載.env文件

導(dǎo)入操作系統(tǒng) 
進(jìn)口JSON
導(dǎo)入大熊貓作為pd
從DateTime Import DateTime,TimeDelta
從ipython.display導(dǎo)入圖像,顯示
從輸入導(dǎo)入列表,文字,可選,打字,注釋
來自langchain_core.tools導(dǎo)入工具
來自langchain_openai進(jìn)口chatopenai

來自dotenv import load_dotenv

load_dotenv('/。env')

#替代.env文件,我們也可以使用.txt文件如下
用open('mykey.txt','r')作為文件:
    OpenAi_Key = file.read()
    
os.environ ['OpenAI_API_KEY'] = OpenAi_Key

從Newsapiclient和API鍵啟動(dòng)News_API

從Newsapi Import Newsapiclient

news_api_key = os.environ ['news_api_key']

news_api = newsapiclient(api_key = news_api_key)

現(xiàn)在,讓我們使用Langchain的“工具”裝飾器來定義Langchain工具

@工具
def get_news(查詢:str,past_days:int,域:str):
    ”“”
    獲取有關(guān)給定參數(shù)的新聞,例如查詢,過去_DAYS,等。
    args:
        查詢:有關(guān)此主題的搜索新聞
        過去_DAYS:過去應(yīng)該搜索幾天?
        域:這些資源中的搜索新聞
    ”“”
    今天= dateTime.today()
    from_date =今天-TimeDelta(days = past_days)
    news_details = news_api.get_everything(q =查詢,from_param = from_date,domains =域,
                                           sort_by ='相關(guān)性')
    返回news_details

代理還可以根據(jù)相關(guān)性對(duì)文章進(jìn)行分類。這是此功能的輸出的示例:

使用AI代理創(chuàng)建個(gè)性化的新聞?wù)? ></p>
<p> '@tool'裝飾器用于定義蘭鏈工具。然后,我們可以將此工具綁定到LLM。在上述功能中,DOC字符串也很重要。這就是將LLM傳遞給LLM的原因,以將這些參數(shù)放在工具稱呼LLM的輸出中。</p>
<pre class= #初始化LLM gpt = chatopenai(型號(hào)=“ gpt-4o-mini”,溫度= 0) #我們可以將工具綁定到LLM,以便LLM可以根據(jù)查詢返回工具。 gpt_with_tools = gpt.bind_tools([[get_news])

得分新聞

Score_news功能通過根據(jù)預(yù)定義的標(biāo)準(zhǔn)對(duì)新聞文章進(jìn)行評(píng)分來處理新聞文章。然后該函數(shù)返回最高質(zhì)量文章的排序列表。

導(dǎo)入所需的方法

來自langchain_core.pydantic_v1導(dǎo)入基本模型,字段
來自langchain_core.prompts導(dǎo)入chatprompttemplate,提示鍵盤
來自langchain_core.messages導(dǎo)入人類

讓我們定義功能

def score_news(news_details:dict):
    ”“”
    計(jì)算News_articles的分?jǐn)?shù),然后按得分進(jìn)行排序。
        news_details:所有新聞文章    
    
    ”“”
    #訪問國家的最后一條消息。
    #將所有文章傳遞給LLM將增加成本。 
    #我們可以選擇僅評(píng)分一些文章。
    json_articles = json.loads(news_details ['消息'] [ -  1] .content)
    如果len(json_articles)> 15:
        文章= json_articles [:15]
    別的:
        文章= json_articles
    
    #系統(tǒng)提示指導(dǎo)LLM評(píng)分文章。
    system_prompt =“”“”
    您是新聞質(zhì)量評(píng)估者。
    我將為您提供新聞文章,其中包含標(biāo)題,描述和截短的內(nèi)容和其他詳細(xì)信息。 
    根據(jù)以下標(biāo)準(zhǔn)分析和評(píng)分新聞文章:

    清晰度:文章以簡潔而可理解的方式傳達(dá)信息的程度。
        比例:1(不清楚)至25(非常清晰)

    可信度:基于提供的描述和其他細(xì)節(jié),文章有多大可能可信和實(shí)際上準(zhǔn)確?
        比例:1(不可信)至25(高度可信)

    參與潛力:文章吸引讀者的注意力或引起進(jìn)一步思考的可能性。
        比例:1(不參與)至25(非常吸引人)

    影響:本文的潛在社會(huì),技術(shù)或政治后果的重要性或影響力。
        比例:1(最小影響)至25(高影響力)

    為新聞文章提供100分的總分?jǐn)?shù),并為上述每個(gè)標(biāo)準(zhǔn)的分?jǐn)?shù)添加得分。

    您將評(píng)估很多新聞文章。因此,對(duì)他們進(jìn)行評(píng)分,以便我們以后可以對(duì)所有這些分類。

    ”“”
    提示_template = chatprompttemplate.from_messages([(“系統(tǒng)”,system_prompt),(“人”,“ {news}”)))

    
    #定義pydantic類以以結(jié)構(gòu)化格式獲取輸出。
   
    課堂新聞(基本模型):
        “”“新聞評(píng)分系統(tǒng)”“”
    
        total_score:int = field(description ='新聞文章的總分')
        
        來源:str = field(Description =“新聞的來源”)
        作者:可選[str] = field(default = none,description =“新聞的作者”)
        
        標(biāo)題:str = field(description =“新聞的標(biāo)題”)
        描述:str = field(描述=“新聞描述”)
        
        URL:str = field(description =“新聞的URL”)
        urltoimage:可選[str] = field(default = none,description =“新聞的圖像URL”)

    #GPT 4O在得分方面表現(xiàn)更好,但成本更高。
    gpt_4o = chatopenai(型號(hào)='gpt-4o',溫度= 0)
    structured_gpt = gpt_4o.with_structured_output(新聞)
    鏈=提示_template | structred_gpt
    
    #將每篇文章發(fā)送到LLM,以獲取其他細(xì)節(jié)。
    結(jié)果= [chain.Invoke({'news':artical})。文章中文章的dict()]

    #按總分對(duì)文章進(jìn)行排序。
    df = pd.dataframe(結(jié)果).sort_values(by ='tucter_score',accending = false)
    
    返回{“消息”:[humanMessage(content = df.to_dict(orient ='records'))]}}

該功能將狀態(tài)作為輸入,名稱為news_details。由于國家包含所有消息,我們可以訪問文章的最后一條消息。我們可以選擇從頂部獲得一些文章來節(jié)省成本。我們可以嘗試不同的系統(tǒng)提示來獲得最佳評(píng)分系統(tǒng)。

如果輸出為定義格式,則更容易處理數(shù)據(jù)。因此,我們可以將LLM與結(jié)構(gòu)化輸出一起使用,其中結(jié)構(gòu)是使用Pydantic類定義的。

然后,我們可以對(duì)每篇文章進(jìn)行評(píng)分并將其存儲(chǔ)在數(shù)據(jù)框架中。一旦我們使用總分?jǐn)?shù)對(duì)文章進(jìn)行排序,并將其添加為州的消息。

解釋

1。輸入

該函數(shù)將狀態(tài)對(duì)象作為輸入接收,其中包含所有消息。該州的最新信息持有新聞文章。為了最大程度地減少成本,我們可以限制文章的數(shù)量,而不是評(píng)分所有文章。

2。評(píng)分過程

我們?yōu)長LM提供了詳細(xì)的系統(tǒng)提示,并根據(jù)系統(tǒng)提示中給出的標(biāo)準(zhǔn)指示其對(duì)每篇文章進(jìn)行評(píng)分。

LLM根據(jù)系統(tǒng)提示中定義的標(biāo)準(zhǔn)評(píng)估每個(gè)文章,并分配100個(gè)總分,并增加每個(gè)標(biāo)準(zhǔn)的分?jǐn)?shù)。

3。結(jié)構(gòu)化輸出

為了確保輸出結(jié)構(gòu)化且易于處理,我們定義了Pydantic模型(新聞)。該模型包括``total_score'',`title` titled'',`description`和`rl''等字段。通過使用這種結(jié)構(gòu)化格式,LLM可以返回一致,組織良好的結(jié)果。

4。LLM集成

我們使用GPT-4O(以其在結(jié)構(gòu)化任務(wù)中的準(zhǔn)確性而聞名)來評(píng)分文章。發(fā)現(xiàn)在評(píng)估文章時(shí),GPT-4O比GPT-4O-Mini好。每篇文章都通過LLM傳遞,并使用Pydantic轉(zhuǎn)換為詞典格式。

5。排序和輸出

在評(píng)分了所有文章之后,我們將它們存儲(chǔ)在Pandas DataFrame中,以降序順序?qū)ζ溥M(jìn)行“ total_score”進(jìn)行排序。然后,我們可以將排序列表作為消息返回到州,準(zhǔn)備在工作流的下一部分中使用。

發(fā)送電子郵件

send_email功能列出了分類的新聞文章列表,生成了HTML電子郵件,并將其發(fā)送給收件人。

導(dǎo)入庫

導(dǎo)入SMTPLIB,SSL
導(dǎo)入基礎(chǔ)64
導(dǎo)入電子郵件

定義send_email功能

def send_email(sorted_news):
 
    #從國家的最后一條消息中獲取分類新聞。
    articles = sorted_news ['消息'] [ -  1] .content
    
    #如果News_article具有圖像,我們可以在電子郵件中顯示。
    news_items_html =“”
    對(duì)于文章中的文章[:10]:
        如果文章['urltoimage']不是沒有:
            news_items_html = f“”
            <div>
                <img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/174442792064130.jpg" class="lazy" alt="”">
                <div>
                    <h3> <a href="%E2%80%9C"> {actits ['title']} </a> </h3>
                    <p> {文章['description']} </p>
                </div>
            </div>
            ”“”
        別的:
            news_items_html = f“”
            <div>
                <div>
                    <h3> <a href="%E2%80%9C"> {actits ['title']} </a> </h3>
                    <p> {文章['description']} </p>
                </div>
            </div>
            ”“”
            
    #用于造型HTML消息的CSS。我們?cè)诖颂幪砑由厦娴摹?news_items_html”。
    html = f“”
        
        
            
                身體 {{
                    字體家庭:Arial,sans-serif;
                    背景色:#C4C4C4;
                    保證金:0;
                    填充:0;
                }}}
                。容器 {{
                    寬度:80%;
                    最大寬度:600px;
                    保證金:0自動(dòng);
                    背景色:#ffffff;
                    填充:20px;
                    盒子陰影:0 4PX 8PX RGBA(0,0,0,0.1);
                }}}
                h1 {{
                    文字平衡:中心;
                    顏色:#333;
                }}}
                .news-item {{{
                    顯示:Flex;
                    準(zhǔn)項(xiàng)目:中心;
                    正當(dāng):中間的空間;
                    邊界底:1px固體#EEEEE;
                    填充:15px 0;
                }}}
                .news-item h3 {{{
                    保證金:0;
                    字體大?。?6px;
                    顏色:#007BFF;
                    左鍵:5px;
                }}}
                .news-item p {{{
                    字體大?。?4px;
                    顏色:#666666;
                    保證金:5px 0;
                    左鍵:5px;
                }}}
                .news-item a {{{
                    顏色:#007BFF;
                    文本介紹:無;
                }}}
                .news-item img {{{
                    寬度:100px;
                    身高:100px;
                    對(duì)象擬合:封面;
                    邊界拉迪烏斯:8px;
                }}}
                。頁腳 {{
                    保證金頂:20px;
                    文字平衡:中心;
                    字體大?。?2px;
                    顏色:#999999;
                }}}
            
        
        
            <div>
                <h1>策劃的新聞</h1>
                {news_items_html}
                <div>
                    <p>這是您的個(gè)性化新聞通訊。</p>
                </div>
            </div>
        

以上是使用AI代理創(chuàng)建個(gè)性化的新聞?wù)脑敿?xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

從采用到優(yōu)勢(shì):2025年塑造企業(yè)LLM的10個(gè)趨勢(shì) 從采用到優(yōu)勢(shì):2025年塑造企業(yè)LLM的10個(gè)趨勢(shì) Jun 20, 2025 am 11:13 AM

以下是重塑企業(yè)AI景觀的十種引人注目的趨勢(shì)。對(duì)LLMSorganizations的財(cái)務(wù)承諾正在大大增加其在LLMS的投資,其中72%的人預(yù)計(jì)他們的支出今年會(huì)增加。目前,近40%a

AI投資者停滯不前? 3條購買,建造或與人工智能供應(yīng)商合作的戰(zhàn)略途徑 AI投資者停滯不前? 3條購買,建造或與人工智能供應(yīng)商合作的戰(zhàn)略途徑 Jul 02, 2025 am 11:13 AM

投資蓬勃發(fā)展,但僅資本還不夠。隨著估值的上升和獨(dú)特性的衰落,以AI為中心的風(fēng)險(xiǎn)投資的投資者必須做出關(guān)鍵決定:購買,建立或合作伙伴才能獲得優(yōu)勢(shì)?這是評(píng)估每個(gè)選項(xiàng)和PR的方法

生成AI的不可阻擋的增長(AI Outlook第1部分) 生成AI的不可阻擋的增長(AI Outlook第1部分) Jun 21, 2025 am 11:11 AM

披露:我的公司Tirias Research已向IBM,NVIDIA和本文提到的其他公司咨詢。Growth驅(qū)動(dòng)力的生成AI采用的激增比最樂觀的預(yù)測(cè)更具戲劇性。然后,

新蓋洛普?qǐng)?bào)告:AI文化準(zhǔn)備就緒需要新的心態(tài) 新蓋洛普?qǐng)?bào)告:AI文化準(zhǔn)備就緒需要新的心態(tài) Jun 19, 2025 am 11:16 AM

廣泛采用和情感準(zhǔn)備之間的差距揭示了人類如何與越來越多的數(shù)字伴侶互動(dòng)。我們正在進(jìn)入共存階段,算法編織到我們的日常現(xiàn)場

這些初創(chuàng)公司正在幫助企業(yè)出現(xiàn)在AI搜索摘要中 這些初創(chuàng)公司正在幫助企業(yè)出現(xiàn)在AI搜索摘要中 Jun 20, 2025 am 11:16 AM

由于AI,那些日子是編號(hào)的。根據(jù)一個(gè)螺柱,搜索企業(yè)諸如Travel網(wǎng)站皮劃艇和Edtech Company Chegg之類的企業(yè)正在下降,部分原因是60%的網(wǎng)站搜索不會(huì)導(dǎo)致用戶單擊任何鏈接。

AGI和AI超級(jí)智能將嚴(yán)重?fù)糁腥祟愄旎ò宓募僭O(shè)障礙 AGI和AI超級(jí)智能將嚴(yán)重?fù)糁腥祟愄旎ò宓募僭O(shè)障礙 Jul 04, 2025 am 11:10 AM

讓我們來談?wù)劇? 對(duì)創(chuàng)新AI突破的分析是我正在進(jìn)行的AI中正在進(jìn)行的福布斯列覆蓋的一部分,包括識(shí)別和解釋各種有影響力的AI復(fù)雜性(請(qǐng)參閱此處的鏈接)。 前往Agi和

思科在美國2025 思科在美國2025 Jun 19, 2025 am 11:10 AM

讓我們仔細(xì)研究一下我發(fā)現(xiàn)的最重要的東西,以及思科如何以其目前的努力來進(jìn)一步實(shí)現(xiàn)其野心。

構(gòu)建您的第一個(gè)LLM應(yīng)用程序:初學(xué)者的教程 構(gòu)建您的第一個(gè)LLM應(yīng)用程序:初學(xué)者的教程 Jun 24, 2025 am 10:13 AM

您是否曾經(jīng)嘗試過建立自己的大型語言模型(LLM)應(yīng)用程序?有沒有想過人們?nèi)绾翁岣咦约旱腖LM申請(qǐng)來提高生產(chǎn)率? LLM應(yīng)用程序已被證明在各個(gè)方面都有用

See all articles