Upgrade to Pro — share decks privately, control downloads, hide ads and more …

最新のAIツールは何を解決しようとしているのか - Python エンジニアが取り組むべき ...

最新のAIツールは何を解決しようとしているのか - Python エンジニアが取り組むべき "越境" とは - / Python-Engineer-in-AI-Era

ChatGPT の登場以来、AIの利活用が社会で進んでいます。早いもので、GPT-4の登場から1年半ほどが経ちました。商用のプロダクトにAIを投入する動きが本格したいま、AIを活用したシステムの開発や運用をサポートするエコシステムも進化を続けています。

本セッションでは、LangChain や Dify、LiteLLM といったAI関連のライブラリやツール、サービスが "何の課題を解決しようとしているのか" という点にスポットを当て、AIシステムを実際に運用している運用者の視点から、解説を行います。

また、プログラマ不要論も説かれる昨今、Pythonエンジニアがどのような課題に取り組むとよいか、という観点での話題提供を行います。

Takahiro Ikeuchi

October 17, 2024
Tweet

More Decks by Takahiro Ikeuchi

Other Decks in Technology

Transcript

  1. ⾃⼰紹介 - 池内 孝啓 ITベンチャー数社を経て、2011年3⽉に株式会社 ALBERTへ⼊社、2015年に執⾏役員として東証マ ザーズへのIPOを経験。2019年より現職。AIメン タルパートナー「アウェアファイ」の開発‧事業 責任者として、2020年5⽉にプロダクトをローン チ。2023年4⽉、

    「アウェアファイAI構想」を⽴ち 上げ。 Go や Dart/Flutter、TypeScript/React などを得 意とし、オープンソース‧ソフトウェア関係のコ ミュニティの⽴ち上げや運営にも関わる。著書 に、 『改訂版 Pythonユーザのための Jupyter[実 践]⼊⾨』 、 『これからはじめる SQL ⼊⾨』などが ある。 株式会社Awarefy 取締役CTO @iktakahiro
  2. Twitter Takahiro Ikeuchi / Awarefy CTO on Twitter / X

    Gamma により秒でスライドを完成させるぞ計画、⼀瞬で失敗に終わる。— Takahiro Ikeuchi / Awarefy CTO (@iktakahiro) October 16, 2024
  3. ⽤語の定義 AI OpenAI GPT-x シリーズを始めと する⼤規模⾔語モデル = LLM の 総称としてAIという⾔葉を⽤い

    ます。 AIアプリケーション AIの機能を組み込んだアプリケ ーションやサービス全般のこと を指します。 AI(アプリケーション開 発⽀援)ツール AIアプリケーションの開発や運 ⽤を⽀援するソフトウェア、サ ービス全般のことを指します。
  4. Awarefy Developers アウェアファイ AI コーチングの裏側 / GPT-4 + Claude 3

    … 概要 * AI メンタルヘルスアプリ Awarefy(以下、アウェアファイ) は、2024年4⽉9⽇に、 「AI コーチング」機能をリリースした * 「A… Amazon Web Services ⽣成 AI により、コーチング機能を実現。メンタルヘルス領… 「⼼の健康と成⻑を⽀えるデジタル‧メンタル‧プラットフォームを 実現する」をミッションに、AI メンタルパートナ […]
  5. AI API の利⽤には(思ったより)コストがかかる OpenAI や Anthropic 社の提供するAIを利⽤するには、公式、または Amazon Web Service、Microsoft

    Azure、Google Cloud といったクラウドベンダの提供するAPIを利⽤することが最も⼿軽です。 APIの利⽤にはトークン数に応じたコストがかかります。サービスの規模、⼊出⼒の量によるが、概ね無視 できないコストがかかります。 OpenAI 料⾦ シンプルでフレキシブル。使った分だけお⽀払い。
  6. AIのRate Limit RPM リクエスト数制限 1分間のAPI呼び出し回数の上限 TPM トークン数制限 1分間の処理トークン数の上限 AI APIを⻑期的に利⽤していると、時間帯によって応答性能が変動したり、サービスダウンが発⽣するこ

    とがわかります。また、APIやモデルごとに定められたリクエスト数やトークン数の上限を超えると、処理 を受け付けてもらえなくなります。これらの制約を考慮せずにAIアプリケーションを構築すると、単⼀障 害点を抱えたままサービスを運⽤することになってしまいます。そのため、AI APIの利⽤にあたっては、バ ックアッププランを⽤意しておくことが重要です。
  7. OSSとしてのLangChain LangChain はMITライセンスで公開されているOSSです。 プライマリの実装はPythonで⾏われています。TypeScript版の LangChain.js もあります。 GitHub GitHub - langchain-

    ai/ langchain: Į Build context- a… Į Build context- aware reasoning applications. Contribute to langchain- ai/ langchain development by creating an account on…
  8. LangChainを利⽤すると、異なるLLMであっても、統⼀的なインターフェースで扱えることが特徴です。 from langchain_core.messages import HumanMessage, SystemMessage messages = [ SystemMessage(content="ユーザーの⼊⼒する⽇本語のテキストを英語に翻訳してください"),

    HumanMessage(content="こんにちは!"), ] model.invoke(messages) # -> Hello! いっぽうで、単純にOpenAIのRESTFul API を利⽤するだけであれば、LangChainはオーバースペックであ る可能性があります(つづく →
  9. 公式Python SDKを利⽤した場合: from openai import OpenAI client = OpenAI() stream

    = client.chat.completions.create( model="gpt-4o", messages=[{"role": "user", "content": "こんにちは!"}], stream=True, ) for chunk in stream: if chunk.choices[0].delta.content is not None: print(chunk.choices[0].delta.content, end="")
  10. RESTFul APIを直接利⽤した場合: import httpx data = { "model": "gpt-4o", "messages":

    [{"role": "user", "content": "こんにちは!"}]} response = httpx.post(url, headers=headers, json=data) if response.status_code == 200: result = response.json() print("Response:", result['choices'][0]) else: print("Error:", response.status_code, response.text)
  11. Dify Difyは、AIアプリケーション開発を簡略化するオープンソースのプラットフォームです。 dify. ai Dify. AI · The Innovation Engine

    for Generative AI Applic… The next-gen development platform - Easily build and operate generative AI applications. Create Assistants API and GPTs…
  12. AIツールの実装⾔語 ツール 主な実装⾔語やフレームワーク LangChain Python, (TypeScript 版あり) Dify Python, FastAPI,

    TypeScript, Next.js LiteLLM Python, FastAPI LangFlow Python, FastAPI, TypeScript, React バックエンドは FastAPI、フロントエンドは React(Next.js)という構成が多い。
  13. Python エンジニアが取り組むべき "越境" とは AIの課題解決と新た な課題 AIはさまざまな課題解決を ⼤きく前進させてきました が、AI⾃体があらたな論点 や課題を⽣み出している。

    エンジニアの役割 そうした課題も含めて、引 き続き課題解決をしていく のがエンジニアの仕事では ないか。 AIツールの活⽤ LangChain やDifyなど、AI x Pythonのツールが⽣み出 されています。Python に 浸かるもよし、越境してス キルの幅を広げるもよし。