Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

関連タグで絞り込む (718)

タグの絞り込みを解除

pythonに関するclavierのブックマーク (1,427)

  • コンテナ形式のLambdaはPythonライブラリのimportが早いか検証してみる - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? AWS LambdaでWebアプリケーションを開発する場合、コールドスタートが課題になる事が多いです。特にpandasやboto3のような重いライブラリを利用する場合は、その影響は無視出来ないものになります。 このコールドスタートについては、ユーザー側で対策出来る事があまりなく、いつも悩みの種になるのですが、つい最近、コンテナ形式のLambdaのコールドスタートについて検証されている記事を読み、pandasやboto3をimportする場合はコンテナ形式のLambdaの方がzip形式のLambdaよりもコールドスタートが短いと言う結論に

    コンテナ形式のLambdaはPythonライブラリのimportが早いか検証してみる - Qiita
  • Pythonのパフォーマンス最適化Tips 必須知識 - Qiita

    Pythonコードのパフォーマンス最適化の総合ガイド Pythonは動的型付けのインタープリタ言語として、Cのような静的型付けのコンパイル言語と比較すると、実行速度が遅い場合があります。しかし、特定の技術と戦略を通じて、Pythonコードのパフォーマンスを大幅に向上させることができます。 この記事では、Pythonコードを最適化して、より高速かつ効率的に実行させる方法を探ります。Pythonのtimeitモジュールを利用して、コードの実行時間を正確に測定します。 注意: デフォルトでは、timeitモジュールはコードの実行を100万回繰り返して、測定結果の精度と安定性を確保します。 def print_hi(name): print(f'Hi, {name}') if __name__ == '__main__': # print_hi('leapcell')メソッドを実行する t = t

    Pythonのパフォーマンス最適化Tips 必須知識 - Qiita
  • 【Langgraph+FastAPI】LanggraphのAPI化の技術選定で苦戦した話

    はじめに MLエンジニアのふるです。今日は珍しく、MLエンジニアらしいAPI化の技術選定(笑)について話していこうと思います。 今回はLanggraphの説明の詳細は省き、LanggraphアプリをAPI提供する場合の技術選定について、困ったことを書いていこうと思います。 背景 Langgraphでは、LLMのマルチエージェントもしくはマルチワークフローを構築する際に、forループで出力する箇所があります。 for s in graph.stream( { "user_input": user_input, "messages": input_messages, "user_profile": user_profile, "question": question, "image_url": image_url }, { "recursion_limit": 30, } ): # (エージェ

    【Langgraph+FastAPI】LanggraphのAPI化の技術選定で苦戦した話
  • pytestを今更ながらまとめてみる

    はじめに 今年こそはダイエットを心に決めた、ノベルワークスのりょうちん(ryotech34)です。 cursorを使用してpytestでテストを書かせた際に、知らないデコレータなど知識不足が目についたので改めてpytestについてまとめてみました。 対象読者 pytestにあまり触れたことがない方 cursorで初めてpytestを使うよっていう方 今回話さないこと セットアップと基的な実行方法 unittestなどの別ライブラリとの比較 pytestとは pythonでテストコードを書く際に用いられる外部ライブラリです。 簡単なコードサンプル集は寺田さんの記事に詳しくまとめられていました。 今回は、 よく使う便利な機能 cursorに改めて指示しないと別のやり方で実行してしまう機能 をピックアップしました。 fixture fixtureとは、テストの前処理や後処理など「テストに必要な

    pytestを今更ながらまとめてみる
  • Python 3.13の新機能(その1) PEP 703: フリースレッドモード - python.jp

    2024年10月7日にリリースされたPython 3.13の概要を紹介します。 Python 3.13ではPythonのプログラミング言語としての仕様に大きな変更はありませんでしたが、将来のPythonの実行環境に大きな影響を与える、大きな変更が導入されました。 PEP 703: フリースレッドモード¶Python 3.13では、実験的な機能として、フリースレッドモードが導入されました。従来のPythonには、グローバルインタプリタロック(GIL)があり、マルチスレッドでのパフォーマンスが向上しないという問題がありました。フリースレッドモードは、この制約を解消し、マルチスレッドでのパフォーマンスを向上させることを目的としています。 フリースレッドモードについては、PEP 703 グローバル・インタプリタ・ロックをオプション化 で詳しく解説していますので、参照してください。 フリースレッド版

    Python 3.13の新機能(その1) PEP 703: フリースレッドモード - python.jp
  • FastAPI の Dependency Injection (Depends + Injector )

    はじめまして、株式会社 neoAI というところでソフトウェアエンジニアをしている Moriyasu といいます。 今回は弊社として初めてのソフトウェアのブログを担当させていただくことになりました。 さて、年末年始はみなさんいかがお過ごしでしたか? 僕は暇だったので、自社プロダクトを Flask から FastAPI に移行するコーディングをずっとやっていました。FastAPI を"完全に理解"したので、今回は FastAPI での Dependency Injection (依存性の注入) について解説します。 前提 今回出てくる技術について先にさらっておきます。 FastAPI: 高速でモダンな API を構築するための Python フレームワーク SQLAlchemy: PythonORM ライブラリ Injector: Python の Dependency Injecti

    FastAPI の Dependency Injection (Depends + Injector )
  • Pythonの非同期処理: これだけは知っておきたい! - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Pythonコルーチンの開発プロセスと新旧コルーチンの深層分析 1. Pythonコルーチンの歴史的進化 Pythonの長い開発の歴史を通じて、コルーチンの実装はいくつかの大きな変更を経てきました。これらの変更を理解することは、Pythonの非同期プログラミングの質をよりよく把握するのに役立ちます。 1.1 初期の探索と基機能の導入 Python 2.5:このバージョンでは、ジェネレータに.send()、.throw()、.close()メソッドが導入されました。これらのメソッドの登場により、ジェネレータは単なるイテレータ以上のもの

    Pythonの非同期処理: これだけは知っておきたい! - Qiita
  • Pydantic入門 – Pythonでシンプルかつ強力なバリデーションを始めよう - Qiita

    はじめに この記事では、PythonのデータバリデーションライブラリであるPydanticを使って、簡単にかつ強力にデータのバリデーションを行う方法を解説します。 今回はGoogle Colab上でハンズオン形式で進めていきますので、ブラウザさえあれば実行環境を整えるのも簡単です。 1. Pydanticとは? データのバリデーションや型の宣言を簡単に行えるPythonライブラリ Pythonの型ヒント(type hints)を活用して、データ構造の定義と検証を同時に実現 FastAPIなどの人気フレームワークでも広く採用されており、API開発・プロジェクト構成などで非常に便利 Pydanticを使うと、辞書やJSONで受け取ったデータが正しい形式になっているかどうかをPythonicに検証できるようになります。データの整合性を保つために煩雑なチェックを書かなくてよくなるので、とてもおすす

    Pydantic入門 – Pythonでシンプルかつ強力なバリデーションを始めよう - Qiita
  • 【Streamlit検証】重い処理を含む際のキビキビした動作の実現(st.fragment) - Qiita

    はじめに StreamlitUI 操作の度にコードの再実行が走ることを特徴としています。これによりセッション状態の管理などが大幅に軽減されるのですが、重い処理がある場合に UX の低下を招きかねません。 実際私も下図のように、重い処理を含む際のセレクトボックス操作でよく重たい印象を与える処理を記述してしまいがちです。 上図の Playground そこで Streamlit は、キャッシュやセッション状態管理、フォーム、特定の関数のみの再実行など多様な機能を提供しています。 というわけで個人的に長年の悩みだったので、いくつかのパターンで検証してみます。 結論 個人的には比較的新しい機能であり特定の関数のみ再実行できる st.fragment が実装も簡単で、理解もしやすかったです。 上図の Playground 検証 検証コード(ベース)😑 それでは最初に示した重い実装からみていき

    【Streamlit検証】重い処理を含む際のキビキビした動作の実現(st.fragment) - Qiita
  • Pythonの組み込み型にlenメソッドはなくて、長さを知るときにlen関数を使うのはなぜ? Guido氏の意向に迫る - nikkie-ftnextの日記

    Python歴史が長いので、色々な方がその理由を解説されていますが、私も自分の言葉で説明したくなったので一書きます。 その理由は、生みの親(かつての慈悲深き終身独裁者)Guido氏の意向です。 Guido氏の考えを覗きに行きましょう。 目次 目次 デザインと歴史 FAQ Guido氏のメール 1つ目:Human Computer Interaction(HCI)から 2つ目:特殊メソッドの命名規約から 参考文献(先人に感謝) Guido氏の意向の理解まとめ P.S. Pythonに飼い慣らされたnikkieは デザインと歴史 FAQ 公式ドキュメントの中にはFAQのページがあります。 その中に表題の疑問にズバリな項があります! Python にメソッドを使う機能 (list.index() 等) と関数を使う機能 (len(list) 等) があるのはなぜですか? なんでlist.in

    Pythonの組み込み型にlenメソッドはなくて、長さを知るときにlen関数を使うのはなぜ? Guido氏の意向に迫る - nikkie-ftnextの日記
  • OSSなPython製ETLライブラリ「dlt」の紹介

    dbt アドベントカレンダー 2024 11日目の記事です。 前置き 普段はdbt Cloudを使っていて、Google Cloud に BigQueryとLookerStudio な技術スタックで社内のデータ基盤を構築・運用しています。 データ基盤で扱うSourceの拡充をするため、ETL/ELT ツールをいくつも試してたどり着いたのが、dltというツールです。 世間では非エンジニアでも画面上でポチポチ設定をしていくだけで、簡単にELT パイプラインが構築できるサービスを使われている話をよく聞きます。エンジニアのいない組織でも、すぐに各種データを収集して分析を始められる点では重宝されるのでしょう。しかしながら、チームメンバーがエンジニア主体の我々にとって、コスト感覚がマッチしなかった、というのが正直なところです。(私だけ?) 各種SaaSのAPIDB接続をイチから用意してELTパイプラ

    OSSなPython製ETLライブラリ「dlt」の紹介
  • browser-useによるブラウザ操作自動化のサンプル集

    はじめに browser-use を使う上で詳しいドキュメントがなかったので、自分で使ってみたことをまとめてみました。 browser-use の基礎的なところは以下にまとめてあります。 ブラウザを起動させず、ヘッドレスモードで実行したい BrowserConfigのheadlessをTrueにすることで、ブラウザを起動させず、ヘッドレスモードで実行することができます。 from browser_use.browser.browser import Browser, BrowserConfig browser = Browser( config=BrowserConfig( headless=True, ) ) async def main(): model = ChatOpenAI(model='gpt-4o') agent = Agent( task='東京の天気をGoogleで調べて

    browser-useによるブラウザ操作自動化のサンプル集
  • Pythonデータ分析のためのDuckDB(組み込み用途のOLAP系のRDBMS)

    データがSQL対応のDB(データベース)に格納されている場合、SQLを使いデータを取得し操作することが多いことでしょう。 Python上ではPandasやPolarを使うかもしれませんが、SQLを利用したほうが便利な場面も少なくありません。 そこで登場するのがDuckDBです。 DuckDBは、インプロセス(例えば、Python内駆動)で動作するRDBMS(リレーショナルデータベース管理システム) で、指示を送信するクライアントもそれらを読み取って処理するサーバーも必要ありません。 そこが、PostgreSQLMySQLなどの通常のRDBMSとの大きな違いです。 また、オンライン分析処理 (OLAP) 系のRDBMSのため、データ分析に適しています。 要するに、DuckDBは「組み込み用途のOLAP系のRDBMS」ということです。 似たようなものに、SQLiteというものがありますが遅速

    Pythonデータ分析のためのDuckDB(組み込み用途のOLAP系のRDBMS)
  • browser-useの基礎理解

    はじめに 最近話題になっている browser-use について自己理解のために基的なところをまとめてみます。 公式リポジトリはこちら browser-use とは? browser-use は、Python で作られた「AI エージェントがウェブブラウザを操作できるようにする」ためのライブラリです。具体的には、下記のような機能を提供しています。 ビジョン機能や HTML 抽出 ブラウザで読み込んだページの DOM(要素構造)を解析、スクリーンショットやテキスト情報を取得できます。 マルチタブ管理 自動で複数タブを開き、それぞれのタブを並行して操作できます。 カスタムアクション機能 たとえば「特定のファイルを保存」「データベースへ登録」「社内チャットに通知する」など、ユーザー独自のアクションを定義できます。 自己修正機能 操作が失敗したり、要素を見つけられなかったりした場合に、自分で修正

    browser-useの基礎理解
  • 型安全かつシンプルなAgentフレームワーク「PydanticAI」の実装を解剖する - ABEJA Tech Blog

    はじめに こちらはABEJAアドベントカレンダー2024 12日目の記事です。 こんにちは、ABEJAでデータサイエンティストをしている坂元です。最近はLLMでアプローチしようとしていたことがよくよく検証してみるとLLMでは難しいことが分かり急遽CVのあらゆるモデルとレガシーな画像処理をこれでもかというくらい詰め込んだパイプラインを実装することになった案件を経験して、LLMでは難しそうなことをLLM以外のアプローチでこなせるだけの引き出しとスキルはDSとしてやはり身に付けておくべきだなと思うなどしています(LLMにやらせようとしていることは大抵難しいことなので切り替えはそこそこ大変)。 とはいうものの、Agentの普及によってより複雑かつ高度な推論も出来るようになってきています。弊社の社内外のプロジェクト状況を見ていても最近では単純なRAG案件は減りつつあり、計画からアクションの実行、結果

    型安全かつシンプルなAgentフレームワーク「PydanticAI」の実装を解剖する - ABEJA Tech Blog
  • 【初心者必見】Python中級者になるためのテクニック29選 - Qiita

    はじめに Pythonは習得が容易な言語として知られていますが、格的な開発では初心者レベルの知識だけでは対応できない場面が多々あります。この記事では、Python中級者になるために押さえておくべき29個のテクニックを、重要度別に解説していきます。基文法は理解しているものの、さらなるステップアップを目指すプログラマーにとって、必読の内容となっています。 これらのテクニックを習得することで、より効率的で保守性の高いコードが書けるようになり、実務レベルのPythonプログラミングに対応できるようになるでしょう。

  • GitHub - microsoft/markitdown: Python tool for converting files and office documents to Markdown.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - microsoft/markitdown: Python tool for converting files and office documents to Markdown.
  • [Pythonクイズ]このリスト内包表記、for文に書き下せますか?

    どうもHPかわさきです。Pythonistaなら使いたいですよね、内包表記。と思っていたのですが、どうもそうでもないこともあるようです。 先日の編集会議で、普段はRubyをメインに使っていて、たまにはPythonも使うよって人から「え? 内包表記? そんなによく使うの?」みたいなコメントをもらったんですよね。彼は筆者よりもプログラミングのスキルは高いし、使っている言語もたくさん、アイデアもあふれているしと、そりゃーもう素晴らしいプログラマー。そんな彼からそんな言葉を聞くとはちょっと意外だったのです。 でもよく考えてみると、他の言語でたくさんの経験があるプログラマーがちょこっとしたことをやりたいときに、(便利そうなフレームワークがたくさんあるという理由で)Pythonを手にしたらどうなんでしょう。Pythonに特有の内包表記なんて使わないで、これまでに自分が身に付けてきた知識と経験を基にした

    [Pythonクイズ]このリスト内包表記、for文に書き下せますか?
  • Pythonを使った一元配置分散分析(ANOVA)で統計解析

    はじめに こんにちは、D2Cデータサイエンティストの郷原です。 データ分析を行う際に、aとbとcの平均値を比較してaが一番大きかったけど、これは他の二つと比べて有意な差があると言えるのだろうか? こんな疑問を持ったことはないでしょうか? 上記のような疑問を統計的に検証することができるのが分散分析(ANOVA)です。 記事では、1つの因子による平均値の差を分析する「一元配置分散分析」について、Pythonを使って試してみようと思います。 一元配置分散分析とは 一元配置分散分析(ANOVA, Analysis of Variance)は、複数のグループの平均値を比較し、それらの違いが偶然なのか、それとも統計的に意味があるのかを検証するための手法です。この手法を使えば、「ある要因が結果に影響を与えているかどうか」を分析することができます。 例えば、異なる肥料を使った場合の植物の成長を比較すると

    Pythonを使った一元配置分散分析(ANOVA)で統計解析
  • Python アプリケーションのパフォーマンス調査に便利な Cloud Profiler の結果を見るコツ - GO Tech Blog

    この記事はGO Inc. Advent Calendar 2024 14日目の記事です。 こんにちは。AI技術開発部の牧瀬です。 Python アプリケーションのパフォーマンスチューニングに使えるプロファイラはいくつかありますが、番環境でも使えるものとして Google Cloud Profiler があります。 記事では様々なサンプルコードで Cloud Profiler の挙動を確認し、結果の読み方について注意点やコツをお伝えします。 概要 Google Cloud では Cloud Profiler というものが提供されており、 Go, Python, Java, Node.js などのプログラムのプロファイリングを簡単に行うことができます。 対象のプログラムは Google Cloud 上で動作しているものに限らず、他のクラウド上で動作しているプログラムや、ローカルマシン上で実

    Python アプリケーションのパフォーマンス調査に便利な Cloud Profiler の結果を見るコツ - GO Tech Blog